Cycling74 / RNBOMetasound

RNBO adapter that implements metasound nodes
MIT License
42 stars 2 forks source link

Metasounds node does not appear #42

Closed eyesack closed 9 months ago

eyesack commented 9 months ago

I seem to be unable to turn my RNBO patch into a Metasounds node despite following all the steps laid out in the docs:

-export RNBO patch to C++ source code -create Plugins folder inside Unreal Engine 5.3 C++ project folder -put RNBOMetasounds repository in Plugins folder -create Exports folder inside RNBOMetasounds folder -put exported RNBO patch C++ source code in its own folder in the Exports folder -Package Project in UE5 Editor, build the project in Xcode

But for some reason, my RNBO patch still does not show up as a Metasounds node in my project. Am I missing an obvious step? Are there export or build options that would interfere with this?

I can import the RNBO patches from the demo project just fine, and the Make Note and MIDI Merge nodes do show up, indicating that it might be something with my patch — but even with a dirt simple patch I can't seem to get it to appear. What is happening here?

jinpavg commented 9 months ago

Hey @eyesack, thank you for reaching out here. That's good to know that all the other RNBO nodes show up, helps us sort out what the issue might be. Do you see any errors in Xcode when you are building? What about in the UE output log when you start up the project?

Could you send me a screenshot of the directory structure of your Plugins folder, including the stuff you export from RNBO?

And also a screenshot of what you see in the Metasound editor when you right-click and type "RNBO" ?

eyesack commented 9 months ago

Thanks for your help! I don't see any errors in Xcode:

image

And here is the folder structure:

image

And here's what happens when I right-click and type "rnbo":

image

However, the MIDI Merge and Make Note functions do appear. If I copy the "RNBOMetasound" plugin folder wholesale into my project, the demo Metasounds nodes (FeedbackSynth, etc.) do appear. But I can't seem to build a node on my own.

Here's a screenshot of the RNBO patch I'm using to test and the export options:

image

And here's a "missing modules" dialog that I get when I open the project for the first time after I add the RNBO plugin and RNBO patch exports. I only see this message the first time, and not subsequent times I open the project:

image

And this is the only obvious error I see in the UE output log:

LogAudioMixerAudioUnit: Warning: Error querying Sample Rate: 2003332927

jinpavg commented 9 months ago

Hi @eyesack, thank you for all of this. Could I ask you to try a couple things?

  1. I think I know the answer, but just to make sure -- have you ever tried building with ONLY your own exported patches in Exports/? If not, could you try to do a build without the other patches from the demo project?
  2. Alternatively, another thing to try is -- could you delete the /rnbo directory from inside of each of the exported patcher folders except for whichever one you most recently exported? Like, for example, you delete Plugins/RNBOMetasound/Exports/FeedbackSynth/rnbo but leave Plugins/RNBOMetasound/Exports/sawTest/rnbo.

I'm curious if we getting a situation here with a conflict from using different versions of RNBO, since I likely made those example nodes using an older version of RNBO than you are using now.

To that point -- could you share your Max/RNBO support info? From the "About Max" window, press "Copy support information to clipboard."

eyesack commented 9 months ago

Hi @jinpavg, I tried building with just my exported patch using a fresh project and still nothing, unfortunately!

image

image

I did notice this warning in the UE output log when packaging the project, but I'm guessing this is pretty routine?

UATHelper: Packaging (Mac): /Users/ischankler/Documents/Unreal Projects/rnboAgain02262024/Plugins/RNBOMetasound/Exports/sawTest/sawTest.cpp:1966:18: warning: implicit conversion turns floating-point number into integer: 'number' (aka 'double') to 'Index' (aka 'unsigned long') [-Wfloat-conversion]

eyesack commented 9 months ago

Here's my Max/RNBO support info:

