yabridge

All your LV2 and LADSPA goodness and more.

Moderators: MattKingUSA, khz

wintpe
Established Member
Posts: 17
Joined: Mon Mar 06, 2023 2:18 pm

yabridge

Post by wintpe »

Hi everyone, this is my first post.
I came here initially to ask a question about yabridge, but before I do, some background info.

Im using fedora 37 kde edition as a Linux music machine, and so far with some frustrations i am making a good headway.

my background is a Linux systems engineer/admin retired.

im using yabridge successfully for many vst's and my host is qtractor the latest version, available as an appimage.

As qtractor does not seem to support the addition of sysex messages via its event editor after looking at the hardware device from canada I found that there is a vst called midimapperX that maps CC controller events (you know the many unused ones) to sysex events.

Unfortunately it crashes every time qtractor scans the VST's and its the only one that crashes.

It relies on the dotnet4 runtime, which I also have installed and the crash text is as follows.

system.io.filenotfoundexception could not load file or assembly jacobi.vst.core version=1.0.0.0 Culture=neutral public key token=fa678e13c1efc859 at <module> jacobi.vst.interop.vstpluginmain (system monoFNPTRfakeclass hostcallback) [0x00001e] in .................

you can download midimapperX at the following site

https://schemafactor.com/midimapperx/

would love to be able to use this VST if at all possible with qtractor, any help appreciated.

yabridge version is 5.0.4

regards peter

User avatar
rncbc
Established Member
Posts: 1060
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 256 times
Contact:

Re: yabridge

Post by rncbc »

let me put it this way:

qtractor appimage's are not the best choices whatever to work on VST plugins, let alone anything that goes trough the loopholes and vapors of wine like yabridge ;)

you'd be lucky if any VST2 or 3 plugin would ever work (on appimages and flatpaks), at all...

you'd better try the Linux native ones, or possibly, use Carla for the rescue.

also, qtractor supports sysex setups alright--stress it on the "setup" idea--you may not insert sysex messages ad-hoc in the event viewer (aka MIDI clip editor); but you can tell it to send a bunch of sysex out whenever a designated MIDI output bus is connected--it is the way, for outboard MIDI devices since, like ever ;)

wintpe
Established Member
Posts: 17
Joined: Mon Mar 06, 2023 2:18 pm

Re: yabridge

Post by wintpe »

Thanks rnbc (peterw on your forum, already taken here.)

yes sorry if that was a bit of a blunt comment on qtractor, it can as you say send bulk sysex outputs in the busses. but I want to send Roland controller changes to my jv-2080's at any point.

or is there somthing about the sysex entry of the busses that im missing, can i include a timecode in the sysex in the bus?
EDIT OK just looked at the fields in the sysex and it says name|size|data, but no explanation in your online manual, ive not a clue how that's supposed to work.
Does it create names that appear in the program change list in the editor?, otherwise im guessing.

I will follow your advise on the rpm of qtractor, but the one that comes with fedora37 is 9.19 whereas the appimage is 9.31 hence why im using it as a preference.

As always I think qtractor is a great DAW.

regards peter

User avatar
rncbc
Established Member
Posts: 1060
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 256 times
Contact:

Re: yabridge

Post by rncbc »

wintpe wrote: Mon Mar 06, 2023 6:06 pm

I want to send Roland controller changes to my jv-2080's at any point.

sorry, you can't do that

wintpe wrote: Mon Mar 06, 2023 6:06 pm

or is there somthing about the sysex entry of the busses that im missing, can i include a timecode in the sysex in the bus?
EDIT OK just looked at the fields in the sysex and it says name|size|data, but no explanation in your online manual, ive not a clue how that's supposed to work.
Does it create names that appear in the program change list in the editor?, otherwise im guessing.

nope. it's just to name the sysex messages as named blocks for convenience eg. "reset to GS system"...
and yes there's is no mention on the user manual just because i's an old 90's secret and the writers of the manual probably didn't had a clue what that ever was or mean :)

what you can do is setup each channel with its proper sysex, of course and then sequence each instrument/track/channel accordingly; you can't just throw a sysex in the middle of a performance, sorry; for one thing that wasn't a wise move even then

wintpe wrote: Mon Mar 06, 2023 6:06 pm

I will follow your advise on the rpm of qtractor, but the one that comes with fedora37 is 9.19 whereas the appimage is 9.31 hence why im using it as a preference.

As always I think qtractor is a great DAW.

thanks

wintpe
Established Member
Posts: 17
Joined: Mon Mar 06, 2023 2:18 pm

Re: yabridge

Post by wintpe »

OK so the rpm did not change a thing, same error as initially reported with midimapperX

