Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add batteur labs plugin #151

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

paulfd
Copy link

@paulfd paulfd commented Jun 18, 2022

Hello,

This is a plugin that plays backing drums as midi, to be used with any drum generator. You can control it through a single pedal switch (in momentary mode):

  • 1 tap starts or does a fill in
  • 1 long tap goes through a fill to the next "part" of the song
  • 2 taps end

It builds. I used to be able to publish it through the buildroot command when using a local source on my machine, but when I tried switching to using Git in buildroot it told me

$ ./build moddwarf batteur-labs-publish
{"ok": false, "error": "No plugins found in bundle", "installed": [], "removed": []}

or something of the sort. Now, if I try going back to the local source it doesn't publish anymore, I'm not really sure why and how to solve it.
Edit: I had an issue in the manifest, all good now.

@paulfd paulfd force-pushed the batteur-labs branch 2 times, most recently from 8143c1d to d43c5d2 Compare June 19, 2022 10:20
@falkTX
Copy link
Member

falkTX commented Jun 21, 2022

This is pretty cool!

There are a few integrations we can do to make the plugin more usable and friendly.

  1. add documentation in pdf form, which can be shipped in the modgui dir, specified like so:
modgui:gui [
    modgui:resourcesDirectory <modgui>;
    modgui:documentation <modgui/mydocfile.pdf>;
...

when present, a "documentation" button appears on the plugin information dialog

  1. make the main and accent switches use "momentary mode" by default, so they automatically get reset to their default value when released. just add this property to the definition of those control ports:
lv2:portProperty mod:preferMomentaryOnByDefault;
  1. there is a build warning, please fix.
/home/falktx/mod-workdir/x86_64/build/batteur-labs-f33d10fb7229c7f2e40f1adc6cf3ee190ca51239/src/wrapper.cpp: In function 'batteur_player_t* batteur_new()':
/home/falktx/mod-workdir/x86_64/build/batteur-labs-f33d10fb7229c7f2e40f1adc6cf3ee190ca51239/src/wrapper.cpp:100:61: warning: 'new' of type 'batteur::Player' with extended alignment 64 [-Waligned-new=]
     return reinterpret_cast<batteur_player_t*>(new batteur::Player);
                                                             ^~~~~~
/home/falktx/mod-workdir/x86_64/build/batteur-labs-f33d10fb7229c7f2e40f1adc6cf3ee190ca51239/src/wrapper.cpp:100:61: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
/home/falktx/mod-workdir/x86_64/build/batteur-labs-f33d10fb7229c7f2e40f1adc6cf3ee190ca51239/src/wrapper.cpp:100:61: note: use '-faligned-new' to enable C++17 over-aligned new support

Same with suloea, I can push this to beta already if you want to get some extra early user testing.
Just let me know.

@falkTX
Copy link
Member

falkTX commented Jun 21, 2022

Also, plugin has no category. Maybe MIDI would be a good one for it?

@paulfd
Copy link
Author

paulfd commented Jun 26, 2022

Thanks for the comments! I also wanted to try and use the HMI extensions for this (e.g. flash things when switching parts for example). Let me see what I can come up with before publishing it in beta.

@fragfz
Copy link

fragfz commented Dec 9, 2022

I'm having a lot of fun with this plugin... Hope it reaches to beta.

With the new MOD release, the button didn't work right (all was detected as long press), so after some time I found the problem:

paulfd/batteur#3 (comment)

@falkTX
Copy link
Member

falkTX commented Sep 27, 2024

@paulfd I would like to move with this plugin, what is your current take on its state? I know you wanted to have some easy way for users to add more midi clips, but if time is lacking maybe some more minimal/simple version is okay?

The plugin is quite awesome so it is a bit of a shame that doesn't get used.

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.

3 participants