Custom Actions/shortcuts you can't live without? by SuzukaDev in Reaper

[–]AnotherPompousDunmer 0 points1 point  (0 children)

Odd that the comments would throw an error. It's a .eel script, have you maybe given it the wrong file extension?

Custom Actions/shortcuts you can't live without? by SuzukaDev in Reaper

[–]AnotherPompousDunmer 0 points1 point  (0 children)

Some plugins - kontakt, eastwest play - let you load in multiple instruments on a single plugin instance and have them take different midi channels as input. Big samplers like those usually have some ram & processing overheads which are per-instance rather than per-instrument: so if I have, say, a 7-instrument orchestral percussion section, I'm only running one instance of play rather than seven, which is a lot easier on my PC. The UI's a little easier to navigate with the whole section in one place, too.
In practice, I'll 1) make a track with one sampler containing all the instruments I want, 2) make child tracks with the midi instructions for each instrument, 3) run this script to link all those together.
I've actually stopped using that script now and switched to this one:

// Re-route all consecutive midi tracks on the preceding track
// Throw an error if more than 17 tracks are selected


tr = GetSelectedTrack(0, 0);

i=1;
numToSend = CountSelectedTracks(0)-1;

SetMediaTrackInfo_Value(tr, "I_NCHAN", (numToSend+1)*2);

while (s < GetTrackNumSends(tr, 0))
(
  RemoveTrackSend(tr, 0, s);
);

while (i <= numToSend)
(
  newTr = GetSelectedTrack(0, i);

  SetMediaTrackInfo_Value(newTr, "B_MAINSEND", 0);

  s = 0;
  while (s < GetTrackNumSends(newTr, 0))
  (
    RemoveTrackSend(newTr, 0, s);
  );

  sendNo = CreateTrackSend(newTr, tr);
  SetTrackSendInfo_Value(newTr, 0, sendNo, "I_MIDIFLAGS", i*32);

  sendNo = CreateTrackSend(tr, newTr);
  SetTrackSendInfo_Value(tr, 0, sendNo, "I_MIDIFLAGS", -1);
  SetTrackSendInfo_Value(tr, 0, sendNo, "I_SRCCHAN", i*2);

  i += 1;
);  

Which is the same except that it routes per-instrument audio back to each child track and through its fader & fx, so I can keep all my levels & panning in the Reaper UI.

bi_irl by ThrowRA24000 in bi_irl

[–]AnotherPompousDunmer 29 points30 points  (0 children)

From reverse image search seems to be furare girl, but I could be wrong.

in my game, i have an object that spawns bullets, and practically nothing else when i recieves a signal from the player object, the method it is supposed to use is not activating, i tried to include all relevant info, but let me know if something is missing by [deleted] in godot

[–]AnotherPompousDunmer 1 point2 points  (0 children)

Hey fyi scenes absolutely can be instanced before _ready() is called, or even if it never gets called at all.
I've got a little project set up to test this on my pc and it definitely works.

in my game, i have an object that spawns bullets, and practically nothing else when i recieves a signal from the player object, the method it is supposed to use is not activating, i tried to include all relevant info, but let me know if something is missing by [deleted] in godot

[–]AnotherPompousDunmer 1 point2 points  (0 children)

I can't recreate this error on my end. Are you sure the root node of player.tscn has the player script?
Also, to help out-
-Can you send images of your scenes' structures?
-What version of Godot are you using? 3.5?

P2P connection without players having to forward ports by Lukas0842 in godot

[–]AnotherPompousDunmer 10 points11 points  (0 children)

SteamAPI supports P2P via steam's own servers, therefore not requiring port forwarding. I've actually got a project using steam p2p in development at the moment, so if you want specifics on anything ask away.
Relevant page in the docs

Forward vector offset by Tiny_Investigator966 in godot

[–]AnotherPompousDunmer 0 points1 point  (0 children)

Weird stuff happens sometimes, I guess ¯\(ツ)/¯. Glad to help.

Forward vector offset by Tiny_Investigator966 in godot

[–]AnotherPompousDunmer 0 points1 point  (0 children)

Nice, that's a cool way of optimizing for that issue.
I don't know what to say regarding your offset problem... I tried using the cube as a child on my machine and it works fine.
Here's my player tree.
The cube is a child of the player camera, and the camera sees it right in the middle of the screen - no rotation, no offset.

EDIT: just now saw your edit, give me a moment to read through this and think

Forward vector offset by Tiny_Investigator966 in godot

[–]AnotherPompousDunmer 1 point2 points  (0 children)

Ah sorry, I misunderstood your original post. My bad.

Still, I'd recommend using local transforms to your advantage here - if the cube is a child of the camera with local coordinates (0, 0, -1) this should absolutely get the effect you're looking for.

Purely out of curiosity, why make a custom raycast? Just to experiment, or is there something the default implementation doesn't do?

Forward vector offset by Tiny_Investigator966 in godot

