You are here

Multimidi channels

Rui,
I've just upgraded to the latest source, and have to write and tell you this is excellent. Qtractor is really starting to take shape now, and is highly usuable already. I've had a good deal of enjoyment over the last couple of days, writing material in such an easy and speedy fashion.

I have a couple of requests for future builds.

Multiple midi channels per track.
As you know, i write orchestral music, and have to, usually deal with a lot of tracks, port,etc.. at once. It would be very useful indeed to have 16 midi channels per track, and able to click on a note in the piano roll editor, and change the channel. This would certainly help cut down the track count, and make using qtractor even more efficient.

Assignable Audio ins and outs per track.
Linuxsampler (my musical weapon of choice) has multi port, channel options. and with an orchestra to work with, being able to assign stereo pairs per instrument track would certainly go towards a total sequencer solution. (imho)
If i can do this already in qtractor, i can't find how in documentation, so please, enlighten me.

Shortcuts.
Rui, i'm an advocate of shortcuts, as i find using a mouse far slower and more cumbersome than a qwerty keyboard. I ask if you will consider expanding the range of shortcuts, and making them user definable, so we can build shortcut maps of our own. Simple things like 'Go to next/previous track', and 'toggle record arm selected track' would speed workflow further.

Best of luck with this project, Rui, and i will continue to follow qtractor's progress, and use the programme where possible.

Alex.

Forums: 
rncbc's picture

Hi Alex,

It's really awesome to have you to try Qtractor. I am certain that you'll break it to pieces in no time :) Or haven't you already?

Ok.

Multiple midi channels per track.
Before you ask, there's one design flaw that Qtractor does suffer in deed: one MIDI track is synonymous to one MIDI channel. Yep, old-skull sequencing :) That's one rule. But, let's talk about something else. Tracks are routed to buses. Now I know that buses, in Qtractor at least, are not the same as you might know from other books. Failing to have a better naming, I just call MIDI buses as being the same as MIDI ports. So, one MIDI bus does have 16 logical MIDI addresses or channels to deliver. Delivering or rendering, as I prefer to call it, is exposed at an actual corresponding ALSA sequencer port. Yet another multiplexing feature to acquaint for, I know ;) So, put simple, you'll add and connect as many MIDI buses as multi-timbral samplers or soft-synths you have to swallow those MIDI notes that are spit out from Qtractor as a sequencer (reality speaking, those are actually fed by ALSA sequencer). Yeah, it's not as easy OOTB, but you're one hell of a power-user, so let's do it! >:) OTOH, as bottom line as your question could ask for, I'm afraid, you'll end with a straight NO! MIDI tracks are NOT multi-channel, quite the contrary, when dealing with MIDI, sorry.

I'll answer to your other issues later, so don't get away so soon ;)

Cheers
(and happy to have you on board, if only you cauld stand for the cruise, eheh)
--
rncbc aka Rui Nuno Capela

Ah, new keyboard commands. Nice!

Now may I ask to also make keyboard commands to the Select modes (clip, range rectangle)? Also, that one-key-press clip split command be talked about would be handier than sliced bread and canned beer. ;)

Lexridge

rncbc's picture

Shortcuts
User configurable keyboard shortcuts: it's getting higher user demand and that must only be considered good news ;). However, I'm failing to find it on my shortlist >:) I think I've made my stance on this topic before and that was something like this: it's one great opportunity for outsourcing. I mean, this is open-source isn't it? As I'm currently overwhelmed with other distractions, it would be highly welcome some hotshot contribution on this area. It's not rocket-science though. :D.

Oops, I know I'm being a bit of an arrogant here, as that isn't quite an acceptable answer to your very kind request, moreover when I know you're not a Qt/C++ programmer or anything of the sort.

Tell me what are your most needed keyboard shortcuts and I'll see what can be done.

@lexridge: The clip-Split command is in the think-drawer. It is not forgotten :) What do you suggest for the select-modes (clip, range, rectangle)?

[EDIT] Found this article by the trolls: Dynamic Keyboard Shortcuts, albeit it's on a ancient Qt3 dialect. Should be easy to make it to Qt4. Hmm. guess I'll do it after all :) don't know when it will be ready though >:)

Cheers.
--
rncbc aka Rui Nuno Capela

What do you suggest for the select-modes (clip, range, rectangle)?

Not really sure off the top of my head. It would need to be three adjacent keys using no modifier, to make it convenient (q, w, e, for example).

What would be really neat, but mostly likely would require a major rewrite of tracks and clips code, would have the mouse mode automatically change depending on whether the mouse pointer is in either the top half, or bottom half of the clip object. In example, if the mouse pointer is at the top part of a clip, Rectangle-Mode is automatically in effect. If the pointer is in the bottom half of the clip, Clip-Mode is in effect.

