You are here

disable jack session archiving (request)

Rui,

It would be great to have the option to disable archiving when saving/loading a jack session, and use the current project and files.

Forums: 
rncbc's picture

may i ask why you want such an option?

nb. due to jack-session way of doing its thing, which requires every state and media files moved or linked under a designated session folder, which for some reason must be brand new (or empty) to start with, saving a qtractor session as an archive (.qtz) is the only all-inclusive solution for just that.

having the option to not doing that would bring a lot of trouble, like files vanishing without warning or control, specially after you try to save and replace an existing jack-session file set.

cheers

>>having the option to not doing that would bring a lot of trouble, like files vanishing without warning or control, specially after you try to save and replace an existing jack-session file set.

But this is exactly what I'm trying to avoid! I just lost half a day's recording due to this "feature".

I often have a number of sub-projects within a composition. With the current setup, this means completely different archives for each sub project. This means I have to update every instance of a qtz archive with the new one - if I remember to do it. And then there's still the original project that has been created lying around on disk. This can eventually consume gigabytes of data for a project that perhaps only really requires 200-400mb.

Sometimes I want to quickly open a qtractor session and tweak something. Can't do it. Have to open up a complete project along with perhaps too many plugins and synthesisers to effectively work. Also those precious moments of inspiration can quickly die when waiting for programs to unarchive their data.

Sometimes I forget to open the jack session. Oops, just destroyed tons of work. So next time I open the session, things become a mess. Lost data. Confusion.

And unarchiving a music project to a tmp directory is insane - what if the tmp directory is on a virtual drive? Crash, and you can lose hours of work. In my case, the tmp directory is not on a fast part of the disk. Means I can't do as much before my disk can't keep up. And if your system auto-erases /tmp on boot up...and you just had a system freeze...

Currently if Qtractor crashes, all changes are overwritten when the new archive is expanded to disk. In fact if any app (or apps) crash while the session is open, I have two choices:

1) Open up the old session, and lose recently changed data
2) Rebuild the entire jack session, after moving the tmp directory to another location, opening it in Qtractor etc. painful.

Contrast this with apps that don't rely on archived data - I just open up the jack session again and BAM! It's there, just as it was before the crash.

Just as an example, Hydrogen has an option for just this case - it means *I* control my project layout, not some session-manager (whose job should be to work for me, not the other way around - file management is best left to a file manager). I can then copy the Hydrogen project over to my laptop and work on some drums at home, without having the extra wait and system strain of having Ardour, Qtractor, Kontakt, Zyn etc. all having to be open (and available) at the same time. Then I copy it back to the main project, and when I want to bring up the full project, all my local changes are there, no mucking about with messy tmp directories, or getting confused over which one is the most recently edited session.

Summary:
- I can use the exact same project in multiple sessions with ease.
- I can edit it on another system and bring it back in to the main project.
- I don't get caught using 5 times the disk space than necessary.
- It stays on the physical disk that I have designated as my work disk
- It stays within my project layout, not someone else's decision as to how I lay out my projects.
- And the possibility of losing data is in fact, way less. (Or I presume everyone who is not using jack session is constantly losing data?)
- Crashes have no effect other than (possibly) losing recent, unsaved data.

I know this was long, but I believe that there are valid reasons for this request.

chau

rncbc's picture

may i ask which qtractor version are you running? and which jack-session manager if not qjackctl?

byee

Qtractor HEAD from 2011-11-11
Qjackctl from 2011-11-03 (and using the inbuilt interface to jack session)

chau

rncbc's picture

re. Qjackctl from 2011-11-03 (and using the inbuilt interface to jack session)
ok. and are you using the versioning option when saving/replacing a jack-session?

meanwhile, i'm considering adding the option you request but with a slight twist: this will come in the form of a new user preference, where he/she can chose the default session file format, between regular session format (.qtr or .qts file suffix) and the zip/archive bundle format (.qtz)

this new option applies when saving as usual (File/Save, Save As... menus) and, more important to the subject at hand, to the session file format carried out on a jack-session context to "Save" or "Save and Quit" commands, which currently is the later (.qtz zip/archive bundle) by hard coded default.

however, i have this creepy feeling that having it to a regular session file format (.qtr or .qts) which does not bundle media content at all but just the path references to the external audio/midi files, may bring a lot more trouble than any of the scenario you (long) exposed.

for example, just by having any of the audio/midi files under the jack-session folder or directory, either by accident or by naive mistake, will cause you to potentially loose that precious data or at least making it unreachable later, even though you have qjackctl jack-session versioning enabled. you'll have to pick those files by hand on the file-system and move them to the new jack-session folder. otoh, if you have versioning disabled then you're dead in the water, those files will be lost forever as sson as you save/replace to the same jack-session folder.

cheers

rncbc's picture

twist && done.

svn trunk rev.2608+ (aka. qtractor 0.5.1.39+) commit-log says:

  • Default session file format option now promoted (see View/Options.../General/Session) in the way of whether file suffix gets honored upon session open or save (.qtr, .qts or .qtz). This brand new option also applies for default state file format on a JACK-session salvage context. (EXPERIMENTAL)
  • The View/Options... (aka. user preferences) dialog sees a new arranjement in layout, with some options moving into this brand new tab page called General.

hth.
cheers

This is a nice option to have, and thank you for responding to all this. I really appreciate it.
But I fear we have a little miscommunication. (Spanish <-> English <-> Portuguese??? hahaha)

I am suggesting an option to not save anything in the jack-session dir.

example fs layout:

/raid/proyecto
/raid/proyecto/ardour
/raid/proyecto/hydrogen
/raid/proyecto/qtractor
/raid/proyecto/jack-sessions/

I keep only the session state files (.xml) in /raid/proyecto/jack-sessions dirs. I want qtractor to open and save .qtr and data located in /raid/proyecto/qtractor. I use jack-session to launch apps/state, and restore the connections. No touching my data.

Chau

rncbc's picture

i'm sorry but that doesn't seem to make great sense.

saving a jack-session *always* saves a qtractor session state file under the jack-session directory or folder; there's no way to to disable that because it is *not* an option; it is the way how of jack-sessions work--the new option just lets you select which qtractor file format that session sate is, whether as a regular xml file (.qtr or .qts) or a zip/archive bundle (.qtz).

of course you can save a qtractor session from the gui, outside and off a jack-session directory, but that won't be the session that gets loaded when you load the formal jack-session.

maybe i've missed the point completely. or one of us (or both) are failing to understand properly what each other is arguing :)

cheers

Add new comment