rnbc: one thing that is at odds with your comment on sending sysex mid song, sending any of the more modern standard CC etc is OK mid track but not sysex, personalty I cant see the difference, or at least your editor allows that to be done, whether sensible or not.

There is a great very old article http://www.muzines.co.uk/articles/every ... usive/4539 so not forgotten yet, and I started playing music in the days of Rolands SH101 or Juno with CV so I do remember when sound modules were the only way to do it.

So wether sensible or not i would like the ability to do this, you can in cakewalk, cubase, etc, just not qtractor.

Hopefully the author of yabridge can see if there is anything that can be done to fix the issue with midimapperX

regards peter

User avatar
rncbc
Established Member
Posts: 1060
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 256 times
Contact:

Re: yabridge

Post by rncbc »

wintpe wrote: Tue Mar 07, 2023 10:44 am

rnbc: one thing that is at odds with your comment on sending sysex mid song, sending any of the more modern standard CC etc is OK mid track but not sysex, personalty I cant see the difference, or at least your editor allows that to be done, whether sensible or not.

yes, you can insert MIDI CC or anything else but sysex in the midi clip editor; though you can, inserting MIDI Program Changes are not advisable as these will be stripped out on loading the session file later.

as a rule, in qtractor model, MIDI sysex and bank_select+program_change's can or may only occur at a track's/channel beginning as setup or configuration (or before the actual performance MIDI data, notes, CCs, etc.).

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: yabridge

Post by j_e_f_f_g »

rncbc wrote:

MIDI Program Changes will be stripped out

sysex and bank_select+program_change's can or may only occur at a track's/channel beginning

Oh dear. That restriction isn't dictated by the MIDI specification, and therefore lots of MIDI files do not restrict themselves to such a limitation.

I understand why qtractor is designed this way. It ensures that multiple tracks set to the same channel don't inadvertently cancel each others' "setup". But it also introduces an incompatibility with many midi files.

It's one thing to have a feature whereby the enduser can specify one (and only one) particular patch for the initial "setup" of a track. That's fine. But it violates the MIDI standard to retrict any subsequent transfer of pgm and bank messages. I think you should change this so that qtractor is compatible with these midi files.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
rncbc
Established Member
Posts: 1060
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 256 times
Contact:

Re: yabridge

Post by rncbc »

j_e_f_f_g wrote: Tue Mar 07, 2023 12:41 pm

I understand why qtractor is designed this way. It ensures that multiple tracks set to the same channel don't inadvertently cancel each others' "setup". But it also introduces an incompatibility with many midi files.

no it doesn't

on a first import into qtractor, it all goes as the midi files have; includiing all and any sysex and program_change whatever is interleaved in the original MIDI file sequence

problem arises when and only when you edit or change any of the MIDI clips that refer to a a segment of any of those MIDI files; a brand new MIDI file (a SMF for sure) will then be promptly generated on the next session or clip save, but always following that strict qtractor MIDI convention of one track, one channel, one instrument/preset/program whatever.

j_e_f_f_g wrote: Tue Mar 07, 2023 12:41 pm

It's one thing to have a feature whereby the enduser can specify one (and only one) particular patch for the initial "setup" of a track. That's fine. But it violates the MIDI standard to retrict any subsequent transfer of pgm and bank messages. I think you should change this so that qtractor is compatible with these midi files.

it doesn't violate any MIDI standard whatsoever; it just follows (or rather enforces) the so called MIDI convention stated above, which is plain MIDI standard compliant for that matter.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: yabridge

Post by j_e_f_f_g »

It isn't clear to me, from the above explanation, what qtractor is actually doing with MIDI Pgm Change and Bank Select. But per the MIDI specification these messages can be sent, at any time, to change a patch on any MIDI channel. There is no limitation as to the number of patch changes you can have per MIDI channel.

Given the above, if qtractor is compliant with the mIdi standard, why then can't an enduser enter a MIDI Pgm Change and Bank Select at any point in a MIDI track?

I get the impression that perhaps you've tied Pgm Change (as well as MIDI channel) to "qtractor clips", and that a clip can have only 1 Pgm Change/Bank select on 1 MIDI channel. And those 2 events must be at the start of the clip. If that's so, then this imposes an arbitrary restriction that isn't part of the midi spec. And I would recommend "decoupling" these two midi messages from a clip so that an enduser can insert them at any point in the clip. (Or are you going to say that, if an enduser wants to insert a pgm change within a clip, he needs to split a clip into 2 clips at that point? Why? That seems like extra, unnecessary work)

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
rncbc
Established Member
Posts: 1060
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 256 times
Contact:

Re: yabridge

Post by rncbc »

j_e_f_f_g wrote: Tue Mar 07, 2023 5:22 pm

