My first test was a disaster... until I figured it out.
Attention!!!
Don't edit the path as relative in properties, or it will be a disaster. Just let Qtractor do the magic.
Now it works like this:
Session folders are saved within the "directory" tag in a path relative to the qtr file. No matter where you defined that folder, it will be saved correctly within the file as relative to the .qtr itself. Recordings (samples, midis...) remain relative to the session directory.
Examples:
1
Directory=MyPath/Projects/Project_A/
SessionFile Save in=MyPath/Projects/Project_A/Project_A.qtr
Saved in Project_A.qtr= <directory>.</directory>
2
Directory=MyPath/Projects/Project_A/Wavs_MIDI
SessionFile Save in=MyPath/Projects/Project_A/Project_A.qtr
Saved in Project_A.qtr= <directory>Wavs_MIDI</directory>
3
Directory=MyPath/SamplesAndRecordsOfAllProjects
SessionFile Save in=MyPath/Projects/Project_A/Project_A.qtr
Saved in Project_A.qtr= <directory>../../</directory>
I don't recommend it. It's a known shared dependency model that causes a lot of problems :).
Logic tells me it should work just as well with older projects, but I haven't tested it enough, so I'm sticking with it.
PS
To summarize:
1- Dependencies are still relative to the session folder, since that's where they're stored.
2- Session folders are now relative to the document, which gives the project its identity.
Conclusion:
Finally, portable projects without having to use QTZ :).
The user will simply notice that everything works as expected.
1. If you duplicate a folder to create a new version of the project.
2. If you migrate all your projects and samples to another location (as long as they maintain the same structure relational/relative between them at the destination, of course).
Now it just works as expected.
My first test was a disaster... until I figured it out.
Attention!!!
Don't edit the path as relative in properties, or it will be a disaster. Just let Qtractor do the magic.
Now it works like this:
Session folders are saved within the "directory" tag in a path relative to the qtr file. No matter where you defined that folder, it will be saved correctly within the file as relative to the .qtr itself. Recordings (samples, midis...) remain relative to the session directory.
Examples:
1
Directory=MyPath/Projects/Project_A/
SessionFile Save in=MyPath/Projects/Project_A/Project_A.qtr
Saved in Project_A.qtr= <directory>.</directory>
2
Directory=MyPath/Projects/Project_A/Wavs_MIDI
SessionFile Save in=MyPath/Projects/Project_A/Project_A.qtr
Saved in Project_A.qtr= <directory>Wavs_MIDI</directory>
3
Directory=MyPath/SamplesAndRecordsOfAllProjects
SessionFile Save in=MyPath/Projects/Project_A/Project_A.qtr
Saved in Project_A.qtr= <directory>../../</directory>
I don't recommend it. It's a known shared dependency model that causes a lot of problems :).
Logic tells me it should work just as well with older projects, but I haven't tested it enough, so I'm sticking with it.
PS
To summarize:
1- Dependencies are still relative to the session folder, since that's where they're stored.
2- Session folders are now relative to the document, which gives the project its identity.
Conclusion:
Finally, portable projects without having to use QTZ :).
The user will simply notice that everything works as expected.
1. If you duplicate a folder to create a new version of the project.
2. If you migrate all your projects and samples to another location (as long as they maintain the same structure relational/relative between them at the destination, of course).