You are here

The Fluffy Doll

Merry season greetings! After a very long quarantine period, and while after the last Flirty Ditz romance, this pet has calmly bumped a few more steps ahead. Please welcome, my Christmas present to y'all,


Qtractor 0.3.0 (fluffy doll) has been released!

Release highlights:

  • Paste-Repeat command.
  • Punch in/out recording.
  • Session/project template support.
  • Current track auto-monitoring.
  • MIDI buses now supporting multi-timbral instrument plug-ins.
  • Individual clip gain/volume, normalize and audio/MIDI file export.
  • Copy/paste to desktop environment clipboard.

and many, many fixes and new bugs ;)

Website:

http://qtractor.sourceforge.net

Project page:

http://sourceforge.net/projects/qtractor

Downloads:

Weblog (think upstream support):

http://www.rncbc.org

License:

Qtractor is free, open-source software, distributed under the terms of the GNU General Public License (GPL) version 2 or later.

Features:

  • Multi-track audio and MIDI sequencing and recording.
  • Developed on pure Qt4 C++ application framework (no Qt3 nor KDE dependencies).
  • Uses JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures.
  • Traditional multi-track tape recorder control paradigm.
  • Audio file formats support: OGG (via libvorbis), MP3 (via libmad, playback only), WAV, FLAC, AIFF and many, many more (via libsndfile).
  • Standard MIDI files support (format 0 and 1).
  • Non-destructive, non-linear editing.
  • Unlimited number of tracks per session/project.
  • Unlimited number of overlapping clips per track.
  • XML encoded session/project description files (SDI).
  • Point-and-click, multi-select, drag-and-drop interaction (drag, move, drop, cut, copy, paste, paste-repeat, delete, split)
  • Unlimited undo/redo.
  • Built-in mixer and monitor controls.
  • Built-in connection patchbay control and persistence (a-la QjackCtl).
  • LADSPA, DSSI and native VSTi plug-in support.
  • Unlimited number of plug-ins per track or bus.
  • Plug-in presets, programs and chunk/configurations support.
  • Audio/MIDI clip fade-in/out (linear, quadratic, cubic).
  • Audio/MIDI clip gain/volume, normalize, export.
  • Audio clip time-stretching (WSOLA-like or via librubberband), pitch-shifting (via librubberband) and seamless sample-rate conversion (via libsamplerate).
  • Audio/MIDI track export (mix-down, merge).
  • Audio/MIDI metronome bar/beat clicks.
  • MIDI clip editor (matrix/piano roll).
  • MIDI instrument definitions (a-la Cakewalk(tm))
  • JACK transport sync master.
  • MMC control surface enabled.
  • Configurable keyboard shortcuts.

Change log:

  • Almost complete rewrite of the plugin configuration and parameter initialization logic.
  • MIDI bank/program selection is now taken into account on plugins initialization and replication.
  • Fixed initial parameter values for native VST plugins.
  • Track form plugin lists are now properly (re)initialized when track type changes.
  • Generic plugin forms now have the option to show/hide the parameter widgets through the new "Params" button.
  • New auto-monitor toggle option (menu Track/Auto Monitor): the current selected track is now set on monitor and MIDI channel omni-mode automagically, as a convenient workflow feature (kindly suggested by Holborn).
  • MIDI clip editor Tools menu is not disabled anymore when there's no selection, drop-down menu items are instead.
  • Make all recorded clips to honor either the punch-out or play-head accumulated position; resolve all pending MIDI sequence note events on record stop/close.
  • Major silent move: audio plugins chain are now applied in a pre-fader/meter basis as is usually implied from the mixer strip layout ie. signal flows from the top to the bottom.
  • All MIDI buses may now have plugins inserted so that multi-timbral synth/sampler plugins get driven to their fullness.
  • MIDI track plugin's dedicated audio output bus may now be effective, as it seems, good old master audio output bus was being used, no matter what.
  • Paste-repeat command has been introduced, now allowing to replicate and concatenate the clipboard contents over the time-line, with a given repeat-count and optional period (see menu Edit/Paste Repeat... on the main and MIDI clip editor windows).
  • Normalize tool on MIDI clip editor got rewritten from its previous brain-dead, useless and utterly wrong operation.
  • All time offsets and lengths are now zero-bar/beat based when displayed in the BBT (bar.beat.ticks) format.
  • MMC STEP gets adjusted to current snap-per-beat setting.
  • Fixed broken initial buffering that was randomly crippling those audio clips that fit integrally in cached and while on playback.
  • Fix initialization of multiple instances of DSSI plugins which implement run_multiple_synths (eg. fluidsynth-dssi), preventing an instant crash on activation.
  • Exclude deprecated VST elements from compilation.
  • Export tracks dialog has new punch in/out range option.
  • Somehow realized that looping and punch-recording are two mutually exclusive states, at least until loop recording (ie. takes) gets real.
  • Fixed bug #2249291 - Crash on tempo change; affecting the WSOLA based time-stretching on all non-stereo audio clips.
  • Incomplete audio peaks were being cached prematurely, fixed.
  • Make way for paste/dropping items from the system clipboard over the main track view. Cut/Copy/Paste/Delete of file items have now this workaround fixed, wrt. Files widget keyboard shortcuts, respectively.
  • Clip gain/volume propriety is now in place and reflected in audio clip waveform drawing in particular.
  • A new hideous progress bar is now lurking in the main status line, as found convenient to display progress of the also new clip tools (normalize, export, etc.).
  • Clip normalize tool is now available (Edit/Clip/Normalise).
  • Audio and MIDI clip file export is now available as a tool (see Edit/Clip/Export...).
  • Punch in/out (range) recording is now in experimental shape, with minimal settings and functionality, already accessible through the main menus, transport toolbars and visible on main tracks view and MIDI editors as magenta colored line markers.
  • External MIDI control events for channel volume (7) and channel panning (10) are now handled properly through session tracks.
  • Session file templates make its debut with new usability option, on whether new sessions are created based on existing template file (see View/Options.../Display/Session/New session template; nb. session templates are just regular session files but loaded and saved with no media content (no clips nor files).
  • Grayed/disabled palette color group fix for dark color themes.
  • Implicit attempt to flush all pending notes for some, if not most plugin instruments (eg. VSTi), on playback stop.
  • Fait-divers: desktop menu file touched to openSUSE conventions.
  • Internal refactoring alert: Session and Options instances are now being redesigned as singletons, preparing to get out of the way from the master GUI/MainForm instance.
  • Clip drawing methods refactored so let the fade-in/out handles get seen with transparency over the clip graphics content.
  • Reset and continue looping even still when continue past end transport option is not set and playback is rolling.

Hope it makes through a Happy New Year with flying colors ;)

Cheers && Enjoy!

Comments

Hi Rui, first of all, congratulations for this new release and for all your great work. Qtractor begin to be a really useful and beautiful app.
I would like to see the grid when editing midi notes at other resolutions than the bar , e.g. 16th or 8th notes, and the option to automatically snap the note to the current grid resolution.

Sorry , the captcha was going me crazy.

I want to say you thank you very much and happy new year.

I'm sorry again , I forget to ask about another request: the option of split the midi clips.

Thank you very much and all the best.

rncbc's picture

Yet another request already granted ;) You can split MIDI clips as any other clip: point the play-head to the desired split position and call Edit/Clip/Split menu. Voilá :)

Yeah!! It was there, I'm sorry I haven't see it before . It's so good that also can be asigned to a shortcut, Thank you very very much, Rui. I reallly like Qtractor.

rncbc's picture

The snap (to grid) feature is actually always on. However the "grid" has no visual clue besides the regular bar/beat line divisions. Take care that all editing of clips in the main tracks view and all events in the MIDI clip editor do snap to the current snap-to-beat setting, that innocent drop-down list that stays in the tool-bar or accessed through the View/Snap menu. The default resolution is usually set to "Beat/4" which means one fourth of a quarter note (16th). I guess if you select "Beat/2" you'll get the 8th you asked as well. The snapping is thus disabled by choosing "None". That will get you down to pixel resolution.

Thanks.
HTH

Yeah, sorry about my bad explain , I knew about the snap feature , but what I would like to see is the lines of the grid division of 16th , 8th and any other kind of notes resolution , to see the real location in the bar/beat place.

