Split of Functions and System Settings?

All the topics related to QLC+ on the Raspberry Pi
Post Reply
Chris de Rock

Currently i try to run QLC+ on a Raspberry PI B+. In this situation, it is useful to design the workspace on my desktop and transfer them to the pi. But on QLC+ on the pi uses other system-settings (universe in- and output for example) so i have to reset them in the workspace.

My question is: is it possible to seperate these settings from the workspace-file? These settings are system-dependent, so they can be stored in ~/.qlcplus for example.
Massimo Callegari

Hello Christian. I prefer this to be in the RPi forum.
Actually the settings are device-dependent so you can move your project across platforms and if the device mapping is the same, everything works right away.

So basically when you edit a project you're going to use on the RPi, you need to have the same device mapping. Otherwise, just load the project on the Rpi, change the IO mapping, save the project and extract the information from the qxw file in the tag.

Can you please give an example why mapping in the project doesn't work for you ?
Chris de Rock

I use OSX to create the Workspace and have connected an FCB1010 MIDI Floorboard (for controlling) and a simple FTDI323 device as DMX interface. But the device names on OSX and Pi are not equal. If i transfer the workspace and the hardware to the Pi the workspace wont work and i need to re-set the device mapping.

For DMX i want to use the Pi headless and it may by useful if i can store the device-mapping direct on the Pi.
Chris de Rock

another idea: can we make QLC+ run headless? I mean, if you run it on the Pi and use only an external controller + web access, you dont need a gui running on the pi. in this case you can dissable the X11 on the pi and save cpu-time.

at the moment i try some hacks to do this but im still at the beginning...

currently i have an average load of 1.5 and i think everything under 1 would be nice.
Massimo Callegari

Christian, excuse me but I don't follow...
Does it bother you to have 1.5% of CPU used ?
The QLC+ RPi port does not use X11, so you won't find it. Most likely if no HDMI monitor is connected, the whole graphics rendering won't even waste much CPU.

As for the settings, they don't work by name, but by index. Just make sure the device mapping on OSX is the same of the RPi.
In any case, if you do as I suggested in my previous post, it would be quick and easy.
Chris de Rock

no, not 1,5%, i mean a load of 1.5 (150% cpu-load) it can be that i'm not using an high optimized version of QLC+, i just try to reduce the load. but when QLC+ does not use X11 i try to disable this.
Massimo Callegari

Are you building QLC+ yourself ?
Make sure it's in release mode and not debug.
Chris de Rock

now, after compiling with -O2 i get an average system load of 0.9 which is god enough. but there is one widget that makes problems: the speeddial. i use this to tap the tempo with my midi floorboard and on the pi the load explodes if i tap the tempo (and qlc wont respond to events).
Chris de Rock

i see that the tap-slot in speeddial.cpp emits always signals even they are unwanted (for example the first tap in a sequence). i think, you should wrap it with a QTimer as in the file speeddial.patch
Chris de Rock

And one little thing... if the application is started on the pi, you have no chance to quit. here is a little patch to integrate a quit-button into the toolbar.
Massimo Callegari

Christian, please, wait.
I think I have written this in the User guide: to shutdown QLC+ press CTRL-ALT-Backspace

Also, you can start QLC+ in kiosk mode and have a quit button in the Virtual Console.
Massimo Callegari

By the way, why do you need a quit button ?
Chris de Rock

i think, a quit-button is easier to handle for normal users (they dont read manuals, you know ;) )
Massimo Callegari

Manuals are written to be read, not just for fun.

Anyway, that doesn't answer my question. Why do "normal users" need a quit button ?
Once they are in the Linux shell what do they do next ?
(also remember there's a SSH access...)
Chris de Rock

I personally missed the button on the raspberry especially if qlc runs without display manager but you dont have to implement this.

do you have an idea about the speeddial?
Massimo Callegari

No I haven't.
Have you checked if you built QLC+ in release or debug mode ?
Chris de Rock

it was build in release mode.
Massimo Callegari

Then it might be worth to review the speed dial code also on the desktop version.
Just a few more details: are you tapping via keyboard or a particular controller (USB, MIDI, ..) ?
Chris de Rock

The tapping comes from a MIDI-Controller connected via USB.

One thing about the quit-button. i tryed to profile the app via gprof and this tool needs an exitcode 0, so i added the quit-button
Chris de Rock

OK, yesterday i tested the speeddial-patch and it works. i think, the problem was that you get sometimes a very high value from m_tapTime->elapsed() and the computing of this value costs time. by "ignoring" the first tap of a sequence you cant get these high values.

i changed the patch a little bit to make it more usable (the timer will be resetted on every tap)
Post Reply