reloop button should reflect its toggle state

Bug #438817 reported by zinga on 2009-09-29
22
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Mixxx
Low
RJ Skerry-Ryan
1.8
Low
RJ Skerry-Ryan

Bug Description

OS : Linux 2.6.30.4 #1 SMP PREEMPT i686 GNU/Linux
CPU arch : Genuine Intel(R) CPU T2500 @ 2.00GHz

features_looping, revision 2495

when using looping, the "RELOOP" button just light up when pressed, but it would seem more informative to have it ON when looping is on, and off when looping is off, as it is clearly a toggle button, as shown in the Debug log:

"
Debug: [Main]: reloop_exit looping on
Debug: [Main]: reloop_exit looping off
"

Related branches

RJ Skerry-Ryan (rryan) on 2009-10-19
summary: - features_looping: reloop button should reflect its toggle state
+ reloop button should reflect its toggle state
RJ Skerry-Ryan (rryan) on 2010-01-05
Changed in mixxx:
milestone: none → 1.8.0
assignee: nobody → RJ Ryan (rryan)
status: New → Confirmed

I'm depending on it to reflect the toggle state so I can have controller lights follow it.

RJ Skerry-Ryan (rryan) on 2010-06-17
Changed in mixxx:
milestone: 1.8.0 → 1.8.1

Is it too much to do in time for 1.8.0? I just know we're going to get lots of users asking why their controllers don't show it.

Changed in mixxx:
milestone: 1.8.1 → none
Lupin3rd (luca-franceschini) wrote :

Yes. It's an important feature to complete visual infos about looping in all controllers! :-)

raskolnikov (raskolnikov) wrote :

Can't we keep track of the status of the reloop light in the midi script?

RJ Skerry-Ryan (rryan) wrote :

I've just added some changes to the 1.8 branch that allow a skin designer to create a GUI button that reflects the state of a control that it does not change when the button is pressed.

This means we can now make a push-button that changes the loop state when pressed via a normal push-button (e.g. calls [ChannelX],reloop_exit) while showing the value of another control (in this case, [ChannelX],looping_enabled)

Here is how to do it: http://pastebin.com/Ss8JCdmZ

This is a diff against the Shade 1024x768 XGA skin.

As you can see, I added a new connection to the Reloop button, a connection to the control [Channel1],loop_enabled. For this connection I set ConnectValueFromWidget to false, because we do not want changes to the button (clicks) to affect the loop_enabled control. The loop_enabled control is a read only control and should not be set by anyone other than the mixing engine.

I also changed the existing two connections to the reloop_exit control to have ConnectValueToWidget false. We want the button to only reflect the state of the loop_enabled control, not the reloop_exit control. Presses to the button will change the value of reloop_exit, but changes to reloop_exit will not affect the button state.

Finally, I added LeftClickIsPushButton as true to the <PushButton> group. This ensures that while the number of states for the button is 2 (like the play/pause button) left-clicking (i.e. changing reloop_exit) still treats reloop_exit like a push button and not a toggle button.

Jus, please let me know if this is clear or not. Testing the above snippet causes the Channel1 Reloop button to show the 'Out' image when the loop is enabled. Let me know if this doesn't work for you.

Thanks,
RJ

jus (jus) wrote :

Works now for me on most skins , pushed skin updates to http://bazaar.launchpad.net/~jus/mixxx/skins/revision/2409

RJ Skerry-Ryan (rryan) on 2010-09-14
Changed in mixxx:
status: Confirmed → Fix Committed
importance: Undecided → Low

Awesome...now I can make the SCS.3d flash when a loop is running!

RJ Skerry-Ryan (rryan) on 2010-10-05
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers