[ANN] Qtractor 0.5.6 - The Golf Tango release!

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

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

[ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by rncbc »

Hi there,

Maybe some of you agree with me, that this has been the longest since last dot release and the new one with the least brand new features count being introduced. Aha no big deal I say, the uber-procrastinator is just roaring its ugly head once more, specially after a beloved summer vacation season. Whatever.

Qtractor 0.5.6 (golf tango) is now released!

One of the interesting dots, if not the most, is that LV2 State Files interface implementation, once in a gruesome SNAFU support status, is now officially over. For the laymen it means that any files, referenced by those LV2 plug-ins which implement the LV2 State Files interface, will get righteously bundled to an archive/zip session file (suffix or extension .qtz), all other cases remain untouched. That should add up some notches on the session portability and archival ranks and purposes. Besides, LV2 1.0.0 compliance status is now closed business. I hope.

Moving on, slowly forward...

Release highlights:

* LV2 State Files support (NEW)
* Unused files clean-up removal (NEW)
* Edit/Insert empty range (NEW)
* MIME Document types and icons (NEW)
* Improved plug-in state resilience (FIX)
* French and Japanese translations (NEW)

Website:
http://qtractor.sourceforge.net

Project page:
http://sourceforge.net/projects/qtractor

Downloads:
- source tarball:
qtractor-0.5.6.tar.gz
- source package (openSUSE 12.2):
qtractor-0.5.6-3.rncbc.suse122.src.rpm
- binary packages (openSUSE 12.2):
qtractor-0.5.6-3.rncbc.suse122.i586.rpm
qtractor-0.5.6-3.rncbc.suse122.x86_64.rpm
- quick start guide & user manual:
qtractor-0.5.x-user-manual.pdf

Weblog (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.

Change-log:
- Day 1 post-release fix: LV2 plugins with a GTK GUI were not shown due to their respective widget (GdkWidget) being prematurely and unexpectedly destroyed when raised (via libsuil).
- The dedicated audio outputs setting for instrument plugins was not in effect as default global option for new MIDI tracks, now fixed, hopefully (thanks to danboid aka. Daniel MacDonald persistence).
- An immediate Files widget cleanup option is now made available, as to select and remove all unused file entries.
- MIDI track (un)solo/mute reset clip event sequence fixing; definite regression to MIDI track's occasional muting bug while clip editing and playback is rolling.
- Apologies due on this one: shift/ctrl keyboard modifiers are back in business to change MIDI events currently selected in one single step while on MIDI clip editor (aka. piano-roll). Sorry.
- Japanese (ja) translation added (by Takashi Sakamoto).
- General time-scale bar, beat and tempo rounding fixing.
- Keyboard shortcuts configuration (Help/Shortcuts...) now checks and warns for already assigned key sequences.
- The View/Snap menu is now listed as fully accessible actions, making each snap-per-beat setting assignable to a keyboard shortcut (after a feature request by danboid aka. Daniel MacDonald, thanks).
- Fixed MIDI resize tool, now applying symmetric proportional changes to pitch-bend event values [-8191, +8191].
- Fixed re-loading of LV2 Presets that are newly created/saved during current session; actually delete and remove a LV2 Preset if found in the file-system (as suggested by Jiri Prochaszka aka. Anchakor, thanks again).
- Preset drop-down list is now sorted, on plugin properties dialog.
- After a long absence, edit(blue) cursor vertical lines are back on the MIDI clip editor views (aka. piano-roll).
- LV2 1.0.0 compliance phase II: LV2 State Files support completed.
- Updated to newer LV2 External UI extension support (now maintained by Filipe Coelho aka. falktx).
- Brand new editing tool: empty range insertion, split/moving clips or events forward the specified edit-head/tail interval, defaults to next measure or bar (cf. menu Edit/Insert/Range, Track Range).
- Don't show the waiting cursor anymore when loading any plugins which might have a nice native editor (GUI) and options are set to show it.
- MIDI clip editor now hopefully rid of random but persistent muting, a slight regression to editing while playback is rolling.
- A MIDI file player's bug, evident while transport rolling in looped mode, has been fixed with yet another oneliner patch (kind by Jiri Prochaszka aka. Anchakor, thanks again).
- LV2 plugins with a Qt4 GUI (guess what or whom?) are now guaranteed to some reasonable window type like Qt::Widget but not Qt::Dialog nor Qt::Popup, preventing those from standing always on top while on some window managers or desktop environments (a simple addition by Jiri Prochaszka aka. Anchakor, thanks).
- MIME type icons support for session (*.qtr *.qtr), template (*.qtt) and zip/archive (*.qtz) are now being introduced.
- LV2 State Files feature support is shamelessly getting real trial, now letting files referenced in LV2 plugin states to be seamlessly included when saving to a zip/archive file bundle (.qtz suffix). Added some virtual destructor stubs to shut up gcc 4.7 warnings.
- Improved plugin state resilience, now finally with parameter name matching, specifically targeted on loading old sessions or plugin preset files (.qtx), preserving old saved plugin states as much as possible in face of rogue or discrete parameter index renumbering, due naturally on any plugin's life cycle ie. upgrades etc.;)
- Added some more snap-to-beat divisors (Beat/14, /21 and /28) due on feature request ticket, while dropping highest, probably useless one (Beat/128).
- New French (fr) translation added (by Yann Collette, thanks).
- Slight late optimization on vertical zebra/grid lines drawing.


Enjoy!
Last edited by rncbc on Tue Oct 02, 2012 10:10 pm, edited 1 time in total.
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by danboid »

Great stuff!

This codename sounded way too much like a car so I just had to check that there wasn't a VW Golf Tango model. There is an electric car called Tango but no Golf Tango. Who knows - maybe there are a few qtractor users at VW who may become inspired by this latest release? Crazier stuff has happened than autos inspired by Ruiware. :)

I count 6 more phonetic release code names before you need to devise a new naming model.

Thanks Rui!
User avatar
rncbc
Established Member
Posts: 1070
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 275 times
Contact:

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by rncbc »

danboid wrote:I count 6 more phonetic release code names before you need to devise a new naming model.
yeah, right. no sweat.

at this rate, the current release naming model will be exhausted only by 1Q2014, so there's plenty of time to devise a new one :)

carry on
StudioDave
Established Member
Posts: 753
Joined: Sat Nov 01, 2008 1:12 pm

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by StudioDave »

Hi Rui,

I'm having trouble building Qtractor on Arch 64. My LV2 installation is in /usr but even if I point the config script to that location the configuration doesn't find the headers. Any notion of what I have to do to get my LV2 stuff recognized ? Latest lv2-svn sources, btw.

Best,

dp
Excds
Established Member
Posts: 70
Joined: Thu Oct 07, 2010 1:50 pm
Contact:

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by Excds »

Yay! Great work!
Ever noticed something?
Unix comes with compilers.
Windows comes with solitaire.
User avatar
rncbc
Established Member
Posts: 1070
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 275 times
Contact:

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by rncbc »

StudioDave wrote: I'm having trouble building Qtractor on Arch 64. My LV2 installation is in /usr but even if I point the config script to that location the configuration doesn't find the headers. Any notion of what I have to do to get my LV2 stuff recognized ? Latest lv2-svn sources, btw.
you should (must) have LV2 1.0.0 release installed in /usr. take no other option. whatever gives lv2-svn is not official and subject to breakage at some point. i guess you found some.

IOW, I really don't know whether lv2-svn doesn't break former compatibility on any of the standard base lv2 extensions (ui, urid, event, atom, etc.), so please stick with the latest LV2 1.0.0 official release. same with lilv, suil, sratom, sord and serd.

playing with drobilla's svn stuff is asking for some eh, whatever ;-) ie. it might work for ardour3 builds but let's stay away from discussing unreleased codebases for the time being shall we? ;)

cheers
StudioDave
Established Member
Posts: 753
Joined: Sat Nov 01, 2008 1:12 pm

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by StudioDave »

rncbc wrote: playing with drobilla's svn stuff is asking for some eh, whatever ;-) ie. it might work for ardour3 builds but let's stay away from discussing unreleased codebases for the time being shall we? ;)
Understood, no problem. Problem resolved anyway. I was building from qtractor-svn, now building from 0.5.6 source tarball and all LV2 stuff is recognized.

