idea: integrated version control for .qlcplus dir

Request a feature that you would like to see in QLC+.
Explain in details why you would need it and which is your usage case.
Post Reply
User avatar
MontyZuma
Posts: 39
Joined: Sat Apr 01, 2017 11:11 am
Real Name: Klaus Muth

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
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

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
mdmayfield
Posts: 71
Joined: Wed Jun 15, 2016 8:51 am
Real Name: Matt Mayfield

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.
Chris De Rock
Posts: 103
Joined: Tue Apr 14, 2015 6:54 am
Real Name:

Like an "Extended" Save-Button? Would be helpful when transfering projects between diferent machines.
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

Maybe something like it is called "export" in other software.
Could produce a zip file containing all relevant information.
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

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.
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

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.
User avatar
MontyZuma
Posts: 39
Joined: Sat Apr 01, 2017 11:11 am
Real Name: Klaus Muth

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
Post Reply