This would need to be the two most commonly used select-mode commands (and my two most used are probably not going to be the same as yours), or make it user configurable via the Options dialog. Doing the latter would be simple as far as the widgets are concerned. Make two widgets, "Top and Bottom Clip Mode", with a pop up requester for selection of one of the three modes. This would also allow for turning the "feature" off by selecting the same mode for top and bottom (but I already see a few problems with this, such as how would the keyboard commands for select-modes work in conjunction with this?).

Anyway, I'm just rambling. The keyboard commands for this are the most important ATM.

Lexridge

rncbc's picture

I'm thinking (with some prototype code already) in doing the keyboard shortcut user configuration dialog yada yada. That's the means for youto assign ANY key combination of your preference to ANY menu item action. It's easier than I first thought, but not granted OOTB. One major drawback is that it steals precious time for anything else more, erm, audio/MIDI related :)

After that I think I will tag it 0.1.1 and set it loose ;) so this is a pretty good time to point out and recall anything that is not working right atm.
--
rncbc aka Rui Nuno Capela

rncbc's picture

OK. It's done. On today's CVS HEAD (qtractor 0.1.0.860+) keyboard shortcuts are from now freely configurable for the main application window menus and for the MIDI editor one too.

Enjoy.
--
rncbc aka Rui Nuno Capela

Very nice and clean shortcuts interface. Very impressive. Great work, and very fast work indeed. :)

Rui, You never fail to amaze me. :)

Lexridge

rncbc's picture

Thanks. It wasn't that so fast, considering it took me a whole of three evenings (3 x 2h) to put this shortcuts thing up, But you deserve it :) and thanks to Alex too for raising yet another hand on demand.

Cheers.
--
rncbc aka Rui Nuno Capela

It's really a nice feature. I didn't realize how useful it would be, actually. This will speed up productivity considerably. I have assigned nearly everything on the list to a keyboard command.

Only six hours is still pretty amazing, and a millions times faster than any closed-source audio product. :)

Lexridge

The best way for resolve the Alex issue ( and mine too) is merging the basic loader giga Qsampler features into the Qtractor Instruments dialog mode.

Qsampler right now allow to loading giga files, setup the midi, audio, effects sends outs and then save it in one session.

Qtractor can make the same when one track is created, instead to use the standard Instrument midi out channels, under the mode we can select the Qsampler loader.
Under this way the whole Qtractor session can also store the all giga sounds used for the song session, without use the external Qsampler and make manually the all jack connection.
after you value to insert the VSTi Instruments on the tracks dialog propiety, then value also to insert the Qsampler mode too.
With this two new instruments mode, the Qtractor will be totally complete and full stand alone SEQ version.
Cheers
Domenik

rncbc's picture

@Domenik: I assume you're referring to full DSSI host support on Qtractor and thus VSTi too through DSSI-VST. As said to you once, I'm not that much inclined to hardwire Qtractor to LinuxSampler. I always try to keep Qtractor as generic as I find possible and not making it all-in-one solution as I'm sure everybody is familiar with that concept as it prevails on the Windows and Mac OS X arenas.

Support for DSSI synths are progressing very slowly these days. However much of the knowledge I'm grabbing in this part-time process will be of some use to your child a.k.a. QRanger. ;)

Cheers.
--
rncbc aka Rui Nuno Capela

rncbc's picture

Assignable Audio ins and outs per track
I'm slightly afraid, again ;) I'm not following you on this one. Audio I/O in Qtractor just don't mess with your synths and samplers which are driven by MIDI and can be fed by Qtractor MIDI tracks. However, synths and samplers are stand-alone in this sense as having their own audio outs. These audio outputs can be bounced to Qtractor audio tracks or/and connected outbound for proper processing or listening. Having the LinuxSampler example, you connect Qtractor MIDI track/channels as output MIDI buses to LinuxSampler MIDI input(s). LinuxSampler audio device outputs are exposed on their own JACK ports, for instance, and thus are subjects for connection to whatever you wish, but the main issue is that those are not managed in Qtractor.

Multiple midi channels per track (revisited)
Perhaps, what you need is about having more MIDI buses (aka ALSA sequencer ports) then the single Master default one. Is it? I've failed to point you precise directions in my previous reply, so here it goes: audio and MIDI buses are mangaed under the View/Buses... dialog. There you can create as many MIDI buses as you need. Again, what you'll actually creating are ALSA seq ports, each one with 16 addressable MIDI channels. So let's say you have 32 instruments loaded in LinuxSampler and want to drive each one by one Qtractor MIDI track. There, you'll need 32 MIDI tracks and 2 MIDI buses. Each track must be assigned to it's own MIDI channel and MIDI bus. For example, the first 16 tracks (tracks 1-16, channels 1-16) should go to MIDI bus #1. The other 16 tracks (tracks 17-32, channels 1-16) should assign to MIDI bus #2. Now it should be clearer which Qtractor MIDI buses you want to connect to which LinuxSampler MIDI input device ports, most certainly you'll have 2 ports with a corresponding mapping to each sampler/MIDI channel. Got it?

Hope you get the mess :)
--
rncbc aka Rui Nuno Capela

Add new comment