Since one contributor recently asked about signals and slots, I thought
it'd be good to write a bit about them.

The Qt documentation already explains them pretty extensively, so if you
just need help with the syntax or such, that is the place to look in:
http://qt-project.org/doc/qt-4.8/signalsandslots.html

However, I should write a bit about how to use them properly in the
context of LMMS. Which they currently aren't always.

Signals and slots should be reserved mostly for GUI events that need to
trigger some kind of single action. For example, connecting the signal
triggered by the clicking of a button to a slot function which closes
the window, sets some flag/variable/state, triggers some other GUI event
etc. This is perfectly fine signal/slot usage.

They should not be used in DSP, audio processing, or any kind of
speed-critical code. A common way I see them used (which I've also done
myself before I knew better) is to trigger some change or calculation
when a knob value is altered. This practice should be phased out and the
existing offenders altered.

Signals and slots are great for flexibility and abstraction and such.
Their disadvantage is that they're much slower than simply calling the
function directly. So they shouldn't be used for DSP code nor anywhere
that needs to be fast and/or low-latency.

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
LMMS-devel mailing list
LMMS-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lmms-devel

Reply via email to