diff options
author | Werner Schweer <ws.seh.de> | 2006-11-22 16:01:49 +0000 |
---|---|---|
committer | Werner Schweer <ws.seh.de> | 2006-11-22 16:01:49 +0000 |
commit | 81b334998132d11b9fb34275cd75ccd6bc2fd4f2 (patch) | |
tree | 53834c4897d4db7f2716e3d2cdc24a9098a65af8 | |
parent | c3ef23511b3a6324e991554b51d0e3f864368ac4 (diff) |
actions & shortcuts update
29 files changed, 538 insertions, 824 deletions
diff --git a/muse/muse/arranger/canvas.cpp b/muse/muse/arranger/canvas.cpp index 3df1f708..f050c492 100644 --- a/muse/muse/arranger/canvas.cpp +++ b/muse/muse/arranger/canvas.cpp @@ -429,11 +429,14 @@ void PartCanvas::contextMenu(const QPoint& pos) p.fillRect(0, 0, 20, 20, config.partColors[i]); a->setIcon(QIcon(pm)); } - a = pop->addAction(*deleteIcon, tr("delete")); + a = getAction("delete", this); + pop->addAction(a); a->setData(1); - a = pop->addAction(*cutIcon, tr("split")); + a = getAction("cut", this); + pop->addAction(a); a->setData(2); - a = pop->addAction(*glueIcon, tr("glue")); + a = getAction("glue", this); + pop->addAction(a); a->setData(3); a = pop->addAction(tr("de-clone")); a->setData(15); @@ -450,7 +453,7 @@ void PartCanvas::contextMenu(const QPoint& pos) a->setData(13); } else { - a = pop->addAction(*pianoIconSet, tr("pianoroll")); + a = pop->addAction(QIcon(":/xpm/piano.xpm"), tr("pianoroll")); a->setData(10); } a = pop->addAction(*edit_listIcon, tr("miditracker")); @@ -535,7 +538,8 @@ void PartCanvas::contextMenu(const QPoint& pos) for (int i = 0; i < TOOLS; ++i) { if ((arrangerTools & (1 << i))==0) continue; - a = pop->addAction(**toolList[i].icon, tr(toolList[i].tip)); + a = getAction(toolList[i], this); + pop->addAction(a); int id = 1 << i; a->setData(id); a->setCheckable(true); diff --git a/muse/muse/arranger/tlwidget.cpp b/muse/muse/arranger/tlwidget.cpp index 409b8c72..ec6cb9e3 100644 --- a/muse/muse/arranger/tlwidget.cpp +++ b/muse/muse/arranger/tlwidget.cpp @@ -121,8 +121,8 @@ void TLWidget::mousePressEvent(QMouseEvent* ev) int button = ev->button(); if (button == Qt::RightButton) { QMenu* menu = new QMenu(this); - QAction* a; - a = menu->addAction(QIcon(*deleteIcon), tr("Delete Track")); + QAction* a = getAction("delete", this); + menu->addAction(a); a->setData(CMD_REMOVE_TRACK); if (_track->type() == Track::MIDI || _track->type() == Track::WAVE) { a = menu->addAction(tr("Copy Track")); diff --git a/muse/muse/ctrl/ctrleditor.cpp b/muse/muse/ctrl/ctrleditor.cpp index 4a6f1e81..624e38e7 100644 --- a/muse/muse/ctrl/ctrleditor.cpp +++ b/muse/muse/ctrl/ctrleditor.cpp @@ -222,8 +222,8 @@ void CtrlEditor::mousePress(const QPoint& pos, int button, Qt::KeyboardModifiers int id = 1 << i; if ((arrangerTools & id) == 0) continue; - a = pop.addAction(**toolList[i].icon, toolList[i].tip); - a->setData(id); + a = getAction(toolList[i], &pop); + pop.addAction(a); a->setCheckable(true); if (id == (int)tool) a->setChecked(true); diff --git a/muse/muse/dssihost.cpp b/muse/muse/dssihost.cpp index 57d9e38f..579a3642 100644 --- a/muse/muse/dssihost.cpp +++ b/muse/muse/dssihost.cpp @@ -264,7 +264,6 @@ void initDSSI() if (dssiPath == 0) dssiPath = "/usr/lib/dssi:/usr/local/lib/dssi"; -printf("INIT DSSI <%s>\n", dssiPath); char* p = dssiPath; while (*p != '\0') { char* pe = p; diff --git a/muse/muse/icons.cpp b/muse/muse/icons.cpp index a5efb879..2fa62f9a 100644 --- a/muse/muse/icons.cpp +++ b/muse/muse/icons.cpp @@ -27,7 +27,6 @@ #include "xpm/edit_midi.xpm" #include "xpm/midi_edit_instrument.xpm" #include "xpm/midi_init_instr.xpm" -// #include "xpm/midi_inputplugins.xpm" #include "xpm/midi_local_off.xpm" #include "xpm/midi_reset_instr.xpm" #include "xpm/settings_appearance_settings.xpm" @@ -37,15 +36,7 @@ #include "xpm/settings_metronome.xpm" #include "xpm/settings_midifileexport.xpm" #include "xpm/settings_midisync.xpm" -#include "xpm/view_bigtime_window.xpm" -#include "xpm/view_cliplist.xpm" -#include "xpm/view_marker.xpm" -#include "xpm/view_mixer.xpm" -#include "xpm/view_transport_window.xpm" -#include "xpm/pointer.xpm" -#include "xpm/pencil.xpm" -#include "xpm/delete.xpm" #include "xpm/play.xpm" #include "xpm/stick.xpm" @@ -53,11 +44,7 @@ #include "xpm/cmark.xpm" #include "xpm/lmark.xpm" #include "xpm/rmark.xpm" -#include "xpm/cut.xpm" #include "xpm/steprec.xpm" -#include "xpm/glue.xpm" -#include "xpm/draw.xpm" -#include "xpm/quant.xpm" #include "xpm/master.xpm" #include "xpm/filenewS.xpm" #include "xpm/home.xpm" @@ -80,18 +67,13 @@ #include "xpm/flagS.xpm" #include "xpm/lock.xpm" #include "xpm/toc.xpm" -#include "xpm/pianoS.xpm" - #include "xpm/editcut.xpm" #include "xpm/editcopy.xpm" #include "xpm/editpaste.xpm" -#include "xpm/editmute.xpm" -#include "xpm/editmuteS.xpm" #include "xpm/speaker.xpm" #include "xpm/buttondown.xpm" #include "xpm/configure.xpm" -#include "xpm/panic.xpm" #include "xpm/mastertrackS.xpm" #include "xpm/localoffS.xpm" @@ -99,7 +81,6 @@ #include "xpm/midi_plugS.xpm" #include "xpm/miditransposeS.xpm" #include "xpm/mixerS.xpm" -// #include "xpm/mustangS.xpm" #include "xpm/resetS.xpm" #include "xpm/track_add.xpm" #include "xpm/track_delete.xpm" @@ -118,8 +99,6 @@ #include "xpm/edit_drumms.xpm" #include "xpm/edit_list.xpm" #include "xpm/edit_mastertrack.xpm" -#include "xpm/edit_pianoroll.xpm" -#include "xpm/edit_score.xpm" #include "xpm/edit_track_add.xpm" #include "xpm/edit_track_del.xpm" #include "xpm/mastertrack_graphic.xpm" @@ -127,12 +106,12 @@ #include "xpm/midi_transform.xpm" #include "xpm/midi_transpose.xpm" #include "xpm/select.xpm" -#include "xpm/select_all.xpm" +// #include "xpm/select_all.xpm" #include "xpm/select_all_parts_on_track.xpm" -#include "xpm/select_deselect_all.xpm" -#include "xpm/select_inside_loop.xpm" -#include "xpm/select_invert_selection.xpm" -#include "xpm/select_outside_loop.xpm" +// #include "xpm/select_deselect_all.xpm" +// #include "xpm/select_inside_loop.xpm" +// #include "xpm/select_invert_selection.xpm" +// #include "xpm/select_outside_loop.xpm" #include "xpm/muse_icon.xpm" #include "xpm/config.xpm" @@ -145,7 +124,6 @@ QPixmap* miditransformSIcon; QPixmap* midi_plugSIcon; QPixmap* miditransposeSIcon; QPixmap* mixerSIcon; -// QPixmap* mustangSIcon; QPixmap* resetSIcon; QPixmap* track_addIcon; QPixmap* track_deleteIcon; @@ -155,9 +133,6 @@ QPixmap* cliplistSIcon; QPixmap* mixerAudioSIcon; QPixmap* initSIcon; -QPixmap* pointerIcon; -QPixmap* pencilIcon; -QPixmap* deleteIcon; QPixmap* playIcon; QPixmap* stopIcon; @@ -166,11 +141,7 @@ QPixmap* frewindIcon; QPixmap* stickIcon; QPixmap* waveIcon; QPixmap* markIcon[3]; -QPixmap* cutIcon; QPixmap* steprecIcon; -QPixmap* glueIcon; -QPixmap* drawIcon; -QPixmap* quantIcon; QPixmap* openIcon; QPixmap* saveIcon; QPixmap* masterIcon; @@ -201,14 +172,7 @@ QPixmap* speakerIcon; QPixmap* buttondownIcon; QPixmap* configureIcon; -QPixmap* editmuteIcon; -QPixmap* editmuteSIcon; -QPixmap* panicIcon; - -QIcon* pianoIconSet; -QIcon* scoreIconSet; QIcon* editcutIconSet; -QIcon* editmuteIconSet; QIcon* editcopyIconSet; QIcon* editpasteIconSet; QIcon* recordIcon; @@ -224,8 +188,6 @@ QPixmap* addtrack_wavetrackIcon; QPixmap* edit_drummsIcon; QPixmap* edit_listIcon; QPixmap* edit_mastertrackIcon; -QPixmap* edit_pianorollIcon; -QPixmap* edit_scoreIcon; QPixmap* edit_track_addIcon; QPixmap* edit_track_delIcon; QPixmap* mastertrack_graphicIcon; @@ -233,23 +195,19 @@ QPixmap* mastertrack_listIcon; QPixmap* midi_transformIcon; QPixmap* midi_transposeIcon; QPixmap* selectIcon; -QPixmap* select_allIcon; +// QPixmap* select_allIcon; QPixmap* select_all_parts_on_trackIcon; -QPixmap* select_deselect_allIcon; -QPixmap* select_inside_loopIcon; -QPixmap* select_invert_selectionIcon; -QPixmap* select_outside_loopIcon; +// QPixmap* select_deselect_allIcon; +// QPixmap* select_inside_loopIcon; +// QPixmap* select_invert_selectionIcon; +// QPixmap* select_outside_loopIcon; QPixmap* audio_bounce_to_fileIcon; QPixmap* audio_bounce_to_trackIcon; QPixmap* audio_restartaudioIcon; -// QPixmap* automation_clear_dataIcon; -// QPixmap* automation_mixerIcon; -// QPixmap* automation_take_snapshotIcon; QPixmap* edit_midiIcon; QPixmap* midi_edit_instrumentIcon; QPixmap* midi_init_instrIcon; -// QPixmap* midi_inputpluginsIcon; QPixmap* midi_local_offIcon; QPixmap* midi_reset_instrIcon; QPixmap* settings_appearance_settingsIcon; @@ -259,11 +217,6 @@ QPixmap* settings_globalsettingsIcon; QPixmap* settings_metronomeIcon; QPixmap* settings_midifileexportIcon; QPixmap* settings_midisyncIcon; -QPixmap* view_bigtime_windowIcon; -QPixmap* view_cliplistIcon; -QPixmap* view_markerIcon; -QPixmap* view_mixerIcon; -QPixmap* view_transport_windowIcon; QPixmap* museIcon; QPixmap* museIcon64; @@ -277,9 +230,6 @@ QPixmap* plusIcon; void initIcons() { - pointerIcon = new QPixmap(pointer_xpm); - pencilIcon = new QPixmap(pencil_xpm); - deleteIcon = new QPixmap(delete_xpm); playIcon = new QPixmap(play_xpm); stickIcon = new QPixmap(stick_xpm); @@ -287,11 +237,7 @@ void initIcons() markIcon[0] = new QPixmap(cmark_xpm); markIcon[1] = new QPixmap(lmark_xpm); markIcon[2] = new QPixmap(rmark_xpm); - cutIcon = new QPixmap(cut_xpm); steprecIcon = new QPixmap(steprec_xpm); - glueIcon = new QPixmap(glue_xpm); - drawIcon = new QPixmap(draw_xpm); - quantIcon = new QPixmap(quant_xpm); saveIcon = new QPixmap(":/xpm/filesave.png"); openIcon = new QPixmap(":/xpm/fileopen.png"); masterIcon = new QPixmap(master_xpm); @@ -300,7 +246,6 @@ void initIcons() homeIcon = new QPixmap(home_xpm); backIcon = new QPixmap(back_xpm); forwardIcon = new QPixmap(forward_xpm); - muteIcon = new QPixmap(editmuteS_xpm); upIcon = new QPixmap(up_xpm); downIcon = new QPixmap(down_xpm); boldIcon = new QPixmap(bold_xpm); @@ -322,14 +267,9 @@ void initIcons() buttondownIcon = new QPixmap(buttondown_xpm); configureIcon = new QPixmap(configure_xpm); - editmuteIcon = new QPixmap(editmute_xpm); - editmuteSIcon = new QPixmap(editmuteS_xpm); - panicIcon = new QPixmap(panic_xpm); - editcutIconSet = new QIcon(QPixmap(editcut_xpm)); editcopyIconSet = new QIcon(QPixmap(editcopy_xpm)); editpasteIconSet = new QIcon(QPixmap(editpaste_xpm)); - editmuteIconSet = new QIcon(QPixmap(editmute_xpm)); mastertrackSIcon = new QPixmap(mastertrackS_xpm); localoffSIcon = new QPixmap(localoffS_xpm); @@ -337,7 +277,6 @@ void initIcons() midi_plugSIcon = new QPixmap(midi_plugS_xpm); miditransposeSIcon = new QPixmap(miditransposeS_xpm); mixerSIcon = new QPixmap(mixerS_xpm); -// mustangSIcon = new QPixmap(mustangS_xpm); resetSIcon = new QPixmap(resetS_xpm); track_addIcon = new QPixmap(track_add_xpm); track_deleteIcon = new QPixmap(track_delete_xpm); @@ -356,8 +295,6 @@ void initIcons() edit_drummsIcon = new QPixmap(edit_drumms_xpm); edit_listIcon = new QPixmap(edit_list_xpm); edit_mastertrackIcon = new QPixmap(edit_mastertrack_xpm); - edit_pianorollIcon = new QPixmap(edit_pianoroll_xpm); - edit_scoreIcon = new QPixmap(edit_score_xpm); edit_track_addIcon = new QPixmap(edit_track_add_xpm); edit_track_delIcon = new QPixmap(edit_track_del_xpm); mastertrack_graphicIcon = new QPixmap(mastertrack_graphic_xpm); @@ -365,44 +302,38 @@ void initIcons() midi_transformIcon = new QPixmap(midi_transform_xpm); midi_transposeIcon = new QPixmap(midi_transpose_xpm); selectIcon = new QPixmap(select_xpm); - select_allIcon = new QPixmap(select_all_xpm); +// select_allIcon = new QPixmap(select_all_xpm); select_all_parts_on_trackIcon = new QPixmap(select_all_parts_on_track_xpm); - select_deselect_allIcon = new QPixmap(select_deselect_all); - select_inside_loopIcon = new QPixmap(select_inside_loop_xpm); - select_invert_selectionIcon = new QPixmap(select_invert_selection); - select_outside_loopIcon = new QPixmap(select_outside_loop_xpm); - pianoIconSet = new QIcon(QPixmap(pianoS_xpm)); +// select_deselect_allIcon = new QPixmap(select_deselect_all); +// select_inside_loopIcon = new QPixmap(select_inside_loop_xpm); +// select_invert_selectionIcon = new QPixmap(select_invert_selection); +// select_outside_loopIcon = new QPixmap(select_outside_loop_xpm); - audio_bounce_to_fileIcon = new QPixmap(audio_bounce_to_file_xpm); - audio_bounce_to_trackIcon = new QPixmap(audio_bounce_to_track_xpm); - audio_restartaudioIcon = new QPixmap(audio_restartaudio_xpm); - edit_midiIcon = new QPixmap(edit_midi_xpm); - midi_edit_instrumentIcon = new QPixmap(midi_edit_instrument_xpm); - midi_init_instrIcon = new QPixmap(midi_init_instr_xpm); -// midi_inputpluginsIcon = new QPixmap(midi_inputplugins_xpm); - midi_local_offIcon = new QPixmap(midi_local_off_xpm); - midi_reset_instrIcon = new QPixmap(midi_reset_instr_xpm); - settings_appearance_settingsIcon = new QPixmap(settings_appearance_settings_xpm); - settings_configureshortcutsIcon = new QPixmap(settings_configureshortcuts_xpm); - settings_follow_songIcon = new QPixmap(settings_follow_song_xpm); - settings_globalsettingsIcon = new QPixmap(settings_globalsettings_xpm); - settings_metronomeIcon = new QPixmap(settings_metronome_xpm); - settings_midifileexportIcon = new QPixmap(settings_midifileexport_xpm); - settings_midisyncIcon = new QPixmap(settings_midisync_xpm); - view_bigtime_windowIcon = new QPixmap(view_bigtime_window_xpm); - view_cliplistIcon = new QPixmap(view_cliplist_xpm); - view_markerIcon = new QPixmap(view_marker_xpm); - view_mixerIcon = new QPixmap(view_mixer_xpm); - view_transport_windowIcon = new QPixmap(view_transport_window_xpm); + audio_bounce_to_fileIcon = new QPixmap(audio_bounce_to_file_xpm); + audio_bounce_to_trackIcon = new QPixmap(audio_bounce_to_track_xpm); + audio_restartaudioIcon = new QPixmap(audio_restartaudio_xpm); + edit_midiIcon = new QPixmap(edit_midi_xpm); + midi_edit_instrumentIcon = new QPixmap(midi_edit_instrument_xpm); + midi_init_instrIcon = new QPixmap(midi_init_instr_xpm); + midi_local_offIcon = new QPixmap(midi_local_off_xpm); + midi_reset_instrIcon = new QPixmap(midi_reset_instr_xpm); + settings_appearance_settingsIcon = new QPixmap(settings_appearance_settings_xpm); + settings_configureshortcutsIcon = new QPixmap(settings_configureshortcuts_xpm); + settings_follow_songIcon = new QPixmap(settings_follow_song_xpm); + settings_globalsettingsIcon = new QPixmap(settings_globalsettings_xpm); + settings_metronomeIcon = new QPixmap(settings_metronome_xpm); + settings_midifileexportIcon = new QPixmap(settings_midifileexport_xpm); + settings_midisyncIcon = new QPixmap(settings_midisync_xpm); - museIcon = new QPixmap(muse_icon_xpm); + museIcon = new QPixmap(muse_icon_xpm); configIcon = new QPixmap(config_xpm); - minusIcon = new QPixmap(minus_xpm); - plusIcon = new QPixmap(plus_xpm); + minusIcon = new QPixmap(minus_xpm); + plusIcon = new QPixmap(plus_xpm); recordIcon = new QIcon; recordIcon->addFile(":/xpm/recordOn.svg", ICON_SIZE, QIcon::Normal, QIcon::On); recordIcon->addFile(":/xpm/recordOff.svg", ICON_SIZE, QIcon::Normal, QIcon::Off); + onOffIcon = new QIcon; onOffIcon->addFile(":/xpm/on.svg", ICON_SIZE, QIcon::Normal, QIcon::On); onOffIcon->addFile(":/xpm/off.svg", ICON_SIZE, QIcon::Normal, QIcon::Off); diff --git a/muse/muse/icons.h b/muse/muse/icons.h index 70d90e39..788f0ad0 100644 --- a/muse/muse/icons.h +++ b/muse/muse/icons.h @@ -21,9 +21,6 @@ #ifndef ICONS_H #define ICONS_H -extern QPixmap* pointerIcon; -extern QPixmap* pencilIcon; -extern QPixmap* deleteIcon; extern QPixmap* playIcon; extern QPixmap* stickIcon; extern QPixmap* waveIcon; @@ -66,14 +63,7 @@ extern QPixmap* speakerIcon; extern QPixmap* buttondownIcon; extern QPixmap* configureIcon; -extern QPixmap* editmuteIcon; -extern QPixmap* editmuteSIcon; -extern QPixmap* panicIcon; - -extern QIcon* pianoIconSet; -extern QIcon* scoreIconSet; extern QIcon* editcutIconSet; -extern QIcon* editmuteIconSet; extern QIcon* editcopyIconSet; extern QIcon* editpasteIconSet; @@ -103,8 +93,6 @@ extern QPixmap* addtrack_wavetrackIcon; extern QPixmap* edit_drummsIcon; extern QPixmap* edit_listIcon; extern QPixmap* edit_mastertrackIcon; -extern QPixmap* edit_pianorollIcon; -extern QPixmap* edit_scoreIcon; extern QPixmap* edit_track_addIcon; extern QPixmap* edit_track_delIcon; extern QPixmap* mastertrack_graphicIcon; @@ -112,12 +100,12 @@ extern QPixmap* mastertrack_listIcon; extern QPixmap* midi_transformIcon; extern QPixmap* midi_transposeIcon; extern QPixmap* selectIcon; -extern QPixmap* select_allIcon; +// extern QPixmap* select_allIcon; extern QPixmap* select_all_parts_on_trackIcon; -extern QPixmap* select_deselect_allIcon; -extern QPixmap* select_inside_loopIcon; -extern QPixmap* select_invert_selectionIcon; -extern QPixmap* select_outside_loopIcon; +// extern QPixmap* select_deselect_allIcon; +// extern QPixmap* select_inside_loopIcon; +// extern QPixmap* select_invert_selectionIcon; +// extern QPixmap* select_outside_loopIcon; extern QPixmap* audio_bounce_to_fileIcon; extern QPixmap* audio_bounce_to_trackIcon; @@ -134,11 +122,6 @@ extern QPixmap* settings_globalsettingsIcon; extern QPixmap* settings_metronomeIcon; extern QPixmap* settings_midifileexportIcon; extern QPixmap* settings_midisyncIcon; -extern QPixmap* view_bigtime_windowIcon; -extern QPixmap* view_cliplistIcon; -extern QPixmap* view_markerIcon; -extern QPixmap* view_mixerIcon; -extern QPixmap* view_transport_windowIcon; extern QPixmap* museIcon; extern QPixmap* configIcon; diff --git a/muse/muse/marker/markerview.cpp b/muse/muse/marker/markerview.cpp index a237b90b..7cab2d02 100644 --- a/muse/muse/marker/markerview.cpp +++ b/muse/muse/marker/markerview.cpp @@ -29,6 +29,7 @@ #include "al/sig.h" #include "al/tempo.h" #include "al/marker.h" +#include "shortcuts.h" enum { COL_TICK = 0, COL_SMPTE, COL_LOCK, COL_NAME }; @@ -129,8 +130,7 @@ MarkerView::MarkerView() markerAdd->setToolTip(tr("Add Marker")); connect(markerAdd, SIGNAL(triggered()), SLOT(addMarker())); - QAction* markerDelete = new QAction(QIcon(*deleteIcon), tr("delete marker"), this); - markerDelete->setToolTip(tr("Delete Marker")); + QAction* markerDelete = getAction("delete", this); connect(markerDelete, SIGNAL(triggered()), SLOT(deleteMarker())); //---------Pulldown Menu---------------------------- @@ -310,10 +310,12 @@ void MarkerView::currentChanged(QTreeWidgetItem* i) void MarkerView::selectionChanged() { +#if 0 QList<QTreeWidgetItem*> sel = table->selectedItems(); if (!sel.empty()) { MarkerItem* item = (MarkerItem*)(sel[0]); } +#endif } //--------------------------------------------------------- diff --git a/muse/muse/midiedit/dcanvas.cpp b/muse/muse/midiedit/dcanvas.cpp index dcf24c9a..9f367683 100644 --- a/muse/muse/midiedit/dcanvas.cpp +++ b/muse/muse/midiedit/dcanvas.cpp @@ -266,68 +266,63 @@ bool DrumCanvas::deleteItem(CItem* item) // cmd //--------------------------------------------------------- -void DrumCanvas::cmd(int cmd) +void DrumCanvas::cmd(QAction* a) { - switch(cmd) { - case -1: - return; - case CMD_PASTE: - paste(); - break; - case CMD_SELECT_ALL: // select all - for (iCItem k = items.begin(); k != items.end(); ++k) { - if (!k->second->isSelected()) - selectItem(k->second, true); - } - break; - case CMD_SELECT_NONE: // select none - deselectAll(); - break; - case CMD_SELECT_INVERT: // invert selection - for (iCItem k = items.begin(); k != items.end(); ++k) { - selectItem(k->second, !k->second->isSelected()); - } - break; - case CMD_SELECT_ILOOP: // select inside loop - for (iCItem k = items.begin(); k != items.end(); ++k) { - CItem* nevent = k->second; - Part* part = nevent->part; - Event event = nevent->event; - unsigned tick = event.tick() + part->tick(); - if (tick < song->lpos() || tick >= song->rpos()) - selectItem(k->second, false); - else - selectItem(k->second, true); - } - break; - case CMD_SELECT_OLOOP: // select outside loop - for (iCItem k = items.begin(); k != items.end(); ++k) { - CItem* nevent = k->second; - Part* part = nevent->part; - Event event = nevent->event; - unsigned tick = event.tick() + part->tick(); - if (tick < song->lpos() || tick >= song->rpos()) - selectItem(k->second, true); - else - selectItem(k->second, false); - } - break; - case CMD_DEL: - if (selectionSize()) { - song->startUndo(); - for (iCItem i = items.begin(); i != items.end(); ++i) { - if (!i->second->isSelected()) - continue; - Event ev = i->second->event; - audio->msgDeleteEvent(ev, i->second->part, false); - } - song->endUndo(SC_EVENT_REMOVED); + QString cmd(a->data().toString()); + + if (cmd == "paste") + paste(); + else if (cmd == "sel_all") { + for (iCItem k = items.begin(); k != items.end(); ++k) { + if (!k->second->isSelected()) + selectItem(k->second, true); + } + } + else if (cmd == "sel_none") + deselectAll(); + else if (cmd == "sel_inv") { + for (iCItem k = items.begin(); k != items.end(); ++k) + selectItem(k->second, !k->second->isSelected()); + } + else if (cmd == "sel_ins_loc") { + for (iCItem k = items.begin(); k != items.end(); ++k) { + CItem* nevent = k->second; + Part* part = nevent->part; + Event event = nevent->event; + unsigned tick = event.tick() + part->tick(); + if (tick < song->lpos() || tick >= song->rpos()) + selectItem(k->second, false); + else + selectItem(k->second, true); + } + } + else if (cmd == "sel_out_loc") { + for (iCItem k = items.begin(); k != items.end(); ++k) { + CItem* nevent = k->second; + Part* part = nevent->part; + Event event = nevent->event; + unsigned tick = event.tick() + part->tick(); + if (tick < song->lpos() || tick >= song->rpos()) + selectItem(k->second, true); + else + selectItem(k->second, false); + } + } + else if (cmd == "delete") { + if (selectionSize()) { + song->startUndo(); + for (iCItem i = items.begin(); i != items.end(); ++i) { + if (!i->second->isSelected()) + continue; + Event ev = i->second->event; + audio->msgDeleteEvent(ev, i->second->part, false); } - return; - - case CMD_FIXED_LEN: //Set notes to the length specified in the drummap - if (!selectionSize()) - break; + song->endUndo(SC_EVENT_REMOVED); + } + return; + } + else if (cmd == "midi_fixed_len") { + if (selectionSize()) { song->startUndo(); for (iCItem k = items.begin(); k != items.end(); ++k) { if (k->second->isSelected()) { @@ -339,28 +334,23 @@ void DrumCanvas::cmd(int cmd) } } song->endUndo(SC_EVENT_MODIFIED); - break; - case CMD_LEFT: - { - int frames = pos[0].tick() - editor->rasterStep(pos[0].tick()); - if (frames < 0) - frames = 0; - Pos p(frames, AL::TICKS); - song->setPos(0, p, true, true, true); } - break; - case CMD_RIGHT: - { - Pos p(pos[0].tick() + editor->rasterStep(pos[0].tick()), AL::TICKS); - song->setPos(0, p, true, true, true); - } - break; - case CMD_MODIFY_VELOCITY: - { - Velocity w(this); - w.setRange(editor->applyTo()); - if (!w.exec()) - break; + } + else if (cmd == "goto_left") { + int frames = pos[0].tick() - editor->rasterStep(pos[0].tick()); + if (frames < 0) + frames = 0; + Pos p(frames, AL::TICKS); + song->setPos(0, p, true, true, true); + } + else if (cmd == "goto_right") { + Pos p(pos[0].tick() + editor->rasterStep(pos[0].tick()), AL::TICKS); + song->setPos(0, p, true, true, true); + } + else if (cmd == "mid_mod_velo") { + Velocity w(this); + w.setRange(editor->applyTo()); + if (w.exec()) { editor->setApplyTo(w.range()); int rate = w.rateVal(); int offset = w.offsetVal(); @@ -399,7 +389,6 @@ void DrumCanvas::cmd(int cmd) } song->endUndo(SC_EVENT_MODIFIED); } - break; } widget()->update(); } diff --git a/muse/muse/midiedit/dcanvas.h b/muse/muse/midiedit/dcanvas.h index 4390aa2f..9d4ab754 100644 --- a/muse/muse/midiedit/dcanvas.h +++ b/muse/muse/midiedit/dcanvas.h @@ -69,15 +69,8 @@ class DrumCanvas : public EventCanvas { void keyReleased(int, bool); public: - enum { - CMD_CUT, CMD_COPY, CMD_PASTE, - CMD_SELECT_ALL, CMD_SELECT_NONE, CMD_SELECT_INVERT, - CMD_SELECT_ILOOP, CMD_SELECT_OLOOP, CMD_DEL, - CMD_FIXED_LEN, CMD_RIGHT, CMD_LEFT, CMD_MODIFY_VELOCITY, - CMD_COMMANDS - }; DrumCanvas(MidiEditor*); - void cmd(int); + void cmd(QAction*); virtual void modifySelected(NoteInfo::ValType type, int delta); }; #endif diff --git a/muse/muse/midiedit/drumedit.cpp b/muse/muse/midiedit/drumedit.cpp index 7d783245..f4370e36 100644 --- a/muse/muse/midiedit/drumedit.cpp +++ b/muse/muse/midiedit/drumedit.cpp @@ -51,47 +51,33 @@ DrumEdit::DrumEdit(PartList* pl, bool init) deltaMode = false; drumMap = &noDrumMap; +#if 0 //TODOB + cutAction->setShortcut(shortcuts[SHRT_CUT].key); + copyAction->setShortcut(shortcuts[SHRT_COPY].key); + pasteAction->setShortcut(shortcuts[SHRT_PASTE].key); +#endif + //---------Pulldown Menu---------------------------- QMenuBar* mb = menuBar(); menuEdit->addSeparator(); - cmdActions[DrumCanvas::CMD_DEL] = menuEdit->addAction(tr("Delete Events")); - cmdActions[DrumCanvas::CMD_DEL]->setData(DrumCanvas::CMD_DEL); - cmdActions[DrumCanvas::CMD_DEL]->setIcon(*deleteIcon); + menuEdit->addAction(getAction("delete", this)); // Functions menuFunctions = mb->addMenu(tr("&Functions")); - cmdActions[DrumCanvas::CMD_FIXED_LEN] = menuFunctions->addAction(tr("Set fixed length")); - cmdActions[DrumCanvas::CMD_FIXED_LEN]->setData(DrumCanvas::CMD_FIXED_LEN); - - cmdActions[DrumCanvas::CMD_MODIFY_VELOCITY] = menuFunctions->addAction(tr("Modify Velocity...")); - cmdActions[DrumCanvas::CMD_MODIFY_VELOCITY]->setData(DrumCanvas::CMD_MODIFY_VELOCITY); + menuFunctions->addAction(getAction("midi_fixed_len", this)); + menuFunctions->addAction(getAction("midi_mod_velo", this)); menuSelect = menuEdit->addMenu(tr("&Select")); menuSelect->setIcon(QIcon(*selectIcon)); - cmdActions[DrumCanvas::CMD_SELECT_ALL] = menuSelect->addAction(tr("Select All")); - cmdActions[DrumCanvas::CMD_SELECT_ALL]->setIcon(QIcon(*select_allIcon)); - cmdActions[DrumCanvas::CMD_SELECT_ALL]->setData(DrumCanvas::CMD_SELECT_ALL); - - cmdActions[DrumCanvas::CMD_SELECT_NONE] = menuSelect->addAction(tr("Select None")); - cmdActions[DrumCanvas::CMD_SELECT_NONE]->setIcon(QIcon(*select_deselect_allIcon)); - cmdActions[DrumCanvas::CMD_SELECT_NONE]->setData(DrumCanvas::CMD_SELECT_NONE); - - cmdActions[DrumCanvas::CMD_SELECT_INVERT] = menuSelect->addAction(tr("Invert")); - cmdActions[DrumCanvas::CMD_SELECT_INVERT]->setIcon(QIcon(*select_invert_selectionIcon)); - cmdActions[DrumCanvas::CMD_SELECT_INVERT]->setData(DrumCanvas::CMD_SELECT_INVERT); - + menuSelect->addAction(getAction("sel_all", this)); + menuSelect->addAction(getAction("sel_none", this)); + menuSelect->addAction(getAction("sel_inv", this)); menuSelect->addSeparator(); - - cmdActions[DrumCanvas::CMD_SELECT_ILOOP] = menuSelect->addAction(tr("Inside Loop")); - cmdActions[DrumCanvas::CMD_SELECT_ILOOP]->setIcon(QIcon(*select_inside_loopIcon)); - cmdActions[DrumCanvas::CMD_SELECT_ILOOP]->setData(DrumCanvas::CMD_SELECT_ILOOP); - - cmdActions[DrumCanvas::CMD_SELECT_OLOOP] = menuSelect->addAction(tr("Outside Loop")); - cmdActions[DrumCanvas::CMD_SELECT_OLOOP]->setIcon(QIcon(*select_outside_loopIcon)); - cmdActions[DrumCanvas::CMD_SELECT_OLOOP]->setData(DrumCanvas::CMD_SELECT_OLOOP); + menuSelect->addAction(getAction("sel_ins_loc", this)); + menuSelect->addAction(getAction("sel_out_loc", this)); connect(menuSelect, SIGNAL(triggered(QAction*)), SLOT(cmd(QAction*))); connect(menuFunctions, SIGNAL(triggered(QAction*)), SLOT(cmd(QAction*))); @@ -123,7 +109,7 @@ DrumEdit::DrumEdit(PartList* pl, bool init) QToolBar* transport = addToolBar(tr("Transport")); muse->setupTransportToolbar(transport); - // dont´ow pitch value in toolbar + // dont´ch value in toolbar addToolBarBreak(); toolbar = new Toolbar1(initRaster, initQuant, false); addToolBar(toolbar); @@ -164,7 +150,6 @@ DrumEdit::DrumEdit(PartList* pl, bool init) clipboardChanged(); // enable/disable "Paste" selectionChanged(); // enable/disable "Copy" & "Paste" - initShortcuts(); canvas()->selectFirst(); // @@ -329,7 +314,7 @@ void DrumEdit::noteinfoChanged(NoteInfo::ValType type, int val) void DrumEdit::cmd(QAction* a) { - canvas()->cmd(a->data().toInt()); + canvas()->cmd(a); } //--------------------------------------------------------- @@ -338,7 +323,6 @@ void DrumEdit::cmd(QAction* a) void DrumEdit::configChanged() { - initShortcuts(); } #if 0 @@ -440,28 +424,6 @@ void DrumEdit::keyPressEvent(QKeyEvent* event) } //--------------------------------------------------------- -// initShortcuts -//--------------------------------------------------------- - -void DrumEdit::initShortcuts() - { -#if 0 //TODOB - cutAction->setShortcut(shortcuts[SHRT_CUT].key); - copyAction->setShortcut(shortcuts[SHRT_COPY].key); - pasteAction->setShortcut(shortcuts[SHRT_PASTE].key); - - cmdActions[DrumCanvas::CMD_DEL]->setShortcut(shortcuts[SHRT_DELETE].key); - cmdActions[DrumCanvas::CMD_FIXED_LEN]->setShortcut(shortcuts[SHRT_FIXED_LEN].key); - cmdActions[DrumCanvas::CMD_MODIFY_VELOCITY]->setShortcut(shortcuts[SHRT_MODIFY_VELOCITY].key); - cmdActions[DrumCanvas::CMD_SELECT_ALL]->setShortcut(shortcuts[SHRT_SELECT_ALL].key); - cmdActions[DrumCanvas::CMD_SELECT_NONE]->setShortcut(shortcuts[SHRT_SELECT_NONE].key); - cmdActions[DrumCanvas::CMD_SELECT_INVERT]->setShortcut(shortcuts[SHRT_SELECT_INVERT].key); - cmdActions[DrumCanvas::CMD_SELECT_ILOOP]->setShortcut(shortcuts[SHRT_SELECT_ILOOP].key); - cmdActions[DrumCanvas::CMD_SELECT_OLOOP]->setShortcut(shortcuts[SHRT_SELECT_OLOOP].key); -#endif - } - -//--------------------------------------------------------- // writeConfiguration //--------------------------------------------------------- diff --git a/muse/muse/midiedit/drumedit.h b/muse/muse/midiedit/drumedit.h index 1e6d0bb1..0283f508 100644 --- a/muse/muse/midiedit/drumedit.h +++ b/muse/muse/midiedit/drumedit.h @@ -53,9 +53,6 @@ class DrumEdit : public MidiEditor { int veloOffOffset; bool deltaMode; - QAction* cmdActions[DrumCanvas::CMD_COMMANDS]; - - void initShortcuts(); virtual void closeEvent(QCloseEvent*); QWidget* genToolbar(QWidget* parent); virtual void keyPressEvent(QKeyEvent*); diff --git a/muse/muse/midiedit/ecanvas.cpp b/muse/muse/midiedit/ecanvas.cpp index 8a855ef3..96df17cf 100644 --- a/muse/muse/midiedit/ecanvas.cpp +++ b/muse/muse/midiedit/ecanvas.cpp @@ -708,15 +708,16 @@ QMenu* EventCanvas::genCanvasPopup() return 0; QMenu* canvasPopup = new QMenu(this); - for (int i = 0; i < 9; ++i) { + for (int i = 0; i < TOOLS; ++i) { int data = 1 << i; if ((canvasTools & data) == 0) continue; - QAction* a = canvasPopup->addAction(**toolList[i].icon, tr(toolList[i].tip)); + QAction* a = getAction(toolList[i], this); a->setData(data); a->setCheckable(true); if (data == int(_tool)) a->setChecked(true); + canvasPopup->addAction(a); } return canvasPopup; } diff --git a/muse/muse/midiedit/midieditor.cpp b/muse/muse/midiedit/midieditor.cpp index f212e2d6..7cdab03e 100644 --- a/muse/muse/midiedit/midieditor.cpp +++ b/muse/muse/midiedit/midieditor.cpp @@ -42,7 +42,7 @@ MidiEditor::MidiEditor(PartList* pl) QMenuBar* mb = menuBar(); - //---------Menü------------------------------- + //---------Menu------------------------------- menuEdit = new QMenu(tr("&Edit")); mb->addMenu(menuEdit); diff --git a/muse/muse/midiedit/pianoroll.cpp b/muse/muse/midiedit/pianoroll.cpp index f7adad32..649c4955 100644 --- a/muse/muse/midiedit/pianoroll.cpp +++ b/muse/muse/midiedit/pianoroll.cpp @@ -64,33 +64,25 @@ PianoRoll::PianoRoll(PartList* pl, bool init) tcanvas = new PianoCanvas(this); QMenuBar* mb = menuBar(); + menu_ids[CMD_EVENT_COLOR] = getAction("change_event_color", this); + menu_ids[CMD_CONFIG_QUANT] = getAction("config_quant", this); + //---------Menu---------------------------------- menuEdit->addSeparator(); - QAction* a; - a = menuEdit->addAction(tr("Delete Events")); - a->setIcon(*deleteIcon); - a->setData(PianoCanvas::CMD_DEL); - a->setShortcut(Qt::Key_Delete); + QAction* a = getAction("delete", this); + menuEdit->addAction(a); +//TD? a->setData(PianoCanvas::CMD_DEL); menuEdit->addSeparator(); menuSelect = menuEdit->addMenu(QIcon(*selectIcon),tr("&Select")); - cmdActions[PianoCanvas::CMD_SELECT_ALL] = menuSelect->addAction(QIcon(*select_allIcon), tr("Select &All")); - cmdActions[PianoCanvas::CMD_SELECT_ALL]->setData(PianoCanvas::CMD_SELECT_ALL); - - cmdActions[PianoCanvas::CMD_SELECT_NONE] = menuSelect->addAction(QIcon(*select_deselect_allIcon), tr("&Deselect All")); - cmdActions[PianoCanvas::CMD_SELECT_NONE]->setData(PianoCanvas::CMD_SELECT_NONE); - - cmdActions[PianoCanvas::CMD_SELECT_INVERT] = menuSelect->addAction(QIcon(*select_invert_selectionIcon), tr("Invert &Selection")); - cmdActions[PianoCanvas::CMD_SELECT_INVERT]->setData(PianoCanvas::CMD_SELECT_INVERT); - - cmdActions[PianoCanvas::CMD_SELECT_ILOOP] = menuSelect->addAction(QIcon(*select_inside_loopIcon), tr("&Inside Loop")); - cmdActions[PianoCanvas::CMD_SELECT_ILOOP]->setData(PianoCanvas::CMD_SELECT_ILOOP); - - cmdActions[PianoCanvas::CMD_SELECT_OLOOP] = menuSelect->addAction(QIcon(*select_outside_loopIcon), tr("&Outside Loop")); - cmdActions[PianoCanvas::CMD_SELECT_OLOOP]->setData(PianoCanvas::CMD_SELECT_OLOOP); + menuSelect->addAction(getAction("sel_all", this)); + menuSelect->addAction(getAction("sel_none", this)); + menuSelect->addAction(getAction("sel_inv", this)); + menuSelect->addAction(getAction("sel_ins_loc", this)); + menuSelect->addAction(getAction("sel_out_loc", this)); menuConfig = mb->addMenu(tr("&Config")); eventColor = menuConfig->addMenu(tr("event color")); @@ -108,14 +100,11 @@ PianoRoll::PianoRoll(PartList* pl, bool init) connect(eventColor, SIGNAL(triggered(QAction*)), SLOT(setEventColorMode(QAction*))); menuFunctions = mb->addMenu(tr("&Functions")); - cmdActions[PianoCanvas::CMD_OVER_QUANTIZE] = menuFunctions->addAction(tr("Over Quantize")); - cmdActions[PianoCanvas::CMD_OVER_QUANTIZE]->setData(PianoCanvas::CMD_OVER_QUANTIZE); - cmdActions[PianoCanvas::CMD_ON_QUANTIZE] = menuFunctions->addAction(tr("Note On Quantize")); - cmdActions[PianoCanvas::CMD_ON_QUANTIZE]->setData(PianoCanvas::CMD_ON_QUANTIZE); - cmdActions[PianoCanvas::CMD_ONOFF_QUANTIZE] = menuFunctions->addAction(tr("Note On/Off Quantize")); - cmdActions[PianoCanvas::CMD_ONOFF_QUANTIZE]->setData(PianoCanvas::CMD_ONOFF_QUANTIZE); - cmdActions[PianoCanvas::CMD_ITERATIVE_QUANTIZE] = menuFunctions->addAction(tr("Iterative Quantize")); - cmdActions[PianoCanvas::CMD_ITERATIVE_QUANTIZE]->setData(PianoCanvas::CMD_ITERATIVE_QUANTIZE); + + menuFunctions->addAction(getAction("midi_over_quant", this)); + menuFunctions->addAction(getAction("midi_quant_noteon", this)); + menuFunctions->addAction(getAction("midi_quant_noteoff", this)); + menuFunctions->addAction(getAction("midi_quant_iterative", this)); menuFunctions->addSeparator(); @@ -124,51 +113,21 @@ PianoRoll::PianoRoll(PartList* pl, bool init) menuFunctions->addSeparator(); - cmdActions[PianoCanvas::CMD_MODIFY_GATE_TIME] = menuFunctions->addAction(tr("Modify Gate Time")); - cmdActions[PianoCanvas::CMD_MODIFY_GATE_TIME]->setData(PianoCanvas::CMD_MODIFY_GATE_TIME); - - cmdActions[PianoCanvas::CMD_MODIFY_VELOCITY] = menuFunctions->addAction(tr("Modify Velocity")); - cmdActions[PianoCanvas::CMD_MODIFY_VELOCITY]->setData(PianoCanvas::CMD_MODIFY_VELOCITY); - - cmdActions[PianoCanvas::CMD_CRESCENDO] = menuFunctions->addAction(tr("Crescendo")); - cmdActions[PianoCanvas::CMD_CRESCENDO]->setData(PianoCanvas::CMD_CRESCENDO); - cmdActions[PianoCanvas::CMD_CRESCENDO]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_TRANSPOSE] = menuFunctions->addAction(tr("Transpose")); - cmdActions[PianoCanvas::CMD_TRANSPOSE]->setData(PianoCanvas::CMD_TRANSPOSE); - cmdActions[PianoCanvas::CMD_TRANSPOSE]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_THIN_OUT] = menuFunctions->addAction(tr("Thin Out")); - cmdActions[PianoCanvas::CMD_THIN_OUT]->setData(PianoCanvas::CMD_THIN_OUT); - cmdActions[PianoCanvas::CMD_THIN_OUT]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_ERASE_EVENT] = menuFunctions->addAction(tr("Erase Event")); - cmdActions[PianoCanvas::CMD_ERASE_EVENT]->setData(PianoCanvas::CMD_ERASE_EVENT); - cmdActions[PianoCanvas::CMD_ERASE_EVENT]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_NOTE_SHIFT] = menuFunctions->addAction(tr("Note Shift")); - cmdActions[PianoCanvas::CMD_NOTE_SHIFT]->setData(PianoCanvas::CMD_NOTE_SHIFT); - cmdActions[PianoCanvas::CMD_NOTE_SHIFT]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_MOVE_CLOCK] = menuFunctions->addAction(tr("Move Clock")); - cmdActions[PianoCanvas::CMD_MOVE_CLOCK]->setData(PianoCanvas::CMD_MOVE_CLOCK); - cmdActions[PianoCanvas::CMD_MOVE_CLOCK]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_COPY_MEASURE] = menuFunctions->addAction(tr("Copy Measure")); - cmdActions[PianoCanvas::CMD_COPY_MEASURE]->setData(PianoCanvas::CMD_COPY_MEASURE); - cmdActions[PianoCanvas::CMD_COPY_MEASURE]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_ERASE_MEASURE] = menuFunctions->addAction(tr("Erase Measure")); - cmdActions[PianoCanvas::CMD_ERASE_MEASURE]->setData(PianoCanvas::CMD_ERASE_MEASURE); - cmdActions[PianoCanvas::CMD_ERASE_MEASURE]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_DELETE_MEASURE] = menuFunctions->addAction(tr("Delete Measure")); - cmdActions[PianoCanvas::CMD_DELETE_MEASURE]->setData(PianoCanvas::CMD_DELETE_MEASURE); - cmdActions[PianoCanvas::CMD_DELETE_MEASURE]->setEnabled(false); - - cmdActions[PianoCanvas::CMD_CREATE_MEASURE] = menuFunctions->addAction(tr("Create Measure")); - cmdActions[PianoCanvas::CMD_CREATE_MEASURE]->setData(PianoCanvas::CMD_CREATE_MEASURE); - cmdActions[PianoCanvas::CMD_CREATE_MEASURE]->setEnabled(false); + menuFunctions->addAction(getAction("midi_mod_gate_time", this)); + menuFunctions->addAction(getAction("midi_mod_velo", this)); + +#if 0 // TODO + menuFunctions->addAction(getAction("midi_crescendo", this)); + menuFunctions->addAction(getAction("midi_transpose", this)); + menuFunctions->addAction(getAction("midi_thin_out", this)); + menuFunctions->addAction(getAction("midi_erase_event", this)); + menuFunctions->addAction(getAction("midi_note_shift", this)); + menuFunctions->addAction(getAction("midi_move_clock", this)); + menuFunctions->addAction(getAction("midi_copy_measure", this)); + menuFunctions->addAction(getAction("midi_erase_measure", this)); + menuFunctions->addAction(getAction("midi_delete_measure", this)); + menuFunctions->addAction(getAction("midi_create_measure", this)); +#endif connect(menuSelect, SIGNAL(triggered(QAction*)), SLOT(cmd(QAction*))); connect(menuFunctions, SIGNAL(triggered(QAction*)), SLOT(cmd(QAction*))); @@ -247,26 +206,25 @@ PianoRoll::PianoRoll(PartList* pl, bool init) clipboardChanged(); // enable/disable "Paste" selectionChanged(); // enable/disable "Copy" & "Paste" - initShortcuts(); // initialize shortcuts // // install misc shortcuts // -#if 0 //TODOB - QShortcut* sc; - sc = new QShortcut(shortcuts[SHRT_POS_INC].key, this); - sc->setContext(Qt::WindowShortcut); - connect(sc, SIGNAL(activated()), SLOT(cmdRight())); - - sc = new QShortcut(shortcuts[SHRT_POS_DEC].key, this); - sc->setContext(Qt::WindowShortcut); - connect(sc, SIGNAL(activated()), SLOT(cmdLeft())); - - sc = new QShortcut(Qt::Key_Escape, this); + + a = getAction("curpos_increase", this); + a->setShortcutContext(Qt::WindowShortcut); + addAction(a); + connect(a, SIGNAL(triggered()), SLOT(cmdRight())); + + a = getAction("curpos_decrease", this); + a->setShortcutContext(Qt::WindowShortcut); + addAction(a); + connect(a, SIGNAL(triggered()), SLOT(cmdLeft())); + + QShortcut* sc = new QShortcut(Qt::Key_Escape, this); sc->setContext(Qt::WindowShortcut); connect(sc, SIGNAL(activated()), SLOT(close())); -#endif connect(song, SIGNAL(songChanged(int)), canvas(), SLOT(songChanged(int))); connect(followSongAction, SIGNAL(toggled(bool)), canvas(), SLOT(setFollow(bool))); @@ -308,7 +266,6 @@ void PianoRoll::cmdRight() void PianoRoll::configChanged() { - initShortcuts(); } //--------------------------------------------------------- @@ -318,8 +275,7 @@ void PianoRoll::configChanged() void PianoRoll::cmd(QAction* a) { - int cmd = a->data().toInt(); - canvas()->cmd(cmd, _quantStrength, _quantLimit, _quantLen); + canvas()->cmd(a, _quantStrength, _quantLimit, _quantLen); } //--------------------------------------------------------- @@ -474,30 +430,7 @@ void PianoRoll::keyPressEvent(QKeyEvent* event) PianoCanvas* pc = canvas(); int key = event->key(); - if (event->modifiers() & Qt::ShiftModifier) - key += Qt::SHIFT; - if (event->modifiers() & Qt::AltModifier) - key += Qt::ALT; - if (event->modifiers() & Qt::ControlModifier) - key+= Qt::CTRL; - - if (key == shortcuts[SHRT_TOOL_POINTER].key) { - tools2->set(PointerTool); - return; - } - else if (key == shortcuts[SHRT_TOOL_PENCIL].key) { - tools2->set(PencilTool); - return; - } - else if (key == shortcuts[SHRT_TOOL_RUBBER].key) { - tools2->set(RubberTool); - return; - } - else if (key == shortcuts[SHRT_TOOL_LINEDRAW].key) { - tools2->set(DrawTool); - return; - } - else if (key == shortcuts[SHRT_INSERT_AT_LOCATION].key) { + if (key == shortcuts[SHRT_INSERT_AT_LOCATION].key) { pc->pianoCmd(MCMD_INSERT); return; } @@ -521,6 +454,7 @@ void PianoRoll::keyPressEvent(QKeyEvent* event) val = rasterTable[2 + off]; else if (key == shortcuts[SHRT_TOGGLE_TRIOL].key) val = rasterTable[index + ((off == 0) ? 9 : 0)]; + else if (key == shortcuts[SHRT_EVENT_COLOR].key) { _colorMode = (_colorMode + 1) % 3; setEventColorMode(_colorMode); @@ -529,7 +463,7 @@ void PianoRoll::keyPressEvent(QKeyEvent* event) else if (key == shortcuts[SHRT_TOGGLE_PUNCT].key) val = rasterTable[index + ((off == 18) ? 9 : 18)]; - else if (key == shortcuts[SHRT_TOGGLE_PUNCT2].key) {//CDW + else if (key == shortcuts[SHRT_TOGGLE_PUNCT2].key) { if ((off == 18) && (index > 2)) { val = rasterTable[index + 9 - 1]; } @@ -584,42 +518,6 @@ void PianoRoll::setEventColorMode(int mode) } //--------------------------------------------------------- -// initShortcuts -//--------------------------------------------------------- - -void PianoRoll::initShortcuts() - { -#if 0 //TODOB - cmdActions[PianoCanvas::CMD_SELECT_NONE]->setShortcut(shortcuts[SHRT_SELECT_ALL].key); - cmdActions[PianoCanvas::CMD_SELECT_NONE]->setShortcut(shortcuts[SHRT_SELECT_NONE].key); - cmdActions[PianoCanvas::CMD_SELECT_INVERT]->setShortcut(shortcuts[SHRT_SELECT_INVERT].key); - cmdActions[PianoCanvas::CMD_SELECT_ILOOP]->setShortcut(shortcuts[SHRT_SELECT_ILOOP].key); - cmdActions[PianoCanvas::CMD_SELECT_OLOOP]->setShortcut(shortcuts[SHRT_SELECT_OLOOP].key); - - menu_ids[CMD_EVENT_COLOR]->setShortcut(shortcuts[SHRT_EVENT_COLOR].key); - - cmdActions[PianoCanvas::CMD_OVER_QUANTIZE]->setShortcut(shortcuts[SHRT_OVER_QUANTIZE].key); - cmdActions[PianoCanvas::CMD_ON_QUANTIZE]->setShortcut(shortcuts[SHRT_ON_QUANTIZE].key); - cmdActions[PianoCanvas::CMD_ONOFF_QUANTIZE]->setShortcut(shortcuts[SHRT_ONOFF_QUANTIZE].key); - cmdActions[PianoCanvas::CMD_ITERATIVE_QUANTIZE]->setShortcut(shortcuts[SHRT_ITERATIVE_QUANTIZE].key); - cmdActions[PianoCanvas::CMD_MODIFY_GATE_TIME]->setShortcut(shortcuts[SHRT_MODIFY_GATE_TIME].key); - cmdActions[PianoCanvas::CMD_MODIFY_VELOCITY]->setShortcut(shortcuts[SHRT_MODIFY_VELOCITY].key); - cmdActions[PianoCanvas::CMD_CRESCENDO]->setShortcut(shortcuts[SHRT_CRESCENDO].key); - cmdActions[PianoCanvas::CMD_TRANSPOSE]->setShortcut(shortcuts[SHRT_TRANSPOSE].key); - cmdActions[PianoCanvas::CMD_THIN_OUT]->setShortcut(shortcuts[SHRT_THIN_OUT].key); - cmdActions[PianoCanvas::CMD_ERASE_EVENT]->setShortcut(shortcuts[SHRT_ERASE_EVENT].key); - cmdActions[PianoCanvas::CMD_NOTE_SHIFT]->setShortcut(shortcuts[SHRT_NOTE_SHIFT].key); - cmdActions[PianoCanvas::CMD_MOVE_CLOCK]->setShortcut(shortcuts[SHRT_MOVE_CLOCK].key); - cmdActions[PianoCanvas::CMD_COPY_MEASURE]->setShortcut(shortcuts[SHRT_COPY_MEASURE].key); - cmdActions[PianoCanvas::CMD_ERASE_MEASURE]->setShortcut(shortcuts[SHRT_ERASE_MEASURE].key); - cmdActions[PianoCanvas::CMD_DELETE_MEASURE]->setShortcut(shortcuts[SHRT_DELETE_MEASURE].key); - cmdActions[PianoCanvas::CMD_CREATE_MEASURE]->setShortcut(shortcuts[SHRT_CREATE_MEASURE].key); - - menu_ids[CMD_CONFIG_QUANT]->setShortcut(shortcuts[SHRT_CONFIG_QUANT].key); -#endif - } - -//--------------------------------------------------------- // readConfiguration // read static init values //--------------------------------------------------------- @@ -661,4 +559,3 @@ void PianoRoll::writeConfiguration(Xml& xml) xml.intTag("quant", PianoRoll::initQuant); xml.etag("PianoRoll"); } - diff --git a/muse/muse/midiedit/pianoroll.h b/muse/muse/midiedit/pianoroll.h index 67f452b0..3d9a9ae1 100644 --- a/muse/muse/midiedit/pianoroll.h +++ b/muse/muse/midiedit/pianoroll.h @@ -66,12 +66,8 @@ class PianoRoll : public MidiEditor { bool deltaMode; QAction* colorModeAction[3]; - QAction* cmdActions[PianoCanvas::CMD_END]; - QMenu* eventColor; - QuantConfig* quantConfig; - void initShortcuts(); QWidget* genToolbar(QWidget* parent); virtual void keyPressEvent(QKeyEvent*); diff --git a/muse/muse/midiedit/prcanvas.cpp b/muse/muse/midiedit/prcanvas.cpp index 23d7545b..e0403120 100644 --- a/muse/muse/midiedit/prcanvas.cpp +++ b/muse/muse/midiedit/prcanvas.cpp @@ -382,95 +382,71 @@ void PianoCanvas::pianoCmd(int cmd) // pulldown menu commands //--------------------------------------------------------- -void PianoCanvas::cmd(int cmd, int quantStrength, int quantLimit, bool quantLen) +void PianoCanvas::cmd(QAction* a, int quantStrength, int quantLimit, bool quantLen) { - switch (cmd) { - case CMD_PASTE: - paste(); - break; - case CMD_DEL: - if (selectionSize()) { - song->startUndo(); - for (iCItem i = items.begin(); i != items.end(); ++i) { - if (!i->second->isSelected()) - continue; - Event ev = i->second->event; - audio->msgDeleteEvent(ev, i->second->part, false); - } - song->endUndo(SC_EVENT_REMOVED); - } - return; - case CMD_OVER_QUANTIZE: // over quantize - quantize(100, 1, quantLen); - break; - case CMD_ON_QUANTIZE: // note on quantize - quantize(50, 1, false); - break; - case CMD_ONOFF_QUANTIZE: // note on/off quantize - quantize(50, 1, true); - break; - case CMD_ITERATIVE_QUANTIZE: // Iterative Quantize - quantize(quantStrength, quantLimit, quantLen); - break; - case CMD_SELECT_ALL: // select all - for (iCItem k = items.begin(); k != items.end(); ++k) { - if (!k->second->isSelected()) - selectItem(k->second, true); - } - break; - case CMD_SELECT_NONE: // select none - deselectAll(); - break; - case CMD_SELECT_INVERT: // invert selection - for (iCItem k = items.begin(); k != items.end(); ++k) { - selectItem(k->second, !k->second->isSelected()); - } - break; - case CMD_SELECT_ILOOP: // select inside loop - for (iCItem k = items.begin(); k != items.end(); ++k) { - CItem* item = k->second; - Event event = item->event; - unsigned tick = event.tick(); - if (tick < song->lpos() || tick >= song->rpos()) - selectItem(k->second, false); - else - selectItem(k->second, true); - } - break; - case CMD_SELECT_OLOOP: // select outside loop - for (iCItem k = items.begin(); k != items.end(); ++k) { - CItem* item = k->second; - Event event = item->event; - unsigned tick = event.tick(); - if (tick < song->lpos() || tick >= song->rpos()) - selectItem(k->second, true); - else - selectItem(k->second, false); - } - break; - case CMD_MODIFY_GATE_TIME: - cmdModifyGateTime->processEvents(&items); - break; + QString cmd(a->data().toString()); - case CMD_MODIFY_VELOCITY: - cmdModifyVelocity->processEvents(&items); - break; - - case CMD_CRESCENDO: - case CMD_TRANSPOSE: - case CMD_THIN_OUT: - case CMD_ERASE_EVENT: - case CMD_NOTE_SHIFT: - case CMD_MOVE_CLOCK: - case CMD_COPY_MEASURE: - case CMD_ERASE_MEASURE: - case CMD_DELETE_MEASURE: - case CMD_CREATE_MEASURE: - break; - default: -// printf("unknown ecanvas cmd %d\n", cmd); - break; + if (cmd == "paste") + paste(); + else if (cmd == "delete") { + if (selectionSize()) { + song->startUndo(); + for (iCItem i = items.begin(); i != items.end(); ++i) { + if (!i->second->isSelected()) + continue; + Event ev = i->second->event; + audio->msgDeleteEvent(ev, i->second->part, false); + } + song->endUndo(SC_EVENT_REMOVED); + } + return; + } + if (cmd == "midi_over_quant") + quantize(100, 1, quantLen); + else if (cmd == "midi_quant_noteon") + quantize(50, 1, false); + else if (cmd == "midi_quant_noteoff") + quantize(50, 1, true); + else if (cmd == "midi_quant_iterative") + quantize(quantStrength, quantLimit, quantLen); + else if (cmd == "sel_all") { + for (iCItem k = items.begin(); k != items.end(); ++k) { + if (!k->second->isSelected()) + selectItem(k->second, true); + } + } + else if (cmd == "sel_none") + deselectAll(); + else if (cmd == "sel_inv") { + for (iCItem k = items.begin(); k != items.end(); ++k) + selectItem(k->second, !k->second->isSelected()); + } + else if (cmd == "sel_ins_loc") { + for (iCItem k = items.begin(); k != items.end(); ++k) { + CItem* item = k->second; + Event event = item->event; + unsigned tick = event.tick(); + if (tick < song->lpos() || tick >= song->rpos()) + selectItem(k->second, false); + else + selectItem(k->second, true); + } + } + else if (cmd == "sel_out_loc") { + for (iCItem k = items.begin(); k != items.end(); ++k) { + CItem* item = k->second; + Event event = item->event; + unsigned tick = event.tick(); + if (tick < song->lpos() || tick >= song->rpos()) + selectItem(k->second, true); + else + selectItem(k->second, false); + } } + else if (cmd == "midi_mod_gate_time") + cmdModifyGateTime->processEvents(&items); + else if (cmd == "midi_mod_velo") + cmdModifyVelocity->processEvents(&items); updateSelection(); widget()->update(); } @@ -759,7 +735,6 @@ CItem* PianoCanvas::searchItem(const QPoint& pt) const void PianoCanvas::selectLasso(bool toggle) { QRect r( -// lrint((lasso.x() - MAP_OFFSET + wpos.x()) / _xmag), lrint((lasso.x() + wpos.x()) / _xmag), lrint((lasso.y() + wpos.y()) / _ymag), lrint(lasso.width() / _xmag), diff --git a/muse/muse/midiedit/prcanvas.h b/muse/muse/midiedit/prcanvas.h index 95e4cecc..7f92e95e 100644 --- a/muse/muse/midiedit/prcanvas.h +++ b/muse/muse/midiedit/prcanvas.h @@ -66,22 +66,8 @@ class PianoCanvas : public EventCanvas { void pianoCmd(int); public: - enum { - CMD_CUT, CMD_COPY, CMD_PASTE, - CMD_DEL, - CMD_OVER_QUANTIZE, CMD_ON_QUANTIZE, CMD_ONOFF_QUANTIZE, - CMD_ITERATIVE_QUANTIZE, - CMD_SELECT_ALL, CMD_SELECT_NONE, CMD_SELECT_INVERT, - CMD_SELECT_ILOOP, CMD_SELECT_OLOOP, - CMD_MODIFY_GATE_TIME, CMD_MODIFY_VELOCITY, - CMD_CRESCENDO, CMD_TRANSPOSE, CMD_THIN_OUT, CMD_ERASE_EVENT, - CMD_NOTE_SHIFT, CMD_MOVE_CLOCK, CMD_COPY_MEASURE, - CMD_ERASE_MEASURE, CMD_DELETE_MEASURE, CMD_CREATE_MEASURE, - CMD_END - }; - PianoCanvas(MidiEditor*); - void cmd(int, int, int, bool); + void cmd(QAction*, int, int, bool); void setColorMode(int mode); virtual void modifySelected(NoteInfo::ValType type, int delta); }; diff --git a/muse/muse/muse.cpp b/muse/muse/muse.cpp index 96a9f8ac..a5eef6ce 100644 --- a/muse/muse/muse.cpp +++ b/muse/muse/muse.cpp @@ -398,8 +398,23 @@ void MusE::setupTransportToolbar(QToolBar* tb) const tb->addAction(punchinAction); tb->addAction(punchoutAction); tb->addAction(startAction); - tb->addAction(rewindAction); - tb->addAction(forwardAction); + + // hack to implement auto repeat: + // the action auto repeat does only work for + // shortcuts but not for mouse press: + + QToolButton* rewindTb = new QToolButton; + rewindTb->setDefaultAction(rewindAction); + rewindTb->setAutoRepeat(true); + tb->addWidget(rewindTb); + connect(rewindTb, SIGNAL(clicked()), song, SLOT(rewind())); + + QToolButton* forwardTb = new QToolButton; + forwardTb->setDefaultAction(forwardAction); + forwardTb->setAutoRepeat(true); + tb->addWidget(forwardTb); + connect(forwardTb, SIGNAL(clicked()), song, SLOT(forward())); + tb->addAction(stopAction); tb->addAction(playAction); tb->addAction(recordAction); @@ -462,7 +477,7 @@ MusE::MusE() recordAction->setCheckable(true); connect(recordAction, SIGNAL(triggered(bool)), song, SLOT(setRecord(bool))); - panicAction = new QAction(QIcon(*panicIcon), tr("Panic"), this); + panicAction = getAction("panic", this); connect(panicAction, SIGNAL(triggered()), song, SLOT(panic())); startAction = getAction("start", this); @@ -476,14 +491,24 @@ MusE::MusE() a->setShortcutContext(Qt::ApplicationShortcut); connect(a, SIGNAL(triggered()), SLOT(playToggle())); addAction(a); + + a = getAction("toggle_metro", this); + connect(a, SIGNAL(triggered()), song, SLOT(toggleClick())); + addAction(a); + + a = getAction("goto_left", this); + connect(a, SIGNAL(triggered()), song, SLOT(gotoLeftMarker())); + addAction(a); + + a = getAction("goto_right", this); + connect(a, SIGNAL(triggered()), song, SLOT(gotoRightMarker())); + addAction(a); rewindAction = getAction("rewind", this); rewindAction->setAutoRepeat(true); - connect(rewindAction, SIGNAL(triggered()), song, SLOT(rewind())); forwardAction = getAction("forward", this); forwardAction->setAutoRepeat(true); - connect(forwardAction, SIGNAL(triggered()), song, SLOT(forward())); stopAction = getAction("stop", this); stopAction->setCheckable(true); @@ -526,21 +551,19 @@ MusE::MusE() } midiDriver = &alsaMidi; #endif - //----Actions - fileOpenAction = getAction("open_project", this); + connect(fileOpenAction, SIGNAL(triggered()), SLOT(loadProject())); + fileSaveAction = getAction("save_project", this); + connect(fileSaveAction, SIGNAL(triggered()), SLOT(save())); - pianoAction = new QAction(*pianoIconSet, tr("Pianoroll"), this); + pianoAction = getAction("open_pianoroll", this); connect(pianoAction, SIGNAL(triggered()), SLOT(startPianoroll())); - trackerAction = new QAction(*pianoIconSet, tr("MidiTracker"), this); + trackerAction = getAction("open_miditracker", this); connect(trackerAction, SIGNAL(triggered()), SLOT(startMidiTrackerEditor())); - connect(fileOpenAction, SIGNAL(triggered()), SLOT(loadProject())); - connect(fileSaveAction, SIGNAL(triggered()), SLOT(save())); - //-------------------------------------------------- // Toolbar //-------------------------------------------------- @@ -632,7 +655,8 @@ MusE::MusE() pasteAction->setData(CMD_PASTE); pasteAction->setShortcut(Qt::CTRL + Qt::Key_V); - menuEditActions[CMD_DELETE] = menuEdit->addAction(*deleteIcon, tr("&Delete Parts")); + menuEditActions[CMD_DELETE] = getAction("delete", this); + menuEdit->addAction(menuEditActions[CMD_DELETE]); menuEditActions[CMD_DELETE]->setData(CMD_DELETE); menuEdit->addSeparator(); @@ -646,17 +670,28 @@ MusE::MusE() menuEdit->addSeparator(); select = menuEdit->addMenu(QIcon(*selectIcon), tr("Select")); - menuEditActions[CMD_SELECT_ALL] = select->addAction(QIcon(*select_allIcon), tr("Select &All")); + menuEditActions[CMD_SELECT_ALL] = getAction("sel_all", this); + select->addAction(menuEditActions[CMD_SELECT_ALL]); menuEditActions[CMD_SELECT_ALL]->setData(CMD_SELECT_ALL); - menuEditActions[CMD_SELECT_NONE] = select->addAction(QIcon(*select_deselect_allIcon), tr("&Deselect All")); + + menuEditActions[CMD_SELECT_NONE] = getAction("sel_none", this); + select->addAction(menuEditActions[CMD_SELECT_NONE]); menuEditActions[CMD_SELECT_NONE]->setData(CMD_SELECT_NONE); - menuEditActions[CMD_SELECT_INVERT] = select->addAction(QIcon(*select_invert_selectionIcon), tr("Invert &Selection")); + + menuEditActions[CMD_SELECT_INVERT] = getAction("sel_inv", this); + select->addAction(menuEditActions[CMD_SELECT_INVERT]); menuEditActions[CMD_SELECT_INVERT]->setData(CMD_SELECT_INVERT); - menuEditActions[CMD_SELECT_ILOOP] = select->addAction(QIcon(*select_inside_loopIcon), tr("&Inside Loop")); + + menuEditActions[CMD_SELECT_ILOOP] = getAction("sel_ins_loc", this); + select->addAction(menuEditActions[CMD_SELECT_ILOOP]); menuEditActions[CMD_SELECT_ILOOP]->setData(CMD_SELECT_ILOOP); - menuEditActions[CMD_SELECT_OLOOP] = select->addAction(QIcon(*select_outside_loopIcon), tr("&Outside Loop")); + + menuEditActions[CMD_SELECT_OLOOP] = getAction("sel_out_loc", this); + select->addAction(menuEditActions[CMD_SELECT_OLOOP]); menuEditActions[CMD_SELECT_OLOOP]->setData(CMD_SELECT_OLOOP); - menuEditActions[CMD_SELECT_PARTS] = select->addAction(QIcon(*select_all_parts_on_trackIcon), tr("All &Parts on Track")); + + menuEditActions[CMD_SELECT_PARTS] = getAction("select_parts_on_track", this); + select->addAction(menuEditActions[CMD_SELECT_PARTS]); menuEditActions[CMD_SELECT_PARTS]->setData(CMD_SELECT_PARTS); menuEdit->addSeparator(); @@ -703,20 +738,29 @@ MusE::MusE() menuView = mb->addMenu(tr("&View")); - tr_id = menuView->addAction(QIcon(*view_transport_windowIcon), tr("Transport Panel")); + tr_id = getAction("toggle_transport", this); tr_id->setCheckable(true); + menuView->addAction(tr_id); connect(tr_id, SIGNAL(triggered(bool)), this, SLOT(showTransport(bool))); - bt_id = menuView->addAction(QIcon(*view_bigtime_windowIcon), tr("Bigtime window")); + + bt_id = getAction("toggle_bigtime", this); bt_id->setCheckable(true); + menuView->addAction(bt_id); connect(bt_id, SIGNAL(triggered(bool)), this, SLOT(showBigtime(bool))); - aid1a = menuView->addAction(QIcon(*mixerSIcon), tr("Mixer 1")); + + aid1a = getAction("toggle_mixer1", this); aid1a->setCheckable(true); + menuView->addAction(aid1a); connect(aid1a, SIGNAL(triggered(bool)), this, SLOT(showMixer1(bool))); - aid1b = menuView->addAction(QIcon(*mixerSIcon), tr("Mixer 2")); + + aid1b = getAction("toggle_mixer2", this); aid1b->setCheckable(true); + menuView->addAction(aid1b); connect(aid1b, SIGNAL(triggered(bool)), this, SLOT(showMixer2(bool))); - mk_id = menuView->addAction(QIcon(*view_markerIcon), tr("Marker")); + + mk_id = getAction("marker_window", this); mk_id->setCheckable(true); + menuView->addAction(mk_id); connect(mk_id , SIGNAL(triggered(bool)), this, SLOT(showMarker(bool))); //------------------------------------------------------------- @@ -1662,54 +1706,6 @@ void MusE::playToggle() } //--------------------------------------------------------- -// kbAccel -//--------------------------------------------------------- - -void MusE::kbAccel(int /*key*/) - { -#if 0 //TODOB - if (key == shortcuts[SHRT_TOGGLE_METRO].key) { - song->setClick(!song->click()); - } - else if (key == shortcuts[SHRT_STOP].key) { - song->setStop(true); - } - else if (key == shortcuts[SHRT_PLAY_SONG].key ) { - song->setPlay(true); - } - else if (key == shortcuts[SHRT_GOTO_LEFT].key) { - if (!song->record()) - song->setPos(0, song->lPos()); - } - else if (key == shortcuts[SHRT_GOTO_RIGHT].key) { - if (!song->record()) - song->setPos(0, song->rPos()); - } - else if (key == shortcuts[SHRT_TOGGLE_LOOP].key) { - song->setLoop(!song->loop()); - } - else if (key == shortcuts[SHRT_START_REC].key) { - if (!audio->isPlaying()) { - song->setRecord(!song->record()); - } - } - else if (key == shortcuts[SHRT_OPEN_TRANSPORT].key) { - showTransport(!tr_id->isChecked()); - } - else if (key == shortcuts[SHRT_OPEN_BIGTIME].key) { - showBigtime(!bt_id->isChecked()); - } - else if (key == shortcuts[SHRT_OPEN_MIXER].key) { - showMixer1(!aid1a->isChecked()); - } - else { - if (debugMsg) - printf("unknown kbAccel 0x%x\n", key); - } -#endif - } - -//--------------------------------------------------------- // MuseApplication //--------------------------------------------------------- @@ -1725,24 +1721,6 @@ MuseApplication::MuseApplication(int& argc, char** argv) } //--------------------------------------------------------- -// notify -//--------------------------------------------------------- - -bool MuseApplication::notify(QObject* receiver, QEvent* event) - { - bool flag = QApplication::notify(receiver, event); - if (event->type() == QEvent::KeyPress) { - QKeyEvent* ke = (QKeyEvent*)event; - bool accepted = ke->isAccepted(); - if (!accepted) { - muse->kbAccel(ke->key()); - return true; - } - } - return flag; - } - -//--------------------------------------------------------- // usage //--------------------------------------------------------- diff --git a/muse/muse/muse.h b/muse/muse/muse.h index 51dc3157..9b2ac9ff 100644 --- a/muse/muse/muse.h +++ b/muse/muse/muse.h @@ -324,7 +324,6 @@ class MuseApplication : public QApplication { public: MuseApplication(int& argc, char** argv); void setMuse(MusE* m) { muse = m; } - bool notify(QObject* receiver, QEvent* event); static Shortcut sc[]; }; diff --git a/muse/muse/muse.qrc b/muse/muse/muse.qrc index e4b807c3..4f17f18a 100644 --- a/muse/muse/muse.qrc +++ b/muse/muse/muse.qrc @@ -30,6 +30,29 @@ <file>xpm/punchout.xpm</file> <file>xpm/undo.xpm</file> <file>xpm/redo.xpm</file> + <file>xpm/panic.xpm</file> + <file>xpm/piano.xpm</file> + <file>xpm/view_transport_window.xpm</file> + <file>xpm/view_bigtime_window.xpm</file> + <file>xpm/view_cliplist.xpm</file> + <file>xpm/view_marker.xpm</file> + <file>xpm/view_mixer.xpm</file> + + <file>xpm/pointer.xpm</file> + <file>xpm/pencil.xpm</file> + <file>xpm/delete.xpm</file> + <file>xpm/cut.xpm</file> + <file>xpm/glue.xpm</file> + <file>xpm/quant.xpm</file> + <file>xpm/draw.xpm</file> + <file>xpm/editmute.xpm</file> + + <file>xpm/select_all.xpm</file> + <file>xpm/select_deselect_all.xpm</file> + <file>xpm/select_invert_selection.xpm</file> + <file>xpm/select_inside_loop.xpm</file> + <file>xpm/select_outside_loop.xpm</file> + </qresource> <qresource lang="de"> diff --git a/muse/muse/shortcuts.cpp b/muse/muse/shortcuts.cpp index e58a379b..4381baa7 100644 --- a/muse/muse/shortcuts.cpp +++ b/muse/muse/shortcuts.cpp @@ -159,7 +159,9 @@ Shortcut MuseApplication::sc[] = { QT_TR_NOOP("Panic"), GLOBAL_SHRT, 0, - QT_TR_NOOP("send note off to all midi channels") + QT_TR_NOOP("Panic"), + QT_TR_NOOP("send note off to all midi channels"), + ":/xpm/panic.xpm" ), @@ -203,7 +205,10 @@ Shortcut MuseApplication::sc[] = { "delete", QT_TR_NOOP("Edit: Delete" ), INVIS_SHRT, - Qt::Key_Delete + Qt::Key_Delete, + QT_TR_NOOP("Delete"), + QT_TR_NOOP("Delete"), + ":/xpm/delete.png" ), Shortcut( "open_project", @@ -259,13 +264,28 @@ Shortcut MuseApplication::sc[] = { "select_parts_on_track", QT_TR_NOOP("Edit: Select parts on track"), ARRANG_SHRT, - Qt::CTRL+ Qt::ALT + Qt::Key_P + Qt::CTRL+ Qt::ALT + Qt::Key_P, + QT_TR_NOOP("All &Parts on Track"), + QT_TR_NOOP("All &Parts on Track"), + ":/xpm/select_all_parts_on_track.xpm" ), Shortcut( "open_pianoroll", - QT_TR_NOOP("Open pianoroll"), + QT_TR_NOOP("Open Pianoroll"), ARRANG_SHRT, - Qt::CTRL + Qt::Key_E + Qt::CTRL + Qt::Key_E, + QT_TR_NOOP("Pianoroll"), + QT_TR_NOOP("Start Pianoroll Editor"), + ":/xpm/piano.xpm" + ), + Shortcut( + "open_miditracker", + QT_TR_NOOP("Open MidiTracker"), + ARRANG_SHRT, + 0, + QT_TR_NOOP("MidiTracker"), + QT_TR_NOOP("Start Midi Tracker"), + ":/xpm/piano.xpm" ), Shortcut( "open_drumedit", @@ -358,28 +378,49 @@ Shortcut MuseApplication::sc[] = { 0 ), Shortcut( - "toggle_mixer", - QT_TR_NOOP("View: Open mixer window"), + "toggle_mixer1", + QT_TR_NOOP("View: Open mixer 1 window"), + ARRANG_SHRT, + Qt::Key_F10, + QT_TR_NOOP("Mixer1"), + QT_TR_NOOP("Show Mixer 1"), + ":/xpm/view_mixer.xpm" + ), + Shortcut( + "toggle_mixer2", + QT_TR_NOOP("View: Open mixer 2 window"), ARRANG_SHRT, - Qt::Key_F10 + 0, + QT_TR_NOOP("Mixer2"), + QT_TR_NOOP("Show Mixer 2"), + ":/xpm/view_mixer.xpm" ), Shortcut( "toggle_transport", QT_TR_NOOP("View: Toggle transport window"), ARRANG_SHRT, - Qt::Key_F11 + Qt::Key_F11, + QT_TR_NOOP("Transport"), + QT_TR_NOOP("Show Transport Window"), + ":/xpm/view_transport_window.xpm" ), Shortcut( "toggle_bigtime", QT_TR_NOOP("View: Toggle bigtime window"), ARRANG_SHRT, - Qt::Key_F12 + Qt::Key_F12, + QT_TR_NOOP("BigTime"), + QT_TR_NOOP("Show BigTime Window"), + ":/xpm/view_bigtime_window.xpm" ), Shortcut( "marker_window", QT_TR_NOOP("View: Open marker window"), ARRANG_SHRT, - Qt::Key_F9 + Qt::Key_F9, + QT_TR_NOOP("Marker"), + QT_TR_NOOP("Show Marker List"), + ":/xpm/view_marker.xpm" ), Shortcut( "follow_jump", @@ -529,37 +570,53 @@ Shortcut MuseApplication::sc[] = { "midi_transpose", QT_TR_NOOP("Midi: Transpose"), ARRANG_SHRT + PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Transpose") ), Shortcut( "sel_all", QT_TR_NOOP("Edit: Select all"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, - Qt::CTRL + Qt::Key_A + Qt::CTRL + Qt::Key_A, + QT_TR_NOOP("Select All"), + QT_TR_NOOP("Select All"), + ":/xpm/select_all.xpm" ), Shortcut( "sel_none", QT_TR_NOOP("Edit: Select none"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, - Qt::CTRL + Qt::SHIFT + Qt::Key_A + Qt::CTRL + Qt::SHIFT + Qt::Key_A, + QT_TR_NOOP("Deselect All"), + QT_TR_NOOP("Deselect All"), + ":/xpm/select_deselect_all.xpm" ), Shortcut( "sel_inv", QT_TR_NOOP("Edit: Invert selection"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, - Qt::CTRL + Qt::Key_I + Qt::CTRL + Qt::Key_I, + QT_TR_NOOP("Invert Selection"), + QT_TR_NOOP("Invert Selection"), + ":/xpm/select_invert_selection.xpm" ), Shortcut( "sel_ins_loc", QT_TR_NOOP("Edit: Select events/parts inside locators"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, - 0 + 0, + QT_TR_NOOP("Select Inside Loop"), + QT_TR_NOOP("Select Inside Loop"), + ":/xpm/select_inside_loop.xpm" ), Shortcut( "sel_out_loc", QT_TR_NOOP("Edit: Select events/parts outside locators"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, - 0 + 0, + QT_TR_NOOP("Select Outside Loop"), + QT_TR_NOOP("Select Outside Loop"), + ":/xpm/select_outside_loop.xpm" ), Shortcut( "sel_left", @@ -607,31 +664,36 @@ Shortcut MuseApplication::sc[] = { "midi_fixed_len", QT_TR_NOOP("Edit: Set fixed length on midi events"), DEDIT_SHRT, - Qt::ALT + Qt::Key_L + Qt::ALT + Qt::Key_L, + QT_TR_NOOP("Set fixed length") ), Shortcut( "midi_over_quant", QT_TR_NOOP("Quantize: Over Quantize"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Over Quantize") ), Shortcut( "midi_quant_noteon", QT_TR_NOOP("Quantize: Note On Quantize"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Note On Quantize") ), Shortcut( "midi_quant_noteoff", QT_TR_NOOP("Quantize: Note On/Off Quantize"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Note On/Off Quantize") ), Shortcut( "midi_quant_iterative", QT_TR_NOOP("Quantize: Iterative Quantize"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Iterative Quantize") ), Shortcut( "config_quant", @@ -643,67 +705,78 @@ Shortcut MuseApplication::sc[] = { "midi_mod_gate_time", QT_TR_NOOP("Quantize: Modify Gate Time"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Modify Gate Time") ), Shortcut( "midi_mod_velo", QT_TR_NOOP("Quantize: Modify Velocity"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Modify Velocity") ), Shortcut( "midi_crescendo", QT_TR_NOOP("Edit: Crescendo"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Crescendo") ), Shortcut( "midi_thin_out", QT_TR_NOOP("Edit: Thin Out"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Thin Out") ), Shortcut( "midi_erase_event", QT_TR_NOOP("Edit: Erase Event"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Erase Event") ), Shortcut( "midi_note_shift", QT_TR_NOOP("Edit: Note Shift"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Note Shift") ), Shortcut( "midi_move_clock", QT_TR_NOOP("Edit: Move Clock"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Move Clock") ), Shortcut( "midi_copy_measure", QT_TR_NOOP("Edit: Copy Measure"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Copy Measure") ), Shortcut( "midi_erase_measure", QT_TR_NOOP("Edit: Erase Measure"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Erase Measure") ), Shortcut( "midi_delete_measure", QT_TR_NOOP("Edit: Delete Measure"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Delete Measure") ), Shortcut( "midi_create_measure", QT_TR_NOOP("Edit: Create Measure"), PROLL_SHRT, - 0 + 0, + QT_TR_NOOP("Create Measure") ), Shortcut( "change_event_color", @@ -712,48 +785,91 @@ Shortcut MuseApplication::sc[] = { Qt::Key_E ), Shortcut( - "pointer_tool", + "pointer", QT_TR_NOOP("Tool: Pointer"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, - Qt::Key_A + Qt::Key_A, + QT_TR_NOOP("Pointer"), + QT_TR_NOOP("select Pointer Tool:\n" + "with the pointer tool you can:\n" + " select parts\n" + " move parts\n" + " copy parts"), + ":/xpm/pointer.xpm" ), Shortcut( - "pencil_tool", + "pencil", QT_TR_NOOP("Tool: Pencil"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, - Qt::Key_D + Qt::Key_D, + QT_TR_NOOP("Pencil"), + QT_TR_NOOP("select Pencil Tool:\n" + "with the pencil tool you can:\n" + " create new parts\n" + " modify length of parts"), + ":/xpm/pencil.xpm" ), Shortcut( - "eraser_tool", + "eraser", QT_TR_NOOP("Tool: Eraser"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, - Qt::Key_R + Qt::Key_R, + QT_TR_NOOP("Eraser"), + QT_TR_NOOP("select Delete Tool:\n" + "with the delete tool you can delete parts"), + ":/xpm/delete.xpm" ), Shortcut( - "line_draw_tool", - QT_TR_NOOP("Tool: Line Draw"), - PROLL_SHRT + DEDIT_SHRT, - 0 - ), - Shortcut( - "scissor_tool", + "scissor", QT_TR_NOOP("Tool: Scissor"), ARRANG_SHRT, - Qt::Key_S + Qt::Key_S, + QT_TR_NOOP("Scissor"), + QT_TR_NOOP("select Cut Tool:\n" + "with the cut tool you can split a part"), + ":/xpm/cut.xpm" ), Shortcut( - "glue_tool", + "glue", QT_TR_NOOP("Tool: Glue"), ARRANG_SHRT, - Qt::Key_G + Qt::Key_G, + QT_TR_NOOP("Glue"), + QT_TR_NOOP("select Glue Tool:\n" + "with the glue tool you can glue two parts"), + ":/xpm/glue.xpm" ), Shortcut( - "mute_tool", - QT_TR_NOOP("Tool: Mute"), + "quantize", + QT_TR_NOOP("Tool: Quantize"), ARRANG_SHRT, - 0 + Qt::Key_G, + QT_TR_NOOP("Quantize"), + QT_TR_NOOP("select Quantize Tool:\n" + "insert display quantize event"), + ":/xpm/quant.xpm" ), Shortcut( + "draw", + QT_TR_NOOP("Tool: Line Draw"), + PROLL_SHRT + DEDIT_SHRT, + 0, + QT_TR_NOOP("Draw"), + QT_TR_NOOP("select Drawing Tool"), + ":/xpm/draw.xpm" + ), + Shortcut( + "mute_parts", + QT_TR_NOOP("Tool: Mute Parts"), + ARRANG_SHRT, + 0, + QT_TR_NOOP("Mute"), + QT_TR_NOOP("select Muting Tool:\n" + "click on part to mute/unmute"), + ":/xpm/editmute.xpm" + ), + + Shortcut( "curpos_increase", QT_TR_NOOP("Transport: Increase current position"), GLOBAL_SHRT, @@ -891,8 +1007,13 @@ void readShortCuts(QDomNode node) QAction* getAction(const char* id, QObject* parent) { Shortcut* s = shortcuts.value(id); + if (s == 0) { + printf("interanl error: shortcut <%s> not found\n", id); + return 0; + } if (s->action == 0 || s->action->parent() != parent) { s->action = new QAction(s->xml, parent); + s->action->setData(s->xml); s->action->setShortcut(s->key); if (s->help) { s->action->setToolTip(s->help); @@ -902,6 +1023,8 @@ QAction* getAction(const char* id, QObject* parent) s->action->setToolTip(s->descr); s->action->setWhatsThis(s->descr); } + if (s->text) + s->action->setText(s->text); if (s->iconOn) { QIcon icon; icon.addFile(s->iconOn, ICON_SIZE, QIcon::Normal, QIcon::On); diff --git a/muse/muse/song.h b/muse/muse/song.h index 62925d49..6c31c879 100644 --- a/muse/muse/song.h +++ b/muse/muse/song.h @@ -152,6 +152,10 @@ class Song : public QObject { void setPunchin(bool f); void setPunchout(bool f); void setClick(bool val); + void toggleClick() { setClick(!click()); } + void gotoLeftMarker() { setPos(0, lPos()); } + void gotoRightMarker() { setPos(0, rPos()); } + void setQuantize(bool val); void panic(); void seqSignal(int fd); diff --git a/muse/muse/track.cpp b/muse/muse/track.cpp index 150a7e57..9fd77f4b 100644 --- a/muse/muse/track.cpp +++ b/muse/muse/track.cpp @@ -19,20 +19,15 @@ //============================================================================= #include "track.h" -#include "midiplugin.h" #include "song.h" #include "al/tempo.h" #include "al/xml.h" #include "icons.h" -#include "muse.h" #include "audio.h" -#include "midi.h" #include "gconfig.h" #include "midictrl.h" -#include "instruments/minstrument.h" #include "part.h" #include "gui.h" -#include "midioutport.h" #include "driver/audiodev.h" #include "driver/mididev.h" @@ -514,7 +509,7 @@ void Track::setSelected(bool f) if (f != _selected) { _selected = f; emit selectionChanged(_selected); - muse->selectionChanged(); +// muse->selectionChanged(); } } diff --git a/muse/muse/waveedit/waveedit.cpp b/muse/muse/waveedit/waveedit.cpp index 295f0814..d285bf8f 100644 --- a/muse/muse/waveedit/waveedit.cpp +++ b/muse/muse/waveedit/waveedit.cpp @@ -65,9 +65,9 @@ WaveEdit::WaveEdit(PartList* pl, bool init) a->setData(CMD_REVERSE); select = menuEdit->addMenu(QIcon(*selectIcon), tr("Select")); - a = select->addAction(QIcon(*select_allIcon), tr("Select &All")); + a = select->addAction(QIcon(":/xpm/select_all.xpm"), tr("Select &All")); a->setData(CMD_SELECT_ALL); - a = select->addAction(QIcon(*select_deselect_allIcon), tr("&Deselect All")); + a = select->addAction(QIcon(":/xpm/select_deselect_all.xpm"), tr("&Deselect All")); a->setData(CMD_SELECT_NONE); diff --git a/muse/muse/widgets/tools.cpp b/muse/muse/widgets/tools.cpp index cdcd6ea5..39d7aa4d 100644 --- a/muse/muse/widgets/tools.cpp +++ b/muse/muse/widgets/tools.cpp @@ -20,39 +20,11 @@ #include "tools.h" #include "icons.h" +#include "shortcuts.h" -const char* infoPointer = QT_TR_NOOP("select Pointer Tool:\n" - "with the pointer tool you can:\n" - " select parts\n" - " move parts\n" - " copy parts"); -const char* infoPencil = QT_TR_NOOP("select Pencil Tool:\n" - "with the pencil tool you can:\n" - " create new parts\n" - " modify length of parts"); -const char* infoDel = QT_TR_NOOP("select Delete Tool:\n" - "with the delete tool you can delete parts"); -const char* infoCut = QT_TR_NOOP("select Cut Tool:\n" - "with the cut tool you can split a part"); -const char* infoGlue = QT_TR_NOOP("select Glue Tool:\n" - "with the glue tool you can glue two parts"); -// const char* infoScore = QT_TR_NOOP("select Score Tool:\n"); -const char* infoQuant = QT_TR_NOOP("select Quantize Tool:\n" - "insert display quantize event"); -const char* infoDraw = QT_TR_NOOP("select Drawing Tool"); -const char* infoMute = QT_TR_NOOP("select Muting Tool:\n" - "click on part to mute/unmute"); - -ToolB toolList[TOOLS] = { - {&pointerIcon, QT_TR_NOOP("pointer"), infoPointer }, - {&pencilIcon, QT_TR_NOOP("pencil"), infoPencil }, - {&deleteIcon, QT_TR_NOOP("eraser"), infoDel }, - {&cutIcon, QT_TR_NOOP("cutter"), infoCut }, -// {¬e1Icon, QT_TR_NOOP("score"), infoScore }, - {&glueIcon, QT_TR_NOOP("glue"), infoGlue }, - {&quantIcon, QT_TR_NOOP("quantize"), infoQuant }, - {&drawIcon, QT_TR_NOOP("draw"), infoDraw }, - {&editmuteIcon, QT_TR_NOOP("mute parts"), infoMute }, +const char* toolList[TOOLS] = { + "pointer", "pencil", "eraser", "scissor", "glue", + "quantize", "draw", "mute_parts" }; //--------------------------------------------------------- @@ -69,15 +41,11 @@ EditToolBar::EditToolBar(QMainWindow* parent, int tools) for (unsigned i = 0; i < sizeof(toolList)/sizeof(*toolList); ++i) { if ((tools & (1 << i))==0) continue; - ToolB* t = &toolList[i]; - - QAction* a = new QAction(QIcon(**(t->icon)), "tool", this); + QAction* a = getAction(toolList[i], this); a->setData(1 << i); a->setCheckable(true); actionGroup->addAction(a); addAction(a); - a->setToolTip(tr(t->tip)); - a->setWhatsThis(tr(t->ltip)); if (first) { a->setChecked(true); first = false; diff --git a/muse/muse/widgets/tools.h b/muse/muse/widgets/tools.h index ff6c0734..f05e1095 100644 --- a/muse/muse/widgets/tools.h +++ b/muse/muse/widgets/tools.h @@ -28,13 +28,7 @@ class Action; const int arrangerTools = PointerTool | PencilTool | RubberTool | DrawTool | CutTool | GlueTool | MuteTool; -struct ToolB { - QPixmap** icon; - const char* tip; - const char* ltip; - }; const int TOOLS = 8; -extern ToolB toolList[TOOLS]; //--------------------------------------------------------- // EditToolBar @@ -58,5 +52,7 @@ class EditToolBar : public QToolBar { int curTool(); }; +extern const char* toolList[]; + #endif diff --git a/muse/muse/xpm/edit_score.xpm b/muse/muse/xpm/edit_score.xpm deleted file mode 100644 index a6cc1d99..00000000 --- a/muse/muse/xpm/edit_score.xpm +++ /dev/null @@ -1,24 +0,0 @@ -/* XPM */ -static const char *edit_score_xpm[]={ -"16 16 5 1", -"# c #000000", -". c #00c000", -"b c #00ff00", -"a c #dcdcdc", -"c c #ffffff", -"................", -".##############.", -"..aaaaaa#aaaaa..", -".bcccccc##ccccb.", -".##############.", -"..aaaaaa#a#aaa..", -".bcccccc#aaaccb.", -".##############.", -"..aaaaaa#aaaaa..", -".bccc####accccb.", -".##############.", -"..aaa###aaaaaa..", -".bccccaaacccccb.", -".##############.", -"................", -"................"}; diff --git a/muse/muse/xpm/editmuteS.xpm b/muse/muse/xpm/editmuteS.xpm deleted file mode 100644 index 92a9d4be..00000000 --- a/muse/muse/xpm/editmuteS.xpm +++ /dev/null @@ -1,63 +0,0 @@ -/* XPM */ -static const char * editmuteS_xpm[] = { -"16 16 44 1", -" c None", -". c #313131", -"+ c #E5141A", -"@ c #E1180D", -"# c #3F3F3F", -"$ c #222222", -"% c #9E000D", -"& c #FB1300", -"* c #E91900", -"= c #3B3B3B", -"- c #EB1420", -"; c #A9010C", -"> c #454545", -", c #000000", -"' c #E10E08", -") c #DD1F0F", -"! c #121212", -"~ c #ED0014", -"{ c #FF0603", -"] c #F7001C", -"^ c #4C4C4C", -"/ c #525252", -"( c #1E0700", -"_ c #ED021A", -": c #F00018", -"< c #E21C19", -"[ c #070707", -"} c #030A1D", -"| c #000F00", -"1 c #E90412", -"2 c #0B0017", -"3 c #000700", -"4 c #010101", -"5 c #EC141D", -"6 c #EA0900", -"7 c #DE0B09", -"8 c #E01000", -"9 c #E81400", -"0 c #F10E1C", -"a c #EE0E16", -"b c #E50300", -"c c #FF0316", -"d c #E70816", -"e c #FF1901", -" ", -" . +@ ", -" # $%&* ", -" =. . -.; ", -" #>, #'). ", -" ##!, ~${], ", -" #^/!(,_:,< [ ", -" #.,}|,'1, , ", -" .,,23,{], 4 ", -" ,,,,,,< , , ", -" ,,,, , , ", -" 56,,, , , ", -" 7890,, , , ", -" abcd , , ", -" 6e~ , ", -" "}; diff --git a/muse/muse/xpm/pianoS.xpm b/muse/muse/xpm/piano.xpm index 3649919e..3649919e 100644 --- a/muse/muse/xpm/pianoS.xpm +++ b/muse/muse/xpm/piano.xpm |