Best,

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

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by rncbc »

just to let y'all know, all seems quietly painless wrt. latest LV2 1.2.0 release front ;)

cheers
brummer

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by brummer »

rncbc wrote:just to let y'all know, all seems quietly painless wrt. latest LV2 1.2.0 release front ;)

cheers
Did qtractor (svn) support lv2-1.2.0 already? In particular the new buf-size and options extensions?
Or do you plan to add it? Indeed I need it for my new upcoming plugs. :)
User avatar
rncbc
Established Member
Posts: 1070
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 275 times
Contact:

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by rncbc »

brummer wrote:Did qtractor (svn) support lv2-1.2.0 already? In particular the new buf-size and options extensions?
Or do you plan to add it? Indeed I need it for my new upcoming plugs. :)
yes and no.

now that you're in need for those extensions (lv2 >= 1.2.0, bufsize, options) i might add them to my plan for the next year. no promises though ;)

byee
brummer

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by brummer »

rncbc wrote:yes and no.

now that you're in need for those extensions (lv2 >= 1.2.0, bufsize, options) i might add them to my plan for the next year. no promises though ;)

byee
That will be great. :)

Well, otherwise my plug crashed qtractor, :? , even if I have set lv2:requiredFeature bufsz:boundedBlockLength; in the ttl file.
For my personal use, I know my bufsize and can simply set it, instead ask for it, so I can use it here at home anyway.
Without the bufsize extension my plug (gtkmm GUI) work well in qtractor, I just notice that qtractor called activate() and deactivate() twice at each call, so I move some sensible internals out of that.

