Page 1 of 1

midifile with multiple ports

Posted: Fri Jul 08, 2011 8:15 pm
by dr_funny
Hi,

if I have 2 ports in linuxsampler, each with 16 channels, how can this be played from
a single midifile, ie, what messages should be in the file that will interpret a track as
something like "port 1, channel 2"? Is this at all possible?


thanks

Re: midifile with multiple ports

Posted: Fri Jul 08, 2011 9:35 pm
by dr_funny
Ok, I wasn't aware of the midi port message.

Re: midifile with multiple ports

Posted: Sat Jul 09, 2011 7:36 pm
by dr_funny
I still don't get something.

How do I get linuxsampler to recognize two incoming midi ports? How do I create these ports?
How do I route the input from midi to the correct ports? Is there an available command line
player that can do this? How do these ports interact with Jack?

How can I create 2 channels, where one reads midi-channel 0 on port 0, and the other midi channel 0 on port 1?

scratching my head,

-- d

Re: midifile with multiple ports

Posted: Sun Jul 10, 2011 4:23 am
by dr_funny
ok, it seems ports can be created with

SET MIDI_INPUT_DEVICE_PARAMETER 0 PORTS=2

which I did not see documented in the LSCP reference.

The remaining problem is to get jack to create a midi-thru port that
sends input to all ports: the default thru only goes to port 0. After more head scratching,
I haven't seen anything about how to do this.

--

yours faithfully,

Dr. Gerald Funny.

Re: midifile with multiple ports

Posted: Sun Jul 10, 2011 9:51 am
by nicop
If I understand correctly, you have a midifile with more than 16 tracks and you want to route tracks from ch 1 to ch 16 to port0 and ch 17 to ch (???) to port1.
Qjackctl's patchbay or patchage can do the routing settings, the only problem is: can you create two midi outputs in your midi player?

Re: midifile with multiple ports

Posted: Sun Jul 10, 2011 10:46 pm
by dr_funny
nicop wrote:If I understand correctly, you have a midifile with more than 16 tracks and you want to route tracks from ch 1 to ch 16 to port0 and ch 17 to ch (???) to port1.
Yes.
Qjackctl's patchbay or patchage can do the routing settings, the only problem is: can you create two midi outputs in your midi player?
If I could see how to create a midi-through port in jackd with more than one port the problem would be solved.
ALSA seems to create a through port for midi on 14, but this only forwards port 0. I suppose I should look
into where alsa is creating is creating the through port.

-- f

Re: midifile with multiple ports

Posted: Mon Jul 11, 2011 9:18 am
by nicop
If I could see how to create a midi-through port in jackd with more than one port the problem would be solved.
ALSA seems to create a through port for midi on 14, but this only forwards port 0. I suppose I should look
into where alsa is creating is creating the through port.
Why you think you have to work on jack midi-through? LinuxSampler can create midi ports both for alsa and jack, so if your midi player has a jack midi output you can connect it directly with LS jack midi in without using midi-through. Which midi player do you use?

Re: midifile with multiple ports

Posted: Thu Jul 14, 2011 1:28 am
by dr_funny
I'm using pmidi, which, as I just discovered, can in fact play multiple ports, which solves the whole problem.


Are there other command-line midi players with this capability?


thanks,

gf

Re: midifile with multiple ports

Posted: Sat Sep 24, 2011 12:37 am
by cuse
dr_funny wrote:ok, it seems ports can be created with

SET MIDI_INPUT_DEVICE_PARAMETER 0 PORTS=2

which I did not see documented in the LSCP reference.
Yes, the LSCP reference just covers the network protocol itself, not design or implementation details about sampler engines or device drivers. This was made intentionally, so frontend applications are always developed in a way so they are independent of what kind of drivers are implemented and how they are implemented. LSCP provides commands to frontends so they can retrieve all required informations about drivers at runtime, that is e.g. what kind of parameters the driver supports, whether the parameter is optional or mandatory, what the possible values are and what the default value is (if any), etc.