I get the impression that perhaps you've tied Pgm Change (as well as MIDI channel) to "qtractor clips", and that a clip can have only 1 Pgm Change/Bank select on 1 MIDI channel. And those 2 events must be at the start of the clip. If that's so, then this imposes an arbitrary restriction that isn't part of the midi spec. And I would recommend "decoupling" these two midi messages from a clip so that an enduser can insert them at any point in the clip. (Or are you going to say that, if an enduser wants to insert a pgm change within a clip, he needs to split a clip into 2 clips at that point? Why? That seems like extra, unnecessary work)

your impression is almost right:

TL;DR

  1. MIDI bank/programs are tied (or indeed a property) to a MIDI track/channel, mapped on per MIDI output bus basis;
  2. MIDI sysex setup blobs maybe be (optionally) tied to MIDI output buses and gets sent to the connected device as soon as possible or when it's actually connected (say external outboard equipment);
  3. you may have 1. and 2. interleaved as from the original/imported MIDI file, no problem, but be sure that won't survive much longer once you edit and reload the session ever once or later.

it's been like so for 16years: why bother now?

ps. well re. 2. original sysex blobs may well survive (didn't check whether or not, sorry); but as a rule you cannot edit them nor insert new ones in the midi clip editor, that's for granted.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: yabridge

Post by j_e_f_f_g »

Ok, the sysex restriction isn't a big deal. But there are many midi files that have pgm change and bank select messages at various points within a sequencer track. Qtractor needs to be able to read, edit, and save those midi tracks without losing, or altering the timing of, those pgm/bank messages. Otherwise, you could be adversely changing the instrumentation.

I had noticed that, when loading some midi files I had created, qtractor seemed to be losing some of the pgm change and bank selects I had inserted into my tracks, and then adding new ones at the start of some tracks. I assumed this was a bug in the MIDI file importing, but now I'm beginning to think that this is due to the design of qtractor's handling of these messages. I keep needing to use another app to reinsert these messages after I edit a file with qtractor. The implementation of adding busses, and plugins, is simple and logical (moreso than many other apps, especially Muse, which really needs a major overhaul to its plugin/buss assignment/setup). But qtractor's handling of pgm change and bank select seems arbitrarily restrictive and complicated. Why does qtractor need to mess with these events at all? Just let the enduser enter them where he wants, and treat it just like any other controller. Just send it along its dedicated bus to whatever midi device is attached. Let the device deal with it. I don't see why you would need to do anything more than that.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
rncbc
Established Member
Posts: 1060
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 256 times
Contact:

Re: yabridge

Post by rncbc »

I'll tell it again and again, qtractor has this strict MIDI convention of one track, one channel, one instrument/preset/program and that's not going to change anytime soon (or prolly ever, sorry)

otoh. this is well going off rails and in circles by now, so I'll rest my case here.

cheers

wintpe
Established Member
Posts: 17
Joined: Mon Mar 06, 2023 2:18 pm

Re: yabridge

Post by wintpe »

I guess ill be off looking for another DAW for Linux then, real shame as ive put in a lot off effort learning all the ins and outs of qtractor.
lovely looking app, so very nicely laid out and easy to use. But i guess its rnbc's app to dictate how it will work, so i wish you all the best with that.

EDIT, less than 15 mins with MUSE and it does exactly what i described it should be able to do with sysex in the events editor, adding sysex events at any point in time in a track.

j e f f g, i see you are on the muse board, how is that for supporting vintage synths, are there any libraries of idf files or do you have to create them all from scratch.

all im looking for is the jv-2080, with most of its patch cards as ive got two 2080 synths almost fully populated

regards peter

wintpe
Established Member
Posts: 17
Joined: Mon Mar 06, 2023 2:18 pm

Re: yabridge

Post by wintpe »

i do use linux native plugins whereever possible, but so many of them are , well of a questionable quality as they are in the win32/64 world, its just a matter of finding the one that does the job.
this thread started because i wanted to implement a feature that i believed was lacking in qtractor, because i so liked qtractor, above and beyond most of the better known daw's for linux.its clear now that im not going to be able to do that with qtractor , so im now going to spend a month or two on muse4 as now 24 hours in ive made significant progress with it. theres a few things qtractor is imeadiatly easier to do than in muse4, but thats life so ill push on.
for the author of yabridge it may be worth looking at this issue as it could be a bug that effects other win32/64 binaries, other than that, my request for help on this is closed
regards peter

User avatar
LAM
Established Member
Posts: 992
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 140 times
Been thanked: 348 times

Re: yabridge

Post by LAM »

artix_linux_user wrote: Fri Mar 10, 2023 9:45 pm

back to the point, there are no other foss alternatives to yabridge?

yabridge is FOSS: https://github.com/robbert-vdh/yabridge ... er/COPYING

in mix, nobody can hear your screen

Post Reply