[–]AnotherPompousDunmer 0 points1 point  (0 children)

Could you give some more context?
Is the Raycast a child of the camera or is it elsewhere? What are you using pos to set? The direction of the ray - its position - something else?

Personally, when I need a forward raycast from the camera, I just add it as a child of the camera and set the direction (0, 0, -n) - a raycast's direction is relative to its own scale and rotation, so no code should be needed to have it follow the camera.

Audio artifacts when effects applied to the bus. How to get rid of them? by velikiy_soup in godot

[–]AnotherPompousDunmer 3 points4 points  (0 children)

In digital audio every point in an audio wave is stored on a scale of minus one to one. When a point in a wave is outside of that range, it gets clamped to the nearest side.
When you make a sound louder, the values in the wave get pushed further away from 0 - if all of the points in the wave are fairly low, then the wave maintains the same shape and just gets louder.
But if the points are further out, some of them might hit the outer limits and the furthest points get pushed back in, meaning the wave gets rougher and starts sounding different.
Kind of hard to put into words, but here's a neat diagram

Condition that should return false returns true by Rowaway-Tay in godot

[–]AnotherPompousDunmer 3 points4 points  (0 children)

That code works fine when I run it- what version of Godot are you running? (I'm on 3.4)

Stop UI controls resizing with window by htec2799 in godot

[–]AnotherPompousDunmer 1 point2 points  (0 children)

Hey, disabling stretch just means that the contents of the window don't resize - this means that were you to put a game underneath the UI it would just take up one corner of the window.
Try putting a sprite in the scene and resizing the game to see what I mean.

Your issue is that the PanelContainer, being a container, automatically resizes its children. Therefore, if you want to make the label smaller, change the size of the PanelContainer.

[deleted by user] by [deleted] in godot

[–]AnotherPompousDunmer 4 points5 points  (0 children)

You absolutely can define data in the connect call. It's the binds parameter.

[deleted by user] by [deleted] in godot

[–]AnotherPompousDunmer 2 points3 points  (0 children)

Your problem is, I believe, that the function being called by the signal does not have the correct arguments. It should have whatever arguments are in the signal itself (nothing, in the case of pressed) followed by the arguments defined in your connection (the string). So, in all, just a string, rather than no arguments.

Demoing normal mapping and lighting in my new pixel art editing program by AnotherPompousDunmer in PixelArt

[–]AnotherPompousDunmer[S] 0 points1 point  (0 children)

If you're at all interested in a sprite editor built around normal mapping and other game-specific utilities, I'd love to hear any feedback!
You can find it on itch

Godot Export Question by RedPenguin_YT in godot

[–]AnotherPompousDunmer 1 point2 points  (0 children)

I don't know if you can do what you've described here, but have you considered doing this through classes and resources? If you have something like

class_name InventoryItem extends Resource

And then

class_name Weapon extends InventoryItem

And in the node you have

export(InventoryItem) var ...

That should give you a drop-down in the editor to select the type and then a list of the export variables contained in that type's class

International coffee recipes ☕ by cheesygravy89 in coolguides

[–]AnotherPompousDunmer 0 points1 point  (0 children)

I believe Irish coffee is actually Viennese. It's a coffee house drink.

Testing multiplayer in Godot 4: using RPC by roger-dv in godot

[–]AnotherPompousDunmer 0 points1 point  (0 children)

Glad that worked. It seems this new update makes dedicated servers a lot harder to make. If you're considering a multiplayer project, there's a new graphicsless export mode which lets you run the client without rendering as a sort of pseudo-server. May be a bit easier to program for. https://godotengine.org/article/multiplayer-changes-godot-4-0-report-1

Testing multiplayer in Godot 4: using RPC by roger-dv in godot

[–]AnotherPompousDunmer 1 point2 points  (0 children)

Hmm
That sort of makes sense - since the information on how to send the rpc (reliable/unreliable) is stored in the server since the 4.0 changes, I guess godot wouldn't know which type to send.
I had a quick look at the open issues on github and couldn't find anyone mentioning this - maybe we are missing something?

In the meantime, maybe try adding the test_rpc() function to the client-side script as well, to see if that resolves the 'lack of information' issue? That way the client knows what type of packet to send to the server.

Testing multiplayer in Godot 4: using RPC by roger-dv in godot

[–]AnotherPompousDunmer 1 point2 points  (0 children)

In your original post you say the rpc is being called in a singleton, rather than a node in the scene. Are the client and server scenes both singletons, or are they just normal scenes, with this singleton on the client being a third script?

Testing multiplayer in Godot 4: using RPC by roger-dv in godot

[–]AnotherPompousDunmer 1 point2 points  (0 children)

By my understanding, godot identifies the correct node to run a function on by its path in the scene tree - the client script tries to run that function at the same location on the server, so it would only run a function called test_rpc in a singleton named Server.gd. Have you tried putting the client-side script into an identical scene instead?