regards
hermann

EDIT:// My foul, I forgot a check, so now qtractor (my-plug) didn't crash anymore, even with the missing feature. Anyhow, it wouldn't work prop without the extensions (lv2 >= 1.2.0, bufsize, options) :)
User avatar
rncbc
Established Member
Posts: 1070
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 275 times
Contact:

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by rncbc »

brummer wrote:
rncbc wrote:yes and no.

now that you're in need for those extensions (lv2 >= 1.2.0, bufsize, options) i might add them to my plan for the next year. no promises though ;)

byee
That will be great. :)
guess what? svn trunk rev.3091+ (aka. qtractor 0.5.6.28+) already provides preliminary support for lv2 options and buf-size features (lv2 >= 1.2.0).

no need waiting for next year :)

cheers
brummer

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by brummer »

rncbc wrote: guess what? svn trunk rev.3091+ (aka. qtractor 0.5.6.28+) already provides preliminary support for lv2 options and buf-size features (lv2 >= 1.2.0).

no need waiting for next year :)

cheers
Wow, I'm impressed :) That is really fast. Thanks a lot. Will check it out later today. :D
brummer wrote: I just notice that qtractor called activate() and deactivate() twice at each call,
Again my foul, just call it twice, because for a stereo track two instances are loaded.
brummer

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by brummer »

I've just check out qtractor from svn, ...
but still I get
No maximum buffer size given.
unsupported block-size: 0
No maximum buffer size given.
unsupported block-size: 0
for the case it helps, here is my code were I ask for the bufsize in instantiate ,
this works in jalv:

Code: Select all

  const LV2_Options_Option* options  = NULL;
  LV2_URID_Map*             map      = NULL;
  uint32_t bufsize = 0;

  for (int i = 0; features[i]; ++i) {
    if (!strcmp(features[i]->URI, LV2_URID__map)) {
      map = (LV2_URID_Map*)features[i]->data;
    } else if (!strcmp(features[i]->URI, LV2_OPTIONS__options)) {
      options = (const LV2_Options_Option*)features[i]->data;
    }
  }

  if (!map) {
    fprintf(stderr, "Missing feature uri:map.\n");
  } else if (!options) {
    fprintf(stderr, "Missing feature options.\n");
  } else {
    LV2_URID bufsz_max = map->map(map->handle, LV2_BUF_SIZE__maxBlockLength);
    LV2_URID atom_Int = map->map(map->handle, LV2_ATOM__Int);
  
    for (const LV2_Options_Option* o = options; o->key; ++o) {
      if (o->context == LV2_OPTIONS_INSTANCE &&
        o->key == bufsz_max &&
        o->type == atom_Int) {
        bufsize = *(const int32_t*)o->value;
      }
    }

    if (bufsize == 0) {
      fprintf(stderr, "No maximum buffer size given.\n");
    }

    if (bufsize < 64 || bufsize > 8192 ) {
      fprintf(stderr, "unsupported block-size: %d\n", bufsize);
      bufsize = 0;
    }
    printf("using block size: %d\n", bufsize);
  }