But anyway , again , thank you very much for your great work.

All the best.

Is there a way to export the whole session to an audio file? I mean not only audio tracks nor midi tracks separately, but the whole mix down to a file.
Also, does support buses for routing many tracks grouped to one bus to put common efects on it?

One more time, congratulations for your big work and than you very much.
All the best.

rncbc's picture

Whole session export to audio is not possible at the moment, at least in one single action step. You can only have audio (mix-down) and MIDI (merge) tracks exported separately to an audio or MIDI file, respectively. You'll have to render and bounce your MIDI material back into one or more audio tracks first, for you to have all of it as audio tracks and then, yes, get your whole session exported to audio alright. Think of outboard MIDI driven hardware synths: bouncing is the only viable solution choice here ;)

Plugin effects may be inserted at a output bus level and there you have it applied to all its corresponding tracks' mix-down. Maybe it's what you want. The term "bus" might have a different meaning in Qtractor than on other traditional DAW's which effectively emulate the "bus" concept on the traditional mixing consoles. Ok. Let me cut the BS and take you to look at the "evil" signal-flow/block-diagram that is present in the user manual for your reference. You might find the picture worth of a thousand words of (my own) crappy explanations :)

Cheers && Happy New Year

Hi , I'm having some problems with qtractor and Jack 0.116.1 in Debian Lenny . Sometimes , qtractor says that jack has been shoutdown when It is up and running. After this message , sometimes Qtractor works and some others no. Them , the midi connections tab of Qtractor appears empty, while in Qjackctl everything is allright . The audio connections keep up in both.
Sometimes , lately, I'm getting segfault.
This happens with a project were I'm using mdaEpiano-vst + ZynPhaser (Holborn - Holap plugin) , Nekobee-dssi , Calf Organ-dssi and Calf monosynht-dssi . Also Hydrogen.

Here are some screenshots.

http://hosting.deimagenes.com/imagenes/49bdb4849a1dc61b8c58d2058df80c5d.jpg

http://hosting.deimagenes.com/imagenes/07a7775f9042087c69e2c99b87c7f1c3.jpg

http://hosting.deimagenes.com/imagenes/70fbc7215c35395bee135f25248d6842.jpg

Thanks a lot.

rncbc's picture

Qtractor shows the "jackd has been shutdown" message when the connection to the jackd server fails miserably. Usually, specially with the latest jackd incarnations (ie. > 0.109.2) it also means that Qtractor is doomed and all hope must be left behind, at least until you restart jackd. So, when that message shows up, you better quit qtractor, stop jackd and then restart qtractor and/or jackd.

Regarding those segfaults, you should consider taking the steps to help debugging as is explained in the user manual, mainly by rebuilding qtractor with debug information compiled in and taking a gdb back-trace from the eventual segfault core dump. You can and ought to send me the back-trace. We'll see whether the problem is due to qtractor bad behavior or one of the plugins. One thing I do know already though, the mdaPiano native VST plugin is not what one might call rock-solid stable. At least in my limited experience. Others may vary ;)

Cheers

Wow , thank you very much for your fast response!! I'll see to compile qtractor to help debuggin.
All the best.

Rui,
I have been having lots of jack issues and I am using 0.109.2. I cannot connect MIDI devices, audio disconnections, segfaults, etc.

Are you suggesting that we should back up to a version before 0.109.2?

Where does the problem seem to be with later jack releases?

and...What version of jackd are you using?

Thanks,
Lexridge

rncbc's picture

hi Jim,

re. the problems stated above, I must reckon those as just reports of some differing behavior that I've noticed since latest jackd 0.116.x when compared to older 0.109.x. That disparate behavior seems to be most noticeable when in face and after an abrupt jackd shutdown.

You should stick with jackd 0.116.x and above. I cannot tell you to go back in any case, cause 0.109.x has its full hand of issues and older are just, say, deprecated. You may even try the jack2 branch (previously known as jackdmp) and see the future :) -- not that I've tried myself, but there's nothing stopping you, is it?

Cheers

"This is a great post. Thank you for putting this post out there for all of us.

Thanks!"

