Various keyboard shortcuts stopped working

Bug #999560 reported by jus
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Low
Daniel Schürmann

Bug Description

Tested with the latest lp:mixxx r3159 MacOSX 10.6.8 various keyboard shortcuts stopped working, e.g.
[Channel1]
LoadSelectedTrack Shift+Left
eject Alt+Shift+Left
[Channel2]
LoadSelectedTrack Shift+Right
eject Alt+Shift+Right

Also only one keyboard shortcut is processed at a time. This is a regression from previous versions, e.g
* you can`t start simultaneous playback with "D" and "L" anymore,
   and can`t start multiple hotcues on different tracks
* you cant continue playback with "D" while cueing with "F" anymore,
   and can`t continue playback with "D" while hotcueing with "Z" on a stopped deck.

Changed in mixxx:
assignee: nobody → Daniel Schürmann (daschuer)
Changed in mixxx:
status: New → Confirmed
status: Confirmed → In Progress
Revision history for this message
Daniel Schürmann (daschuer) wrote :

All shortcuts should work again with lp:mixxx r3161.

I cannot reproduce the simultaneous issue with Ubuntu.
I fact, every key event is handled separate.

Debug [Main]: keyboard press: "L"
Debug [Main]: keyboard press: "D"
Debug [Main]: keyboard press: "D"
Debug [Main]: keyboard press: "L"
Debug [Main]: keyboard press: "L"
Debug [Main]: keyboard press: "D"
Debug [Main]: keyboard press: "L"
Debug [Main]: keyboard press: "D"

Jus, can you please retest it on Mac OS, what's your debug output?
Thank you!

Revision history for this message
jus (jus) wrote :

Thanks, i can confirm that the previously not-workings shortcuts are ok now with Mac OSX.

The separate issue with the simultaneous key-presses still stands, at least with Mac OS.
It appears to me that there is a short delay before a 2nd keyboard press is processed. Shortcuts pressed in between are ignored.

Debug output Mac OS (start simultaneous playback):
Debug [Main]: keyboard press: "L"
Debug [Main]: Committing transaction on "qt_sql_default_connection" result: true
Debug [Main]: Query: " "" " parsed to: "WHERE (id in (6,9))"
Debug [Main]: PlaylistTableModel(0x11c76ffb0) select() took 1 ms
When i try to start two hotcues with different tracks on stopped decks , the first pressed hotcue plays until the the 2nd is released. Then both stop even if the first shortcut is still pressed.

I tested with Ubuntu and as you said it is fine there.
Debug output Linux (start simultaneous playback):
Debug [Main]: keyboard press: "D"
Debug [Main]: keyboard press: "L"
Debug [Main]: Committing transaction on "qt_sql_default_connection" result: true
Debug [Main]: Query: " "" " parsed to: "WHERE (id in (1))"
Debug [Main]: PlaylistTableModel(0x2f04b40) select() took 1 ms
Also hotcue shortcut handling is fine - just as it should be.

Using Qt version 4.8.1 both in Mac OSX 10.6.8 & Ubuntu Linux 12.04

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Thanks for testing.

I have prepared a version with additional debug output:
http://builds.mixxx.org/builds/experimental-daschuers_trunk/mixxx-1.11.0-alpha2-daschuer~daschuers-trunk-bzr2979-macintel32.dmg
Can you please record the debug output when pressing "D" and "L"

Can you also confirm that this issue was introduced by lp:mixxx #3129?

Is this your second test case?
Hold "Y" -> Deck 1 playes
Hold "M" -> Deck 2 playes
Release "M" -> both Deck stopped
Release "Y" -> nothing happens

btw: I can not confirm this issue for WinXP.

Revision history for this message
jus (jus) wrote :
Download full text (3.5 KiB)

I reverted back to lp:mixxx r3128 and the issue does not appear.

The following was tested with mixxx-1.11.0-alpha2-daschuer~daschuers-trunk-bzr2979-macintel32.dmg

#1 = start simultaneous playback - press "D" & "L"
Result: Only the deck triggered by "D" plays

Debug output Mac OS:
Debug [Main]: KeyPress event = 76 KeyId = 1
Debug [Main]: keyboard press: "L"
Debug [Main]: KeyPress event = 68 KeyId = 1
Debug [Main]: KeyRelease event = 76 AutoRepeat = false KeyId = 1
Debug [Main]: KeyRelease event = 68 AutoRepeat = false KeyId = 1
Debug [Main]: KeyRelease event = 68 AutoRepeat = false KeyId = 1
Debug [Main]: Committing transaction on "qt_sql_default_connection" result: true
Debug [Main]: PlaylistTableModel(0x614a5a0) select() took 1 ms

#2 start simultaneous playback - hold Hotcue "x" & ","
Result: Only the hotcue triggered by "X" plays and stops once "," is released

Debug output Mac OS:
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: keyboard press: "X"
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: Committing transaction on "qt_sql_default_connection" result: true
Debug [Main]: PlaylistTableModel(0x614a5a0) select() took 1 ms
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyRelease event = 44 AutoRepeat = false KeyId = 1
Debug [Main]: KeyRelease event = 88 AutoRepeat = false KeyId = 1

#3 start playback - hold Hotcue "x" and later press or hold ","
Result: Hotcue triggered by "X" plays and stops once "," is released even if "X" is still pressed

Debug output Mac OS:
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: keyboard press: "X"
Debug [Main]: Committing transaction on "qt_sql_default_connection" result: true
Debug [Main]: PlaylistTableModel(0x614a5a0) select() took 1 ms
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 88 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 KeyId = 1
Debug [Main]: KeyPress event = 44 Ke...

Read more...

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Thank you for you testing.
It was just simple __OSX__ -> __APPLE__
I have read the code many times but this was to hard to recognise ;-)

Changed in mixxx:
status: In Progress → Fix Committed
jus (jus)
Changed in mixxx:
milestone: none → 1.11.0
importance: Undecided → Low
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6442

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.