jack is running here with 256 Frames/Periode.
So this output means, the bufsize option is supported, but I didn't receive a value.

greets
hermann

here is my ./configure output:
Qtractor 0.5.6.28

Build target . . . . . . . . . . . . . . . . . . .: release

Code: Select all

  JACK Audio Connection Kit support  . . . . . . . .: yes
  ALSA MIDI Sequencer support  . . . . . . . . . . .: yes
  General audio file support (libsndfile)  . . . . .: yes
  Ogg Vorbis audio file support (libvorbis)  . . . .: yes
  MPEG-1 Audio Layer 3 file support (libmad) . . . .: yes
  Sample-rate conversion support (libsamplerate) . .: yes
  Pitch-shifting support (librubberband) . . . . . .: yes
  OSC service support (liblo)  . . . . . . . . . . .: yes
  Archive/Zip file support (zlib)  . . . . . . . . .: yes
  IEEE 32bit float optimizations . . . . . . . . . .: yes
  SSE optimization support (x86) . . . . . . . . . .: yes
  LADSPA plug-in support . . . . . . . . . . . . . .: yes
  DSSI plug-in support . . . . . . . . . . . . . . .: yes
  VST plug-in support  . . . . . . . . . . . . . . .: yes
  LV2 plug-in support  . . . . . . . . . . . . . . .: yes
  LV2 plug-in support (liblilv)  . . . . . . . . . .: yes
  LV2 plug-in UI instantiation (libsuil) . . . . . .: yes
  LV2 plug-in QT4 UI support . . . . . . . . . . . .: yes
  LV2 plug-in GTK UI support . . . . . . . . . . . .: yes
  LV2 plug-in External UI support  . . . . . . . . .: yes
  LV2 plug-in MIDI/Event support . . . . . . . . . .: yes
  LV2 plug-in MIDI/Atom support  . . . . . . . . . .: yes
  LV2 plug-in Worker/Schedule support  . . . . . . .: yes
  LV2 plug-in State support  . . . . . . . . . . . .: yes
  LV2 plug-in State Files support (EXPERIMENTAL) . .: yes
  LV2 plug-in Programs support . . . . . . . . . . .: yes
  LV2 plug-in Presets support  . . . . . . . . . . .: yes
  LV2 plug-in Time support . . . . . . . . . . . . .: yes
  LV2 plug-in Options support  . . . . . . . . . . .: yes
  LV2 plug-in Buf-size support . . . . . . . . . . .: yes

  JACK Session support . . . . . . . . . . . . . . .: yes
  JACK Latency support . . . . . . . . . . . . . . .: yes

  X11 Unique/Single instance . . . . . . . . . . . .: no
  VeSTige header support . . . . . . . . . . . . . .: yes
  Gradient eye-candy . . . . . . . . . . . . . . . .: yes
  Debugger stack-trace (gdb) . . . . . . . . . . . .: no

  Install prefix . . . . . . . . . . . . . . . . . .: /usr
User avatar
rncbc
Established Member
Posts: 1070
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 275 times
Contact:

Re: [ANN] Qtractor 0.5.6 - The Golf Tango release!

Post by rncbc »

brummer wrote:No maximum buffer size given.
unsupported block-size: 0
No maximum buffer size given.
unsupported block-size: 0
oops. forgot to map the new buf-size uris.

try again with svn trunk rev.3094+ (qtractor 0.5.6.29+)

cheers
Post Reply