Hi Rui, I compiled Qtractor with debuggin function. I had some crashes, most related to plugins , I think, and got some core dump.
What can I do to help with this staff? I'm not a developper at all, so , please be compassionate whit my posibly bad explanation of the problem.

Thank you very much.
Cheers .

rncbc's picture

Once you locate your core dump file, most probably in the last known or current session directory, you ought to get a gdb backtrace, like this, on a terminal command line,

gdb /path/to/bin/qtractor /path/to/core.dump

then, at the gdb prompt, enter

gdb> bt

and send me the pasted output (do not post here as it can be boresome:)

nb. send that along with all the precise known steps you've taken, right before the crash and please, list all the plugins you think are involved.

Cheers.

Hi Rui, thanks a lot for your patience and great work. Primarily , as I sayd before, Is mdaEpiano the plugin who make qtractor segfault. This happens every time I open my project, with:
- 8 midi tracks an 2 audio tracks.
In the midi tracks I'm using:
- mdaEpiano (Linux-VST) ,
- 3 instances of WhySynth (one per track),
- Nekobee with two ladaspa fx (Caps Preamp IV, Caps mono compressor).
- I also had Calf Vintage Delay, forgeted, in a midi track , that had another mdaEpiano instance but unloaded now.

If I open the project without mdaEpiano, everything runs fine.
When I charge mdaEpiano seems to works fine untill it crashes.
Them , launch again Qtractor , unload the plugin and reload again, it seems to work .
I save the project with the loaded plugin, close Qtractor and launch again (with the plugin loaded). Back to begine... when I push play, the cursor, at the first note of the mdaEpiano track stop and crashes .
So each time I open the project with mdaEpiano in any track, it will crash until I unload and recharge the plugin again , but Qtractor will crash again after a while.

Steps to reproduce:
1.- Create a track on an empty project
2.- Load mdaEpiano in a midi track.
3.- Write some notes.
4.- Playback the track many times.
5.- After some playbacks Qtractor crashes.

Here is the backtrace:

http://pastebin.com/f73d00860

As you say :


One thing I do know already though, the mdaPiano native VST plugin is not what one might call rock-solid stable. At least in my limited experience. Others may vary ;)

Probably its nothing related to Qtractor.

I'm using Hydrogen with this project and Jack 0.116.1 .

Thanks a lot.

rncbc's picture

Here goes the backtrace, for the record and evidence, just in case the pastebin.com snippet expires: the crash is indeed in mdaEPiano native VST plug-in, no doubt about it, but being it at the main synthesis process method (processReplacing), it suggests that there's some kind of corruption incident in or near the plugi-in address space vicinity (which is Qtractor's nevertheless).

