Comments (7)
Also this too, seems there's no extra space inserted for the pointer string,
so it overwrites as seen in the output above
This is intentional. A hack to replace "AVL-Drumkits-LV2" in <Model>AVL-Drumkits-LV2</Model>
with some unique identifier (here based on the instance's memory address).
Since the MIDNAM is unconditionally provided by the plugin, the model-name is not relevant.
from avldrums.lv2.
The model name could be important, you never know something might use it.
You could run out of address characters if we ever go to 128-bit platforms, he he.
Anyway I just thought I would mention that it seemed odd it since I noticed DrumGizmo
composes a full string like "DrumGizmo:0x2983e770".
Thanks.
from avldrums.lv2.
128bit pointers will indeed break this current hack :)
I was thinking that when the MIDNAM is provided by the plugin there's no choice: The plugin instance informs the host which model to use, and provides the model. So the model-name can be arbitrary.
I didn't consider that a host might display it regardless.
This is more important for plugins like https://github.com/x42/gmsynth.lv2, drumgizmo or setBfree where the midnam can change, and you can have multiple instances with different models.
If you want to display it, I'd be happy to change this. Maybe even recommend ":" as separator. So a host can display the name up to the colon.
from avldrums.lv2.
For MusE no, not terribly urgent at the moment, thanks.
Since the model name is dynamic it would not be useful to store persistently anyway.
Working with midnam for the first time. Interesting.
Would like to provide comprehensive midnam importing.
Read several posts about the birth of the LV2 extension.
Maybe drobilla can come up with a native solution.
(Shortly after I was thinking how unreliable midnam files might be, I read
his blog post saying exactly that - I had to lol. He and the Ardour team
cleaned up so many of them. Amazing work.)
Trying to plan MusE for multiple device modes and per-channel patches/controllers/notes.
Must redesign of our own instrument definition files and editor.
They support a single programmable device mode and patches/controllers/notes,
but are are not per-channel. Although our own MESS framework does in fact
support per-channel stuff such as fluidsynth.
Trying to juggle it all. Cheers!
from avldrums.lv2.
Indeed lots of historical baggage there.
Ardour and Qtractor support MIDNAM for a long time already. One can argue and rant about the spec. Yet it's officially from midi.org after all, and plenty of vendors support it.
Years later plugins like drumgizmo, avldrums came with custom midnam files. A user had to download and install those, and then pick the right one, depending on the plugin preset. So the idea was born to just make this happen automatically.
I disagree with drobilla that LV2 needs a custom spec when there's there's already an established one.
I'm certain that we could come up with a much nicer and more appropriate format and API. But why? Your host will likely want to support midi.org's midnam anyway...
PS. https://github.com/Ardour/ardour/blob/master/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc#L811 dynamically creates a midnam for .sf2 files loaded via fluidsynth -- not great not terrible.
from avldrums.lv2.
MusE is in a good position to support these dynamically changing midnams.
Our instruments can be easily dynamically changed. I'm looking forward to it.
One thing I should mention is that if there was a dedicated API,
we could ask for specific information such as "give me note name 23",
live in real time without having to cache it.
But when we are given the whole thing at once in an XML format,
we must now cache all that info on our side and sort through it.
That's a lot of info for the host to cache for each plugin, when it is already held within the plugin.
The fact that midnam is popular... seems... irrelevant, not a reason to use it in a plugin.
The plugin designer must now learn midnam and XML just to get what he
already knows into a format the host can read.
Still, I can work with what I'm given ;-)
from avldrums.lv2.
I'll close this one up and let you go. Pleasure chatting!
'Til next time.
Tim.
from avldrums.lv2.
Related Issues (18)
- Plugin and Ardour4 from Ubuntu 16.04 repository lock up together HOT 2
- Image association with the note HOT 2
- Add Red Zeppelin 5 kit HOT 8
- armv7l and aarch64 linux build HOT 5
- Please add avldrum to x42-plugins HOT 3
- License confusion HOT 3
- AVL Drumkits crash Ardour when using x42-eq (fil4.lv2) HOT 5
- Red Zeppelin LV2 causes Reaper to crash with pipewire on arch linux HOT 3
- error: unsupported option '--fast-math'; did you mean '-ffast-math'?
- Why is the kick on BB Hot Rod lacking all the low end ? HOT 2
- Please include in x42-plugins HOT 2
- Please fix clang40 warnings HOT 11
- Soundfonts questions HOT 3
- You probably forgot to label 0.3.0 as the 'latest' release HOT 4
- This awesome plugin isn't displaying entire GUI from within MuSE 3.0.2 HOT 3
- Warnings that seem to be potentially harmful HOT 2
- AVL Drums LV2 plugin not responding at all in MusE HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from avldrums.lv2.