surge-synthesizer / monique-monosynth

Monique monosynth

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

publish monique on Flathub?

gozes opened this issue · comments

I would be great if monique was distributed on flathub so that it could be easily installed on any Linux distro.

would it be possible to have this package as flatpak insed of a zip?

https://docs.flathub.org/docs/category/for-app-authors

commented

@hfiguiere kindly published surge proper to flat hub. Perhaps he could do same here? Monique is not as developed as surge proper; we did a port once the source was open sourced to make it work but have a list of maintenance items still which could have some TLC applied.

How have you found the flatpak plugin experience? I thought, other than bitwig, it could be a bit challenging for daws to find flatpak vst3s and the like?

commented

https://github.com/flathub/org.surge_synth_team.surge-xt

there's surge-xt - while I haven't used flatpak and don't know how to test it, perusing those files it seems like the monique build would be similar, if not easier, than that.

Another benefit of having it in Flathub is that you can then. Loaded into the Ardour version from Flathub. As a side bonus you can then also do that on the steam deck which kind of cool to have a full DAW + Monique on the steam deck.

There is no release.

Flathub has a policy about publishing released software

(I already have a package, just waiting for a release to submit it)

commented

Oh gotcha. So I would need to find a moment in git history to tag it with some official tag and then it would all just work? Is it anything other than making a tag like "v2.7.4" in git and letting you know here? (Well and having the software be release ready of course :) )

Thanks so much for quick responses!

I have a draft submission for Monique at flathub/flathub#4675

It's waiting for a release.

Did you include the lv2 plugin in the flatpak build and make it accessible to other flatpaks? If you didn't then you may want to consider doing it. Having it as an lv2 as well means that plugin host like Ardour flatpak can find it and use it from inside Ardour like they would use any other lv2 plugin

It currently only build the VST3 (in addition to the standalone). It work with Ardour.

Great so I guess all it's needed is a tag release then?

I'll add CLAP soon, but LV2 build fails as juce_lv2_helper crashes.

Program received signal SIGSEGV, Segmentation fault.
resize_component_to_host_display (component=..., original_bounds=..., wanted_scale=0.699999988)
    at /run/build/monique/src/ui/monique_ui_MainWindow.cpp:1339
1339	    const auto host_height = host_display->userArea.getHeight();
(gdb) where 
#0  resize_component_to_host_display (component=..., original_bounds=..., wanted_scale=0.699999988)
    at /run/build/monique/src/ui/monique_ui_MainWindow.cpp:1339
#1  0x00007ffff75293c6 in Monique_Ui_Mainwindow::update_size (this=<optimized out>)
    at /run/build/monique/src/ui/monique_ui_MainWindow.cpp:1367
#2  0x00007ffff75497ac in Monique_Ui_Mainwindow::Monique_Ui_Mainwindow (this=this@entry=0x5555559e87d0, 
    ui_refresher_=0x5555559e8740) at /run/build/monique/src/ui/monique_ui_MainWindow.cpp:4442
#3  0x00007ffff74e64ea in MoniqueAudioProcessor::createEditor (this=0x55555557ba50)
    at /usr/include/c++/13.2.0/bits/unique_ptr.h:199
#4  0x00007ffff74e1433 in juce::lv2_client::RecallFeature::writeUiTtl (proc=..., libraryPath=...)
    at /run/build/monique/libs/JUCE/modules/juce_audio_plugin_client/LV2/juce_LV2_Client.cpp:1301
#5  0x00007ffff74de739 in juce::lv2_client::RecallFeature::doRecall::{lambda(char const*)#1}::operator()(char const) const (__closure=<optimized out>, libraryPath=<optimized out>)
    at /run/build/monique/libs/JUCE/modules/juce_audio_plugin_client/LV2/juce_LV2_Client.cpp:806
#6  0x00007ffff7dfc08a in __libc_start_call_main () from /usr/lib/x86_64-linux-gnu/libc.so.6
#7  0x00007ffff7dfc14b in __libc_start_main () from /usr/lib/x86_64-linux-gnu/libc.so.6
#8  0x0000555555555125 in _start () at ../sysdeps/x86_64/start.S:115
(gdb) p host_display
$1 = (const juce::Displays::Display * const) 0x0
(gdb) 

(there is NO X11 in that context)

commented

Yeah juce 7 lv2 doesn’t work in ci for us. That’s why surge 1.3 will also not have an lv2

I’ll find a morning to see if there’s any egregious bugs in the port and if not will slap a tag on it

Yeah juce 7 lv2 doesn’t work in ci for us. That’s why surge 1.3 will also not have an lv2

reminds me of projucer 5 that requires X11 to --save.

commented

Yeah I think it’s the same class of thing

lv2 requires you to print the values your params happen to have at build time in your build step. That’s really the key issue which causes the plug-in to load. I think that triggers window stuff. I lightly tried to dig up the old xvfb code I had from juce 5 but then realized I didn’t have any target hosts which supported lv2 and didn’t support vst3 or clap so I just sort of figured I can skip the binary and if people want an lv2 they can self build

also the juce 7 lv2 seems to use features which aren’t in all the daws or something?

But honestly I haven’t paid that much attention. Figure at some point an enterprising person who is motivated will figure it out, or not!

commented

Oh and if we are gonna tag Monique we should tag b-step also. I’ll do both one morning before the holidays then update here