$ gdb /usr/bin/qtractor core
...
Core was generated by `qtractor dub-hop-noclaf.qtr'.
Program terminated with signal 11, Segmentation fault.
...
(gdb) bt
#0  0xb64509bc in mdaEPiano::processReplacing ()
   from /samples/vst/linux-vst/mdaEPiano.so
#1  0xb644a29c in AudioEffect::processClassReplacing ()
   from /samples/vst/linux-vst/mdaEPiano.so
#2  0x08172816 in ?? ()
...
(gdb)

Ok , Rui thank you . Until now all the crashes I had coming from mdaEpiano. I pulled off from the project and everything is now working flawlessly.
BTW , a request : "Glue Clips" . I saw it in Muse. , and another one "Mute Clip" also viewed in Muse :).

Long Life to Qtractor :)

All the best .

rncbc's picture

I can think of what Mute clips might be, but I fail miserably on what are Glue clips at all. Can you elaborate on what's that for?

Thanks

Sorry . Its me who fail miserably writing in english. When I said glue I want to say stick ( google translator says) two clips , same as put glue and unite two parts in one.
Here is a screenshot:
http://hosting.deimagenes.com/imagenes/ec557659adf8ea51d9f73e2e559f82e8.png

All the best.

Hi Rui , I can't have a fine transport synchronization between Qtractor and Hydrogen.
Pushing Play from the begining of the project they run synchronized.
But if I want to hear a loop in the middle, Hydrogen doesn't understand the position and start from the begin of the song skipping the loop marks. It doesn't happens when Hydrogen run with Rosegarden or Muse.
¿ Is there something I'm missing at the Qtractor settings? Can't find anything about it at the manual.

Thanks a lot .

rncbc's picture

Well, I have to investigate on this, or in other words, i have to fire up Hydrogen at least once in a while :)

As far as I can say, there's nothing to miss about this. Qtractor issues the pertinent jack_transport_locate() call on every loop turn-around and it ought to be enough and fit to purpose. Maybe it is me who's missing something, as I often do ;)

I'll have a look, when my mundane life permits.

[UPDATE:] OK, hydrogen 0.9.4b2 here, and it all seems to loop as I would expect it to. Both ways, either from hydrogen or qtractor. Am I just lucky or what? :)

Cheers

Oops , thats sound bad to me :( . Did you try with Hydrogen in "song mode" ,instead of loop, with many bars ?

I did a simple project to check it . 6 bars with a loop between 4th to 7th, and a 6 bars song in Hydrogen with 2 silent bars as intro.

If you want to check it:
http://toonikmusic.googlepages.com/sincro.tar.bz2

Thanks a lot.

PS:Another backtrace for a recent segfault.
http://pastebin.com/f48c03836

rncbc's picture

OK. Got to reproduce the reported behavior with qtractor 0.3.0, released on last years Xmas day :) It seems to be fixed on current CVS and that's the reason I was not having the same behavior as yours.

Can't really tell at this time why it is fixed already, 'coz current CVS has been under a major and internal overhaul with regard to tempo and time-signature measures, with obvious implications to transport syncronization. All this to introduce tempo/time-signature support in a near future.

It would be of great help if you could test the current CVS version as well, but remember to keep the stable (but broken) near by as backup, just in case :)

Re. the recent segfault looks intriguing though.

gdb qtractor core 
...
Core was generated by `qtractor'.
Program terminated with signal 11, Segmentation fault.
(gdb) bt
#0  0xb807fdd8 in jack_port_get_buffer () from /usr/lib/libjack.so.0
#1  0x08076ee7 in ?? ()
#2  0x0807b5b3 in ?? ()
...

What steps, if any, can be taken to repeat this one?
Byee

Yeah!! The cvs one works superbly :) . Thank you very much .

About the segfault , it was happens suddenly , just one time with that backtrace . I had also, at the same time , some issues with hydrogen. If it happen again I will retain the steps and backtrace .

Many many thanks , Rui.

Long Life to QTRACTOR!!

All the best.

rncbc's picture

One other thing: I've noticed, from your sincro.qtr session that you're connecting the MIDI master output of qtractor to its own master input. That might be a source of trouble because, for example, MMC LOCATE is being fed back and that might get you out of sync and transport resolution mismatches. It you really need that MIDI loopback connection you should consider having separate/dedicated MIDI control ports (see View/Options.../MIDI/Control).

Cheers

Using Qtractor CVS,

Sincronization works fine , but I found an issue when editing a midi clip:
Steps:
1.- Open the same project (sincro)
2.- Split midi clips
3.- Duplicate it with Ctrl+C Ctrl+V
3.- Double clic on the first clip of the loop (where the first notes are) to edit it .
4.- At first view the notes doesn't appears , I must do right scroll to see it on the grid, and if doing left scroll it disappears again.

This issue doesn't happens allways.
Qtractor has suffered some crashes (segfault) while moving the transport controls to acomodate
in a different place of the window ( http://pastebin.com/f44c43e33 ) ,
and some other with a midi thing that block it and made me kill it (:p) , maybe related to midi connections ( I don't know, but see many midi notices at the message board ) . Could it be possible to have a panic button anywhere?
I'm still mising the grid definition lines of each note meassure. (8,16,32, 8 triplet, 16 triplet...) , but don't know if it could be done.

Anyway , keep up the good work!
All the best.

One other thing: I've noticed, from your sincro.qtr session that you're connecting the MIDI master output of qtractor to its own master input. That might be a source of trouble because, for example, MMC LOCATE is being fed back and that might get you out of sync and transport resolution mismatches. It you really need that MIDI loopback connection you should consider having separate/dedicated MIDI control ports (see View/Options.../MIDI/Control).

Yeah, that was a wrong connection , and now I see that was one of my problems.

Pages

Add new comment