`{ "version" : "Version 8.6.1 (b9925cf828e) (arm64 mac)", "platform" : "mac", "arch" : "arm64", "osversion" : "Mac OS X Version 13.6.4 (Build 22G513) arm64", "samplerate" : 44100, "iovs" : 512, "sigvs" : 512, "scheduler_in_audio_interrupt" : "on", "audio_drivername" : "Core Audio", "audio_driver_subname" : "", "license" : "permanent full", "machine_id" : "442db9beb3a82b80a75111f308d737c8", "addons" : { "rnbo_v1" : "full license" } , "eventinterval" : 2, "schedinterval" : 1.0, "overdrive" : "on", "pollthrottle" : 40, "queuethrottle" : 100, "sysqelemthrottle" : 1000, "refreshrate" : 30.0, "schedslop" : 25.0, "eventprobing" : 0, "mixerparallel" : "off", "mixercrossfade" : 0, "mixerlatency" : 30.0, "mixerramptime" : 10.0, "videoengine" : "avf", "gfxengine" : "glcore", "packages" : { "BEAP" : "1.0.4", "CNMAT Externals" : "1.0.5", "FluidCorpusManipulation" : "1.0.6", "gl3" : "0.3.3", "hap" : "1.0.6", "jit.mo" : "1.1.6", "Jitter Tools" : "1.0.10", "Max for Live" : "1.0.9", "max-mxj" : "8.2.0", "maxforlive-elements" : "1.0.10", "Mira" : "1.2.1", "nn_tilde" : "", "Node for Max" : "2.1.3", "RNBO" : "1.2.4", "VIDDLL" : "1.2.8", "Vizzie" : "2.2.2" }

}`

jinpavg commented 9 months ago

Thank you... one more set of requests --

  1. I see you are on macOS 13.6.4, could you also share your XCode version?
  2. Are you running UE 5.3.2?
  3. Are you on the main branch of this RNBOMetasound repo?

And finally, would you mind attaching that minimal UE project and the sawTest RNBO patcher? I'd like to try to reproduce your experience as closely as possible! We'll get to the bottom of this...

eyesack commented 9 months ago
  1. Xcode is Version 15.2 (15C500b)
  2. Yes, I'm running UE 5.3.2
  3. Yes I'm on the main branch of RNBOMetasound

Here's the UE project folder pre-build including the RNBO patch: https://we.tl/t-KLJoz1dYfH

Post-build the project folder balloons to 3.57 GB (!) but let me know if you'd like to see that too. Thanks for your help and patience!

jinpavg commented 9 months ago

Okay... so good news / bad news ...

your project and plugin do build for me!

image
jinpavg commented 9 months ago

Here's what I did, see if anything pops out for you:

  1. downloaded your project
  2. deleted the contents of several folders (to remove references to your local machine): Binaries/, Build/, Intermediate/, Saved/
  3. opened a terminal window in your project's directory and ran this script:
sh /Users/Shared/Epic\ Games/UE_5.3/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh -project="path/to/your/rnboBlank02272024.uproject" -game
  1. opened up Xcode via the (Mac) version of the generated workspace
  2. built the rnboBlank02272024Editor target
  3. opened up a new Metasound Source
  4. typed "rnbo" in the new node picker
  5. chose "sawTest" and hooked it up
jinpavg commented 9 months ago

a few small differences to your setup -- I'm on Sonoma 14.2, using Xcode 15.1.

~I'm going to update to Xcode 15.2 and see if there is any issue. But let me know if anything about my above comment sparks anything for you.~

Edit: Xcode 15.2 works for me as well!

jinpavg commented 9 months ago

Perhaps you could similarly walk me through the steps of how you are building your project+plugin with xcode?

jinpavg commented 9 months ago

okay, taking another look at your original screenshot:

image

I'm wondering which target you are selecting to build from Xcode? I think the one that you want should be <name of your project>Editor ...

eyesack commented 9 months ago

Yep, I had the wrong build target selected. Changing it to <name of project>Editor made it work. I feel extremely silly, but thank you so much for patiently walking me through this. Excited to dig into it further.

jinpavg commented 8 months ago

Don't feel silly! You are so welcome, glad to help.