Skip to content

Conversation

@atsushieno
Copy link

I had been trying to build ADLplug/OPNplug on my M2 mac and managed to get it working, so I would share it here.

There was a drawback in the change set though; midi_keyboard_ex.h/.cc does not compile with the latest clang++ from Xcode toolchains (it fails to resolve the class name at JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR). Looks like it is required only to reduce juce_audio_utils, so I only removed the hack around (ex namespace) and simply added the module to the build as I don't see the reason why it had better be cut. If there is any way to preserve it to still compile fine, then I would bring it back, I do not stick to it.

@Wohlstand
Copy link

Thanks!
I took some look, and seems fine.

@Wohlstand
Copy link

Wohlstand commented Oct 12, 2023

However, I can't merge, @jpcima didn't gave me a permission to this repo, and now I can't contact him: he seems disappeared for a while... (After September 2022, he disappeared)

@Wohlstand
Copy link

Wohlstand commented Oct 12, 2023

I guess, I'll fork this repo to apply/receive fixes until the wonder happens and @jpcima comes back.

@atsushieno
Copy link
Author

I have my own fork with a handful of improvements and migrations to JUCE7 there. If it's looking easier to maintain I can give you write access and do whatever that does not cost (much). https://github.com/atsushieno/ADLplug-AE/

@Wohlstand
Copy link

Hello!
Sorry for no responce for a while, I made a fork too https://github.com/Wohlstand/ADLplug, and I trying to apply recent updates from my backends to this one. I could take a look to take updates from your fork too if something nifty was done.

@Wohlstand
Copy link

Wohlstand commented May 26, 2025

Anyway, as I am not so experienced in JUCE, I would need some hints at first on how to apply some tweaks like adding UI elements to existing forms, etc. For example, recently I added "channel allocations mode" option that exists on libADLMIDI and libOPNMIDI for a while but it was never binded to ADLPlug until recent time, and I trying to implement that.

@atsushieno
Copy link
Author

I'm neither familiar with juce_gui_basics much (I am one who wants to have it totally eliminated as it's quite insufficient to support international text inputs on Linux) nor ADLplug codebase itself, but looks like those main_component sources contain existing stuff like volume_model, so you can follow how it is handled and add new components. You'd need layout adjustments for any new UI elements.

@atsushieno
Copy link
Author

You can take whatever changes I made to ADLplug-AE, but especially it is NOT backward compatible with ADLplug in terms of how it deals with LV2 parameters etc. which means the plugin state data is essentially incompatible. ADLplug-AE is based on the official JUCE way (also conforms to the best practices from LV2 officials like it's based on Atom) rather than the traditional JUCE LV2 fork.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants