View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000351 | MMW v4 | Install/Config | public | 2003-05-05 12:25 | 2007-04-11 18:52 |
Reporter | rusty | Assigned To | |||
Priority | urgent | Severity | feature | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Fixed in Version | 3.0 | ||||
Summary | 0000351: Configurable hotkeys (Expose functionality via COM objects) | ||||
Description | Currently, a range of functionality is supported via hard-coded hotkeys. It would be useful to make these hotkeys user-configurable. In addition, users should be able to set these hotkeys to work globally (i.e. even when MM is not in focus). Below is a proposed implemntation for hotkeys. It is based on -Winamp Global Hotkeys plugin -Hotkey application: http://www.snapfiles.com/reviews/HotKeys/hotkeys.html |-------------------------------------------------- |Action . . . . Hotkey. . . . . . . . . Global |--------------------------------------------------- |Action1 . . . .CTRL + ALT + INSERT. . . [x] . . . [Add] |Action2. . . . CTRL + R . . . . . . . . . [ ] . . . [Remove] |Action3... ---------------------------------------------------- |--Edit Hotkeys------------------------------------- |Action: __Action_________________^ |Hotkey: __________________________ |Global: [ ]. . . . . . . . . .. . . . . . . . . [Apply] |--------------------------------------------------- Items to consider that may not be obvious from the dialog include: -The action list on top should only contain actions that have been assigned -The action list on top is read only (all edits occur in the edit box below) -The Action list dropdown should contain ALL actions in MM that already have assigned hotkeys, including those added by scripting functionality (so that hotkeys can be applied to scripts) -The Action list dropdown should by dynamic and also contain actions for newly installed scripts -The 'Global' checkbox defines whether the key is active even if MM is not in focus -Default shortcuts provided via the translations should be reflected in the hotkey list One item that may be worth is that given that there are a huge list of Actions, it may be preferable to list all actions in the table--even those that have not been assigned shorcuts. If this approach is taken, then the 'Action:' entry in the 'Edit Hotkeys' dialog can be read-only and the dialog modified as follows: |-------------------------------------------------- |Action. . . . . .Hotkey. . . . . . . . . Global |--------------------------------------------------- |Action1 . . . .CTRL + ALT + INSERT. . . . [x] . . . . [Edit] |Action2 . . . .CTRL + R . . . . . . . . . [ ] |Action3.... |...All Actions.... ---------------------------------------------------- |--Edit Hotkeys------------------------------------- |Action: __Action_________________ |Hotkey: __________________________ |Global: [ ]. . . . . . . . . . . . . . . . . . [Apply] |--------------------------------------------------- I think that the second design is preferable. | ||||
Additional Information | Info about a useful plugin that might be helpful: http://www.songs-db.com/forum/viewtopic.php?t=1540 Hotkeys that aren't yet supported: http://www.songs-db.com/forum/viewtopic.php?t=1238 | ||||
Tags | No tags attached. | ||||
Fixed in build | |||||
parent of | 0002146 | resolved | Hotkeys: Add Hotkeys for ratings, search, and undo |
|
In addition to being configurable, the user should be given the option for each hotkey combination of specifying whether or not the hotkey applies globally (even when MM is minimized), or just when it is maximized. See: http://www.songs-db.com/forum/viewtopic.php?t=483 |
|
Also, it should be possible to use hotkeys to access specific plug-ins. We may want to give script writers control over whether an action should appear in the hotkey list. |
|
Related issue to consider: http://www.songs-db.com/forum/viewtopic.php?t=696&view=previous edited on: 10-28-03 10:37 |
|
GUI implementation for configurable hotkeys management (addition, remove, change) is already finished. |
|
This is working nicely. There are a few changes I'd recommend before we consider this final: Bugs: -After adding a shortcut, if the user tries to check off the global checkbox, it has no effect Design issues: -The dialog should be pre-populated with all shortcuts that MM has as defaults so that the user can change these defaults. e.g. (burn, auto-organize, auto-tag, etc.--any command with a shortcut should automatically appear in this list) -"[ ] Global" should be in a different position (perhaps to the right of the Action combobox), since it currently implies that there's a 'global' button somewhere on the keyboard. -The 'Script' and 'Function' options should be at the bottom since they're often irrelevant -The 'New'/'Save', Delete, Apply buttons are confusing since it's unclear when to use 'New' vs 'Save' vs. 'Apply' i.e. the workflow for creating new entries vs editing existing entries is unclear. This could easily be fixed by simplifying the functionality slightly: --'Add' always adds whatever has been entered in the edit panel --'Delete' always deletes whetever entry has been selected --'Apply' always updates whatever entry has been selected This would result in the following: |--Edit Hotkeys------------------------------------- |Hotkey: []ctrl []alt []Shft []win _______________^ |Action: __Action_________________ Global: [ ] |Script:____________ Function: ________________ |. . . . . . . . . . . . . . . . . . [Apply] | [Add] [Delete] [Apply] |--------------------------------------------------- Note: one other thing that might be a good idea would be for the keyboard selection to work based on what the user presses on the keyboard OR what the user selects in the combo-box. The reason for this is that I'm not sure if MM will be smart enough to know what keys are available for each foreign language keyboard. e.g. |--Edit Hotkeys------------------------------------- |Hotkey: []ctrl []alt []Shft []win __<press hotkey>__ |
|
I noticed that it isn't ready for localization, all necessary internal strings should be composed as in other parts of MM so that they can be localized. |
|
This is looking very good. A couple of additional suggestions: 1) Text Clarification: Delete current hotkey? --> Delete selected hotkey? 2) Text Clarification (at the moment it's unclear what's being replaced) Hotkey already exists. Overwrite existing hotkey? --> <Keyboard combination> is currently used for '<Action Name>'. Use it for '<New Action>' instead? 3) Actions in the Actions dropdown are the Action Descriptions instead of the Actions. I think that if someone wants to set a shortcut for e.g. 'Auto-Tag from Amazon', they're going to look specifically for 'Auto Tag from Amazon' rather than the description of the function. 4) Will this work properly on foreign keyboards that have different character sets? i.e. will the list of available characters update appropriately? |
|
New actions that could be added: - Rate 0.5 star down - Rate 0.5 star up - Rate 1 star up - Rate 1 star down - Playback: Play - Playback: Pause - Playback: Skip 5 seconds forward - Playback: Skip 5 seconds backward - Playback: Pan left - Playback: Pan right - Playback: Pan center - Playback: Volume mute For rating, it could be useful both for selected or now playing track and so possibly we could add 2 sets of these actions? |
|
Other implementation details discussed with Pavel: - Technical: Remove some unneeded try..except blocks - Localization: Make it fully localizable, try to reuse existing strings, e.g. compose strings like: _('Playback') + ': ' + _('Stop'). - Try to replace key selection dropdown with an editline that accepts pressed keyboard shortcut (like Ctrl+Alt+Enter). |
|
This note from Rusty wasn't implemented: The dialog should be pre-populated with all shortcuts that MM has as defaults so that the user can change these defaults. e.g. (burn, auto-organize, auto-tag, etc.--any command with a shortcut should automatically appear in this list) Instead, currently there are some entries manually added to the shortcuts, but they don't correspond to what is the default in MM!! E.g. Ctrl-P or Ctrl-B Shortcuts should be properly pre-populated, and if any default shortcut is modified, it should also appear properly in all MM menus (i.e. Action Shortcut properly will be modified). |
|
Verified in 1027. |