Mis-described shortcut function?

• May 8, 2020 - 13:38

I was exploring what exciting actions are available that can be assigned to shortcuts and found this entry.

Clipboard01.jpg

I was hoping this would allow me to tap a key at my choice of tempo and have Musescore play along in time. I was surprised that I hadn't seen any reference to the addition of such a feature but perhaps it had passed under my radar. Then I had my excitement dashed when I found out that all it actually does is select Real time (manual) note input. What it doesn't do is perform the piece.

Would it be a good idea not to raise users' expectations and change the description to reflect better its actual action?

Attachment Size
Clipboard01.jpg 13.55 KB

Comments

In reply to by SteveBlower

I guess the same applies to

Clipboard02.jpg => Select real time (automatic) note input

Clipboard03.jpg => Select repitch note input

Clipboard04.jpg => Select rhythm note input

Clipboard05.jpg => Select insert note input

Clipboard09.jpg => Select step time note input

That would then be consistent with the menu items and the handbook and it would describe the "action" more precisely. Currently the description implies that the shortcut would input a note rather than switching input modes.

Hmm, what you're showing there is supposed to be the tootip
But indeed it is not, strange.

How about "Enter notes into the score while tapping a key or pedal to set the tempo"

See https://github.com/musescore/MuseScore/pull/6063

There is something strange going on:

class Shortcut {
      MsWidget _assignedWidget;   //! the widget where the action will be assigned
      int _state { 0 };           //! shortcut is valid in this Mscore state
      QByteArray _key;            //! xml tag name for configuration file
      QByteArray _descr;          //! descriptor, shown in editor
      QByteArray _text;           //! text as shown on buttons or menus
      QByteArray _help;           //! ballon help
                                  //! (or'd list of states)
 
      Icons _icon                            { Icons::Invalid_ICON };
      Qt::ShortcutContext _context           { Qt::WindowShortcut };
      ShortcutFlags _flags                   { ShortcutFlags::NONE };
 
...
      Shortcut(
         Ms::MsWidget assignedWidget,
         int state,
         const char* key,
         const char* d    = 0,
         const char* txt  = 0,
         const char* h    = 0,
         Icons i          = Icons::Invalid_ICON,
         Qt::ShortcutContext cont = Qt::WindowShortcut,
         ShortcutFlags f = ShortcutFlags::NONE
         );

and

Shortcut::Shortcut(MsWidget assignedWidget, int s, const char* name,
   const char* txt, const char* d, const char* h, Icons i, Qt::ShortcutContext cont, ShortcutFlags f)
      {
      _assignedWidget = assignedWidget;
      _state       = s;
      _flags       = f;
      _key         = QByteArray(name);
      _context     = cont;
      if (txt)
            _text = QByteArray(txt);
      _descr       = d ? QByteArray(d) : _text;
      _help        = h ? QByteArray(h) : _descr;
      _icon        = i;
      }
...
void Shortcut::translateAction(QAction* action) const
      {
      action->setText(text());
      if (!_help.isEmpty()) {
            action->setToolTip(help());
            action->setWhatsThis(help());
            }
      else {
            action->setToolTip(descr());
            action->setWhatsThis(descr());
            }
      action->setStatusTip(QString("action:%1").arg(_key.data()));

Still it does show the tooltip AKA help() or h rather than the text AKA text() or txt?
What am I missing here?

Do you still have an unanswered question? Please log in first to post your question.