Page 1 of 1

idea: integrated version control for .qlcplus dir

Posted: Thu May 04, 2017 7:59 am
by MontyZuma
I'm using git to do version control on my .qlcplus dir. Since I'm an linux-admin, it's no problem for me to do that on a shell. But I think a lot of the non-geeks could benefit from some kind of (distributed) version contol.

Maybe that's a stupid idea, but I kind of like it.

klaus

Re: idea: integrated version control for .qlcplus dir

Posted: Thu May 04, 2017 9:56 am
by mcallegari
Rejected.

.qlcplus is a temporary folder, created by QLC+ itself if it doesn't exist, and only on Linux.
Doesn't make any sense to version a temporary storage place, which moreover differs on every installation

Re: idea: integrated version control for .qlcplus dir

Posted: Fri May 05, 2017 12:36 am
by mdmayfield
It would definitely be nice to have some way of making fixtures, input profiles, modifier templates, RGB scripts, etc. more portable, without having to dig around in ~/.qlcplus or ~/Library/Application Support/QLC+ or C:\Users\me\QLC+.

Perhaps QLC+ could look inside the current project folder's directory for subfolders like Fixtures, InputProfiles, etc. as its first stop, before looking in the OS-level user library folder and then the factory library?

That way, it would be very easy to package up a project complete with fixtures etc., and for those who would like to use version control, they can simply use it on the top-level project directory.

Re: idea: integrated version control for .qlcplus dir

Posted: Fri May 05, 2017 8:17 am
by Chris De Rock
Like an "Extended" Save-Button? Would be helpful when transfering projects between diferent machines.

Re: idea: integrated version control for .qlcplus dir

Posted: Fri May 05, 2017 10:57 am
by siegmund
Maybe something like it is called "export" in other software.
Could produce a zip file containing all relevant information.

Re: idea: integrated version control for .qlcplus dir

Posted: Fri May 05, 2017 2:23 pm
by mcallegari
Even though I understand the usefulness of this feature (we're discussing something different than the OP though...), please understand the complexity of the problem.

As Matt said, every OS has its own peculiarities, and QLC+ respects that. System folders where to store application data are all different.
Storing user data in the QLC+ "folder" is not possible, cause of macOS, which treats an application as a self contained bundle. The application itself is not supposed to "write on its own" bundle. macOS users should know that, even though they continuously seem to ignore it as far as I can tell in this forum.

QLC+ would need to gather data (fixtures, input profiles, RGB scripts, modifiers, MIDI templates) from all the various storage places, and bundle them somehow.
I'd exclude zipping the whole thing, as it would mean for QLC+ to know also how to zip stuff. Continuing this way, and QLC+ will become an OS itself...

2 proposals:
- something like import/export fixtures, which can create/load a "QLC+ project bundle" with a pre-determined folder structure
- allow to place custom fixtures in the same folder of the project

Either way, this has to be defined in details before taking any decision.

Re: idea: integrated version control for .qlcplus dir

Posted: Fri May 05, 2017 3:32 pm
by siegmund
I already was afraid that this will get complicated. I know that gathering all that information will be very difficult, but I didn't already think about the different OSes (also because I know nothing about MacOS).
mcallegari wrote: Fri May 05, 2017 2:23 pm Storing user data in the QLC+ "folder" is not possible, cause of macOS, which treats an application as a self contained bundle. The application itself is not supposed to "write on its own" bundle.
But it should be possible by using a save dialog like it is with normal saving.
I agree that zipping is not essential and will make everything more complex so let's just leave this out.

I personally see more use cases for the export feature than having fixtures stored in the project folder - navigating to the right folder specified in the docs is not so hard imo.

Re: idea: integrated version control for .qlcplus dir

Posted: Sat May 06, 2017 8:13 am
by MontyZuma
mcallegari wrote: Thu May 04, 2017 9:56 am Rejected.

.qlcplus is a temporary folder, created by QLC+ itself if it doesn't exist, and only on Linux.
Doesn't make any sense to version a temporary storage place, which moreover differs on every installation
Sorry. Haven't been specific enough.
  • I'm storing my Workspaces under ~/.qlcplus/
  • I'm having own fixture definitions under ~/.qlcplus/fixtures
  • I'm having own rgbscripts under ~/.qlcplus/rgbscripts
So it does make sense (for me) to version control .qlcplus, and since I'm develop on one machine and use it on another, I'm doing it with an online git repository.

I wasn't proposing to version control ~/.qlcplus specifically, I'm proposing to version control all the user stuff for qlc+, so you can have a save rollback when you fucked up your workspace (which happens to me on a regular basis).

Most of us do so by saving intermediate workspaces along their setup work - but hey, that was an idea and looks like it really was a stupid one ;)

On the other hand I like how my stupid idea is evolving to something useful - the "project bundle" idea is really neat.

klaus