-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sort_column_toggle is unidirectional #10719
Comments
Commented by: ronso0 This control toggles the sorting of the column specified by the integer argument. https://manual.mixxx.org/2.4/en/chapters/appendix/mixxx_controls.html#control-[Library]-sort_column FWIW I'd appreciate a control that toggles sorting of the column of the currently highlighted table cell. |
Commented by: ronso0 oh, sorry for the noise. I got confused by the fact that this is not working if the Developer Tools Window has focus and that it falls back to interpreting the integer as column id. If the tracks table has focus it is indeed using the current cell for sorting, though it fires on press and release (tested with keyboard). |
Commented by: ronso0 We could add a wrapper to common-controller-scripts.js to allow simple xml bindings that act only on press. |
Commented by: robi970 the Reloop RP8000 turntable taught me that it has buttons that send the midi signal to press and then to release (the 8 drumpads) and buttons that instead send the pressure and release signal both at the moment of release, with an interval of 40 milliseconds (Trax button and function or shift buttons).
but the xml file works in one way only |
Commented by: ronso0
I can't test atm, I'm not familiar with the MIDI details and the only documentation is in the Wizard chapter |
Commented by: robi970 summary:
it probably behaves like this because, to give the ascending / descending order, Mixxx still waits for the value "0". but it is also likely that I am missing something |
Commented by: robi970 |
Commented by: ronso0 what is "random" and "reverse random sense"? "every time the drumpad is pressed, the value "1" starts before the "0"" I don't quite understand what you mean. |
Commented by: robi970 I try to explain myself by entering the description of the command "sort column toggle" from the page manual.mixxx.org/2.3:
when I press drumpad (xml file only, "switch"), while pressed Xml file only, "Button": Only xml files, "Normal": in order to alternate between ascending and descending sorting, the value "0" must be sent to the "sort column toggle" function twice in a row (this is how the script function works), mmm ... I'm doubting that the assignment of the value "1" to the "sort column toggle" function will sort the "artist" column, because "1" is the value of the Artist column in the "sort column" tabel |
Commented by: robi970
in the library I don't show the artists column so I didn't notice it before attention: I was not wrong to mention "sort column" and "sort column toggle" |
Commented by: daschuer Maybe looking up the C++ helps: mixxx/src/library/librarycontrol.cpp Line 214 in c8107cb
mixxx/src/library/librarycontrol.cpp Line 936 in c8107cb
"sort_column_toggle" is designed to be mapped to an encoder knob. You can scrolls to the columns and sort them, where 0 is the current column, and Artist = 1, Title = 2 ... If you just like to toggle the sort order via a pushbutton, |
Commented by: daschuer I did not understand which function you like to achieve exactly. Maybe there is a missing bit in our C++ code. Can you describe the user action on the controller and the expected behaviour of Mixxx without implementation details? |
Commented by: robi970 Daniel, I thought about reporting the bug when I realized that the "sort column toggle" command in the xml file did not work both ways (ascending and descending), but only sorts the column in ascending order. your last message made me understand that perhaps the command was not born to be set in the xml file, but is specific for the script. I set up Mixxx like this: practically:
|
Commented by: robi970
alternates the ascending and descending order, |
Commented by: robi970 in this video you can see how the "sort_order" function works in the xml file .. with the mouse I sort the "year" column so that this is the column that will remain preset (not "preview"). |
Commented by: daschuer How do does your Trax knob move to BPM? Which Mixxx control is involved? This meas we have to change the implementation that the [Library],sort_order will also change the sort column to the selected column. That sounds reasonable. |
Commented by: ronso0 It's already working like this. mixxx/src/library/librarycontrol.cpp Lines 936 to 954 in 30cc5f1
It's just that sort_column_toggle is simply not designed to be mapped to pushbuttons (xml or GUI) that send 1 on press and 0 on release.
We could simply add a wrapper control 'sort_focused_column' that acts on press only (v > 0) and calls slotSortColumnToggle(0). |
Commented by: robi970 "How do does your Trax knob move to BPM? Which Mixxx control is involved? that's right, Daniel, it's "MoveLeft / MoveRight" |
Commented by: robi970 currently Mixxx uses many commands to do almost the same thing (move between folders, files and track data).
through a drop-down menu (for example in the settings), list all the parts of Mixx that can be focused via trax or button, being able to flag them in order to eliminate the parts in which you do not want to navigate, including the submenus (at inside Deck1, to be able to flag "hotcue" so you can use them via "GoToItem", but maybe not flag "beatjump" so as not to waste time scrolling through the parts I know I never want to use via "GoToItem").
in this way, however, "GoToItem" could no longer be used to load a track from the library, because when pressed it would put the column in focus in ascending / descending order keep in mind that more and more consoles come out with 6/8/.. settable midi buttons (+ "shift" buttons) and maybe even with trax |
Commented by: ronso0 this bug was just fixed by adding [Library], sort_focused_column and it was merged to the 'main' branch. So the fix is available in the nightly builds (ppa) / development snapshots (mixxx.org/download). |
Commented by: ronso0 re your unrelated feature request: you're asking to
It's unclear if all this is possible, and if it is that is an isane amount of work, and it is quite the opposite of the current design direction. Bottom line: |
Commented by: robi970 I feared the difficulty and I understand. I made that proposal starting from the assumption described in the "moveFocus" command: currently "moveFocus" acts only in a binary way: my previous proposal was in search of the "optimum", but it could be revisited by making the "MoveFocus" command (or the "moveLeft" and "moveRight" commands) assume the possibility of bringing the focus also between the various columns of the tracks. practically: |
Commented by: ronso0
It would also focus the searchox' Clear button if it's not empty. IMO merging 'MoveRight' and 'MoveFocus..' commands means that getting back from the table to the sidebar requires scrolling through all columns left of the current table cell. The other way around, going from the sidebar to the tracks table would always reset the horizontal scroll position to the leftmost column. |
Commented by: robi970 "IMO merging 'MoveRight' and 'MoveFocus..' commands means that getting back from the table to the sidebar requires scrolling through all columns left of the current table cell. The other way around, going from the sidebar to the tracks table would always reset the horizontal scroll position to the leftmost column." right. :) instead, consider:
|
Issue closed with status Fix Committed. |
Reported by: robi970
Date: 2022-04-20T15:08:21Z
Status: Fix Committed
Importance: Wishlist
Launchpad Issue: lp1969634
Attachments: [command: sort order](https://bugs.launchpad.net/bugs/1969634/+attachment/5583532/+files/command: sort order)
despite the meaning of the command, with the command "sort_column toggle" in the xml file you can sort the reference column only once, in ascending order.
To alternate between ascending and descending mode, I had to resort to the script:
The text was updated successfully, but these errors were encountered: