MuseScore  3.4
Music composition and notation
musescore.h
Go to the documentation of this file.
1 //=============================================================================
2 // MuseScore
3 // Music Composition & Notation
4 //
5 // Copyright (C) 2002-2016 Werner Schweer and others
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License version 2.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 //=============================================================================
19 
20 #ifndef __MUSESCORE_H__
21 #define __MUSESCORE_H__
22 
23 #include "config.h"
24 #include "globals.h"
25 #include "singleapp/src/QtSingleApplication"
26 #include "updatechecker.h"
28 #include "libmscore/score.h"
29 #include "sessionstatusobserver.h"
30 
31 namespace Ms {
32 
33 class UploadScoreDialog;
34 class LoginManager;
35 class AboutBoxDialog;
36 class AboutMusicXMLBoxDialog;
37 class InsertMeasuresDialog;
38 class MeasuresDialog;
39 class Shortcut;
40 class ScoreView;
41 class Element;
42 class PreferenceDialog;
43 class InstrumentsDialog;
44 class Instrument;
45 class MidiFile;
46 class TextStyleDialog;
47 class PlayPanel;
48 class Mixer;
49 class Debugger;
50 class MeasureListEditor;
51 class MasterScore;
52 class Score;
53 class Tuplet;
54 class PageSettings;
55 class Palette;
56 class PaletteScrollArea;
57 class SelectionWindow;
58 class XmlWriter;
59 class MagBox;
60 class NewWizard;
61 class ExcerptsDialog;
62 class SynthControl;
63 class PianorollEditor;
64 class DrumrollEditor;
65 class Staff;
66 class ScoreTab;
67 class Drumset;
68 class TextTools;
69 class DrumTools;
70 class KeyEditor;
71 class ChordStyleEditor;
72 class Navigator;
73 class Timeline;
74 class PianoTools;
75 class MediaDialog;
76 class Workspace;
77 class WorkspaceDialog;
78 class AlbumManager;
79 class WebPageDockWidget;
80 class ChordList;
81 class Capella;
82 class Inspector;
83 class OmrPanel;
84 class NScrollArea;
85 class TDockWidget;
86 class Sym;
87 class MasterPalette;
88 class PluginCreator;
89 class MsQmlEngine;
90 #ifdef SCRIPT_INTERFACE
91 class PluginManager;
92 class QmlPluginEngine;
93 #endif
94 class MasterSynthesizer;
95 class SynthesizerState;
96 class Driver;
97 class Seq;
98 class ImportMidiPanel;
99 class ScoreComparisonTool;
100 class ScriptRecorder;
101 class ScriptRecorderWidget;
102 class Startcenter;
103 class HelpBrowser;
104 class ToolbarEditor;
105 class TourHandler;
106 class GeneralAutoUpdater;
107 class EditStyle;
108 
109 class PalettePanel;
110 struct PaletteTree;
111 class PaletteWidget;
112 class PaletteWorkspace;
113 class QmlDockWidget;
114 
115 struct PluginDescription;
116 enum class SelState : char;
117 enum class IconType : signed char;
118 enum class MagIdx : char;
119 
120 extern QString mscoreGlobalShare;
121 extern QString revision;
122 static const int PROJECT_LIST_LEN = 6;
123 extern const char* voiceActions[];
124 extern bool mscoreFirstStart;
125 
126 //---------------------------------------------------------
127 // IconActions
128 //---------------------------------------------------------
129 
130 struct IconAction {
132  const char* action;
133  };
134 
135 //---------------------------------------------------------
136 // LanguageItem
137 //---------------------------------------------------------
138 
139 struct LanguageItem {
140  QString key;
141  QString name;
142  QString handbook;
143  LanguageItem(const QString k, const QString n) {
144  key = k;
145  name = n;
146  handbook = QString();
147  }
148  LanguageItem(const QString k, const QString n, const QString h) {
149  key = k;
150  name = n;
151  handbook = h;
152  }
153  };
154 
155 //---------------------------------------------------------
156 // MuseScoreApplication (mac only)
157 //---------------------------------------------------------
158 
159 class MuseScoreApplication : public QtSingleApplication {
160  public:
161  QStringList paths;
162  MuseScoreApplication(const QString& id, int &argc, char **argv)
163  : QtSingleApplication(id, argc, argv) {
164  };
165  virtual bool event(QEvent *ev) override;
166 
168  QStringList argv;
169  bool exit = false;
170  };
171  static CommandLineParseResult parseCommandLineArguments(MuseScoreApplication* app);
172  static MuseScoreApplication* initApplication(int& argc, char** argv);
173  };
174 
175 
176 //---------------------------------------------------------
177 // MuseScore
178 //---------------------------------------------------------
179 
180 class MuseScore : public QMainWindow, public MuseScoreCore {
181  Q_OBJECT
182 
183  QSettings settings;
184  ScoreView* cv { 0 };
185  ScoreTab* ctab { 0 };
186  QMap<MasterScore*, bool> scoreWasShown; // whether each score in scoreList has ever been shown
189  ExtensionsUpdateChecker* packUChecker = nullptr;
190 
191  static const std::list<const char*> _allNoteInputMenuEntries;
192  std::list<const char*> _noteInputMenuEntries { _allNoteInputMenuEntries };
193 
194  static const std::list<const char*> _allFileOperationEntries;
195  std::list<const char*> _fileOperationEntries { _allFileOperationEntries };
196 
197  static const std::list<const char*> _allPlaybackControlEntries;
198  std::list<const char*> _playbackControlEntries { _allPlaybackControlEntries };
199 
200  bool _playPartOnly = true; // play part only vs. full score
201 
202  QVBoxLayout* layout; // main window layout
203  QSplitter* splitter;
208  ImportMidiPanel* importmidiPanel { 0 };
210  QSplitter* mainWindow;
211 
212  ScoreComparisonTool* scoreCmpTool { 0 };
213  ScriptRecorderWidget* scriptRecorder { nullptr };
214 
216  QComboBox* viewModeCombo;
217  QAction* playId;
218 
219  QAction* pref;
221  QAction* aboutAction;
222  QAction* aboutQtAction;
224  QAction* checkForUpdateAction { 0 };
226  QAction* reportBugAction;
229 
230  QProgressBar* _progressBar { 0 };
231  PreferenceDialog* preferenceDialog { 0 };
232  QToolBar* cpitchTools;
233  QToolBar* fotoTools;
234  QToolBar* fileTools;
235  QToolBar* transportTools;
236  QToolBar* entryTools;
237  QToolBar* feedbackTools;
238  QToolBar* workspacesTools;
239  TextTools* _textTools { 0 };
240  PianoTools* _pianoTools { 0 };
241  MediaDialog* _mediaDialog { 0 };
242  DrumTools* _drumTools { 0 };
243  QToolBar* voiceTools;
244  InstrumentsDialog* instrList { 0 };
245  MeasuresDialog* measuresDialog { 0 };
246  InsertMeasuresDialog* insertMeasuresDialog { 0 };
247  MasterPalette* masterPalette { 0 };
248  PluginCreator* _pluginCreator { 0 };
249 #ifdef SCRIPT_INTERFACE
250  PluginManager* pluginManager { 0 };
251  QmlPluginEngine* _qmlEngine { 0 };
252 #endif
253  MsQmlEngine* _qmlUiEngine { 0 };
254  SelectionWindow* selectionWindow { 0 };
255 
256  QMenu* menuFile;
257  QMenu* openRecent;
258  QMenu* menuEdit;
259  QMenu* menuView;
260  QMenu* menuToolbars;
262 
263  QMenu* menuAdd;
266  QMenu* menuAddText;
267  QMenu* menuAddLines;
268  QMenu* menuAddPitch;
270  QMenu* menuTuplet;
271 
272  QMenu* menuFormat;
273  QMenu* menuStretch;
274  QMenu* menuTools;
275  QMenu* menuVoices;
276  QMenu* menuMeasure;
277 
278  QMenu* menuPlugins;
279  QMenu* menuHelp;
280  QMenu* menuTours;
281 #ifndef NDEBUG
282  QMenu* menuDebug;
283 #endif
284  AlbumManager* albumManager { 0 };
285 
286  QWidget* _searchDialog { 0 };
287  QComboBox* searchCombo;
288 
289  PlayPanel* playPanel { 0 };
290  Mixer* mixer { 0 };
291  SynthControl* synthControl { 0 };
292  Debugger* debugger { 0 };
293  MeasureListEditor* measureListEdit { 0 };
294  PageSettings* pageSettings { 0 };
295 
296  QWidget* symbolDialog { 0 };
297 
298  PaletteScrollArea* clefPalette { 0 };
299  PaletteScrollArea* keyPalette { 0 };
300  KeyEditor* keyEditor { 0 };
301  ChordStyleEditor* chordStyleEditor { 0 };
302  QStatusBar* _statusBar;
303  QLabel* _modeText;
304  QLabel* _positionLabel;
305  NewWizard* newWizard { 0 };
306  HelpBrowser* helpBrowser { 0 };
307  QDockWidget* manualDock { 0 };
308 
309  PaletteWorkspace* paletteWorkspace { nullptr };
310  PaletteWidget* paletteWidget { nullptr };
311 
312  Inspector* _inspector { 0 };
313  OmrPanel* omrPanel { 0 };
314  QWidget* lastFocusWidget { 0 };
315 
316  QPushButton* showMidiImportButton {0};
317 
318  bool _midiinEnabled { true };
319  QList<QString> plugins;
320  QString pluginPath;
321 
322 #ifdef SCRIPT_INTERFACE
323  void createMenuEntry(PluginDescription*);
324  void removeMenuEntry(PluginDescription*);
325 #endif
326 
327  QTimer* autoSaveTimer;
328  QList<QAction*> pluginActions;
329 
330  PianorollEditor* pianorollEditor { 0 };
331  DrumrollEditor* drumrollEditor { 0 };
332  bool _splitScreen { false };
333  bool _horizontalSplit { true };
334 
335  QString rev;
336 
337  int _midiRecordId { -1 };
338 
339  bool _fullscreen { false };
340  QList<LanguageItem> _languages;
341 
342  Startcenter* startcenter { 0 };
343  QWidget* loginDialog { 0 };
344  UploadScoreDialog* uploadScoreDialog { 0 };
345  LoginManager* _loginManager { 0 };
346  QFileDialog* loadScoreDialog { 0 };
347  QFileDialog* saveScoreDialog { 0 };
348  QFileDialog* loadStyleDialog { 0 };
349  QFileDialog* saveStyleDialog { 0 };
350  QFileDialog* saveImageDialog { 0 };
351  QFileDialog* loadChordStyleDialog { 0 };
352  QFileDialog* saveChordStyleDialog { 0 };
353  QFileDialog* loadSfzFileDialog { 0 };
354  QFileDialog* loadBackgroundDialog { 0 };
355  QFileDialog* loadScanDialog { 0 };
356  QFileDialog* loadAudioDialog { 0 };
357  QFileDialog* loadDrumsetDialog { 0 };
358  QFileDialog* loadPluginDialog { 0 };
359  QFileDialog* loadPaletteDialog { 0 };
360  QFileDialog* savePaletteDialog { 0 };
361  QFileDialog* saveDrumsetDialog { 0 };
362  QFileDialog* savePluginDialog { 0 };
363 
364  WorkspaceDialog* _workspaceDialog { 0 };
365 
366  EditStyle* _styleDlg { nullptr };
367 
368  QDialog* editRasterDialog { 0 };
369 
370  QAction* hRasterAction;
371  QAction* vRasterAction;
372 
373  ToolbarEditor* editToolbars { 0 };
374  QActionGroup* workspaces { 0 };
375 
376  bool inChordEditor { false };
377 
378  QComboBox* layerSwitch;
379  QComboBox* playMode;
380  QNetworkAccessManager* _networkManager { 0 };
381  QAction* lastCmd { 0 };
382  const Shortcut* lastShortcut { 0 };
383  QHelpEngine* _helpEngine { 0 };
384  int globalX, globalY; // current mouse position
385 
386  QAction* countInAction;
387  QAction* metronomeAction;
388  QAction* loopAction;
389  QAction* loopInAction;
390  QAction* loopOutAction;
391  QAction* panAction;
392 
393  QLabel* cornerLabel;
394  QStringList _recentScores;
395  QToolButton* _playButton;
396 
398 
399  QMessageBox* infoMsgBox;
400  TourHandler* _tourHandler { 0 };
401 
402  QWindow* _lastFocusWindow { nullptr };
403  bool _lastFocusWindowIsQQuickView { false };
404 
405  std::unique_ptr<GeneralAutoUpdater> autoUpdater;
406 
408 
409  //---------------------
410 
411  virtual void closeEvent(QCloseEvent*);
412  virtual void dragEnterEvent(QDragEnterEvent*);
413  virtual void dropEvent(QDropEvent*);
414  virtual void changeEvent(QEvent *e);
415  virtual void showEvent(QShowEvent *event);
416 
417  void retranslate();
418  void setMenuTitles();
419  void updateMenu(QMenu*& menu, QString menu_id, QString objectName);
420 
421  void playVisible(bool flag);
422  void launchBrowser(const QString whereTo);
423 
424  void loadScoreList();
425  void editInstrList();
426  void symbolMenu();
427  void showKeyEditor();
428  bool saveFile();
429  bool saveFile(MasterScore* score);
430  void fingeringMenu();
431 
432 #ifdef SCRIPT_INTERFACE
433  int pluginIdxFromPath(QString pluginPath);
434 #endif
435  void startDebugger();
436  void midiinToggled(bool);
437  void undoRedo(bool undo);
438  void showPalette(bool);
439  void showInspector(bool);
440  void showOmrPanel(bool);
441  void showNavigator(bool);
442  void showTimeline(bool);
443  void showSelectionWindow(bool);
444  void showSearchDialog();
445  void showToolbarEditor();
446  void splitWindow(bool horizontal);
447  void removeSessionFile();
448  void editChordStyle();
449  void startExcerptsDialog();
450  void initOsc();
451  void editRaster();
452  void showPianoKeyboard(bool);
453  void showMediaDialog();
454  void showAlbumManager();
455  void showLayerManager();
456  void updateUndoRedo();
457  void changeScore(int);
458  virtual void resizeEvent(QResizeEvent*);
459  void showModeText(const QString&);
460  void addRecentScore(const QString& scorePath);
461 
462  void updateViewModeCombo();
463  void switchLayoutMode(LayoutMode);
464  void setPlayRepeats(bool repeat);
465 
466  ScoreTab* createScoreTab();
467  void askResetOldScorePositions(Score* score);
468 
469  QString getUtmParameters(QString medium) const;
470 
471  void checkForUpdatesNoUI();
472 
473  signals:
474  void windowSplit(bool);
475  void musescoreWindowWasShown();
476  void workspacesChanged();
477  void scoreStateChanged(ScoreState state);
478 
479  private slots:
480  void cmd(QAction* a, const QString& cmd);
481  void autoSaveTimerTimeout();
482  void helpBrowser1() const;
483  void resetAndRestart();
484  void about();
485  void aboutQt();
486  void aboutMusicXML();
487  void reportBug(QString medium);
488  void askForHelp();
489  void leaveFeedback(QString medium);
490  void openRecentMenu();
491  void selectScore(QAction*);
492  void startPreferenceDialog();
493  void preferencesChanged(bool fromWorkspace = false);
494  void seqStarted();
495  void seqStopped();
496  void cmdAppendMeasures();
497  void cmdInsertMeasures();
498  void magChanged(MagIdx);
499  void showPageSettings();
500  void removeTab(int);
501  void removeTab();
502  void clipboardChanged();
503  void inputMethodAnchorRectangleChanged();
504  void inputMethodAnimatingChanged();
505  void inputMethodCursorRectangleChanged();
506  void inputMethodInputDirectionChanged(Qt::LayoutDirection newDirection);
507  void inputMethodInputItemClipRectangleChanged();
508  void inputMethodKeyboardRectangleChanged();
509  void inputMethodLocaleChanged();
510  void inputMethodVisibleChanged();
511  void endSearch();
512  void saveScoreDialogFilterSelected(const QString&);
513 #ifdef OSC
514  void oscIntMessage(int);
515  void oscVolume(int val);
516  void oscTempo(int val);
517  void oscGoto(int m);
518  void oscSelectMeasure(int m);
519  void oscVolChannel(double val);
520  void oscPanChannel(double val);
521  void oscMuteChannel(double val);
522  void oscOpen(QString path);
523  void oscCloseAll();
524  void oscTriggerPlugin(QString list);
525  void oscColorNote(QVariantList list);
526  void oscAction();
527 #endif
528  void deleteWorkspace();
529  void resetWorkspace();
530  void showWorkspaceMenu();
531  void switchLayer(const QString&);
532  void switchPlayMode(int);
533  void networkFinished();
534  void switchLayoutMode(int);
535  void showMidiImportPanel();
536  void changeWorkspace(QAction*);
537  void onLongOperationFinished();
538 
539  void onFocusWindowChanged(QWindow*);
540 
541  virtual QMenu* createPopupMenu() override;
542 
543  QByteArray exportPdfAsJSON(Score*);
544 
545  public slots:
546  virtual void cmd(QAction* a);
547  void dirtyChanged(Score*);
548  void setPos(const Fraction& tick);
549  void pluginTriggered(int);
550  void pluginTriggered(QString path);
551  void handleMessage(const QString& message);
552  void setCurrentScoreView(ScoreView*);
553  void setCurrentScoreView(int);
554  void setCurrentScores(Score* s1, Score* s2 = nullptr);
555  void setNormalState() { changeState(STATE_NORMAL); }
556  void setPlayState() { changeState(STATE_PLAY); }
557  void setNoteEntryState() { changeState(STATE_NOTE_ENTRY); }
558  void checkForUpdatesUI();
559  void checkForExtensionsUpdate();
560  void midiNoteReceived(int channel, int pitch, int velo);
561  void midiNoteReceived(int pitch, bool ctrl, int velo);
562  void instrumentChanged();
563  void showMasterPalette(const QString& = 0);
564  void selectionChanged(SelState);
565  void createNewWorkspace();
566  void editWorkspace();
567  void changeWorkspace(Workspace* p, bool first=false);
568  void mixerPreferencesChanged(bool showMidiControls);
569  void checkForUpdates();
570  void restartAudioEngine();
571 
572  public:
573  MuseScore();
574  ~MuseScore();
575  bool checkDirty(MasterScore*);
576  PlayPanel* getPlayPanel() const { return playPanel; }
577  Mixer* getMixer() const { return mixer; }
578  QMenu* genCreateMenu(QWidget* parent = 0);
579  virtual int appendScore(MasterScore*);
580  void midiCtrlReceived(int controller, int value);
581  void showElementContext(Element* el);
582  void cmdAppendMeasures(int);
583  bool midiinEnabled() const;
584 
585  void incMag();
586  void decMag();
587  void readSettings();
588  void writeSettings();
589  void play(Element* e) const;
590  void play(Element* e, int pitch) const;
591  bool loadPlugin(const QString& filename);
592  QString createDefaultName() const;
593  void startAutoSave();
594  double getMag(ScoreView*) const;
595  void setMag(double);
596  bool noScore() const { return scoreList.isEmpty(); }
597 
598  TextTools* textTools();
599  void showDrumTools(const Drumset*, Staff*);
600  void updateDrumTools(const Drumset* ds);
601  void showPluginCreator(QAction*);
602  void showPluginManager();
603 
604 // void updateTabNames();
605  void updatePaletteBeamMode();
606  QProgressBar* showProgressBar();
607  void hideProgressBar();
608  void addRecentScore(Score*);
609  QFileDialog* saveAsDialog();
610  QFileDialog* saveCopyDialog();
611  EditStyle* styleDlg() { return _styleDlg; }
612  void setStyleDlg(EditStyle* es) { _styleDlg = es; }
613 
618  SynthControl* getSynthControl() const { return synthControl; }
619  void editInPianoroll(Staff* staff, Position* p = 0);
620  void editInDrumroll(Staff* staff);
621  PianorollEditor* getPianorollEditor() const { return pianorollEditor; }
622  DrumrollEditor* getDrumrollEditor() const { return drumrollEditor; }
623  PianoTools* pianoTools() const { return _pianoTools; }
624 #ifdef SCRIPT_INTERFACE
625  PluginManager* getPluginManager() const { return pluginManager; }
626  QmlPluginEngine* getPluginEngine();
627 #endif
628  MsQmlEngine* getQmlUiEngine();
629  void writeSessionFile(bool);
630  bool restoreSession(bool);
631  bool splitScreen() const { return _splitScreen; }
632  void setSplitScreen(bool val);
633  virtual void setCurrentView(int tabIdx, int idx);
634  void loadPlugins();
635  void unloadPlugins();
636 #ifdef SCRIPT_INTERFACE
637  void addPluginMenuEntries();
638 #endif
639 
640  ScoreState state() const { return _sstate; }
641  void changeState(ScoreState);
642  void updateInputState(Score*);
643  void updateShadowNote();
644 
645  bool readLanguages(const QString& path);
646  void setRevision(QString& r) {rev = r;}
647  Q_INVOKABLE QString revision() {return rev;}
648  Q_INVOKABLE QString version() {return VERSION;}
649  static QString fullVersion();
650  Q_INVOKABLE void newFile();
651  MasterScore* getNewFile();
652  Q_INVOKABLE void loadFile(const QString& url);
653  void loadFile(const QUrl&);
654  QTemporaryFile* getTemporaryScoreFileCopy(const QFileInfo& info, const QString& baseNameTemplate);
655  QNetworkAccessManager* networkManager();
656  virtual Score* openScore(const QString& fn, bool switchTab = true);
657  bool hasToCheckForUpdate();
658  bool hasToCheckForExtensionsUpdate();
659  static bool unstable();
660  bool eventFilter(QObject *, QEvent *);
661  void setMidiRecordId(int id) { _midiRecordId = id; }
662  int midiRecordId() const { return _midiRecordId; }
663  void setDefaultPalette();
664  void scorePageLayoutChanged();
665  bool processMidiRemote(MidiRemoteType type, int data, int value);
666  ScoreTab* getTab1() const { return tab1; }
667  ScoreTab* getTab2() const { return tab2; }
668  QList<LanguageItem>& languages() { return _languages; }
669 
670  QStringList getOpenScoreNames(const QString& filter, const QString& title, bool singleFile = false);
671  QString getSaveScoreName(const QString& title, QString& name, const QString& filter, bool folder = false);
672  QString getStyleFilename(bool open, const QString& title = QString());
673  QString getFotoFilename(QString& filter, QString *selectedFilter);
674  QString getChordStyleFilename(bool open);
675  QString getScanFile(const QString&);
676  QString getAudioFile(const QString&);
677  QString getDrumsetFilename(bool open);
678  QString getPluginFilename(bool open);
679  QString getPaletteFilename(bool open, const QString& name = "");
680  QString getWallpaper(const QString& caption);
681 
682  bool hRaster() const { return hRasterAction->isChecked(); }
683  bool vRaster() const { return vRasterAction->isChecked(); }
684 
685  PaletteWorkspace* getPaletteWorkspace();
686  PaletteWidget* getPaletteWidget() { return paletteWidget; }
687  std::vector<QmlDockWidget*> qmlDockWidgets();
688  void changeWorkspace(const QString& name);
689 
690  void disableCommands(bool val) { inChordEditor = val; }
691 
692  Tuplet* tupletDialog();
693  void selectSimilar(Element*, bool);
694  void selectSimilarInRange(Element* e);
695  void selectElementDialog(Element* e);
696  void transpose();
697 
698  Q_INVOKABLE void openExternalLink(const QString&);
699 
700  void endCmd(bool undoRedo);
701  void endCmd() override { endCmd(false); };
702  void printFile();
703  void exportFile();
704  bool exportParts();
705  virtual bool saveAs(Score*, bool saveCopy, const QString& path, const QString& ext);
706  QString saveFilename(QString fn);
707  bool savePdf(const QString& saveName);
708  bool savePdf(Score* cs, const QString& saveName);
709  bool savePdf(QList<Score*> cs, const QString& saveName);
710  bool savePdf(Score* cs, QPrinter& printer);
711 
712 
713  MasterScore* readScore(const QString& name);
714 
715  bool saveAs(Score*, bool saveCopy = false);
716  bool saveSelection(Score*);
717  void addImage(Score*, Element*);
718 
719  bool saveAudio(Score*, QIODevice*, std::function<bool(float)> updateProgress = nullptr);
720  bool saveAudio(Score*, const QString& name);
721  bool canSaveMp3();
722  bool saveMp3(Score*, const QString& name);
723  bool saveMp3(Score*, QIODevice*, bool& wasCanceled);
724  bool saveSvg(Score*, const QString& name);
725  bool saveSvg(Score*, QIODevice*, int pageNum = 0, bool drawPageBackground = false);
726  bool savePng(Score*, QIODevice*, int pageNum = 0, bool drawPageBackground = false);
727  bool savePng(Score*, const QString& name);
728  bool saveMidi(Score*, const QString& name);
729  bool saveMidi(Score*, QIODevice*);
730  bool savePositions(Score*, const QString& name, bool segments);
731  bool savePositions(Score*, QIODevice*, bool segments);
732  bool saveMetadataJSON(Score*, const QString& name);
733  QJsonObject saveMetadataJSON(Score*);
734 
736  bool exportAllMediaFiles(const QString& inFilePath, const QString& outFilePath = "/dev/stdout");
737  bool exportScoreMetadata(const QString& inFilePath, const QString& outFilePath = "/dev/stdout");
738  bool exportMp3AsJSON(const QString& inFilePath, const QString& outFilePath = "/dev/stdout");
739  bool exportPartsPdfsToJSON(const QString& inFilePath, const QString& outFilePath = "/dev/stdout");
740  bool exportTransposedScoreToJSON(const QString& inFilePath, const QString& transposeOptions, const QString& outFilePath = "/dev/stdout");
742 
743  void scoreUnrolled(MasterScore* original);
744 
745  virtual void closeScore(Score* score);
746 
747  void addTempo();
748  void addMetronome();
749 
750  SynthesizerState synthesizerState() const;
751  static Synthesizer* synthesizer(const QString& name);
752 
753  Q_INVOKABLE QString getLocaleISOCode() const;
754  Navigator* navigator() const;
755  NScrollArea* navigatorScrollArea() const { return _navigator; }
756  Timeline* timeline() const;
757  TDockWidget* timelineScrollArea() const { return _timeline; }
758  QWidget* searchDialog() const;
759  SelectionWindow* getSelectionWindow() const { return selectionWindow; }
760  void updateLayer();
761  void updatePlayMode();
762  bool loop() const { return loopAction->isChecked(); }
763  bool metronome() const { return metronomeAction->isChecked(); }
764  bool countIn() const { return countInAction->isChecked(); }
765  bool panDuringPlayback() const { return panAction->isChecked(); }
766  void noteTooShortForTupletDialog();
767  void loadFiles(bool switchTab = true, bool singleFile = false);
768  // midi panel functions
769  void midiPanelOnSwitchToFile(const QString &file);
770  void midiPanelOnCloseFile(const QString &file);
771  void allowShowMidiPanel(const QString &file);
772  void setMidiReopenInProgress(const QString &file);
773 
774  static Palette* newTempoPalette(bool defaultPalette = false);
775  static Palette* newTextPalette(bool defaultPalette = false);
776  static Palette* newTimePalette();
777  static Palette* newRepeatsPalette();
778  static Palette* newBreaksPalette();
779  static Palette* newBeamPalette();
780  static Palette* newDynamicsPalette(bool defaultPalette = false);
781  static Palette* newFramePalette();
782  static Palette* newFingeringPalette();
783  static Palette* newTremoloPalette();
784  static Palette* newNoteHeadsPalette();
785  static Palette* newArticulationsPalette();
786  static Palette* newOrnamentsPalette();
787  static Palette* newAccordionPalette();
788  static Palette* newBracketsPalette();
789  static Palette* newBreathPalette();
790  static Palette* newArpeggioPalette();
791  static Palette* newClefsPalette(bool defaultPalette = false);
792  static Palette* newGraceNotePalette();
793  static Palette* newBagpipeEmbellishmentPalette();
794  static Palette* newKeySigPalette();
795  static Palette* newAccidentalsPalette(bool defaultPalette = false);
796  static Palette* newBarLinePalette();
797  static Palette* newLinesPalette();
798  static Palette* newFretboardDiagramPalette();
799 
800  static PalettePanel* newTempoPalettePanel(bool defaultPalette = false);
801  static PalettePanel* newTextPalettePanel(bool defaultPalette = false);
802  static PalettePanel* newTimePalettePanel();
803  static PalettePanel* newRepeatsPalettePanel();
804  static PalettePanel* newBreaksPalettePanel();
805  static PalettePanel* newBeamPalettePanel();
806  static PalettePanel* newDynamicsPalettePanel(bool defaultPalette = false);
807  static PalettePanel* newFramePalettePanel();
808  static PalettePanel* newFingeringPalettePanel();
809  static PalettePanel* newTremoloPalettePanel();
810  static PalettePanel* newNoteHeadsPalettePanel();
811  static PalettePanel* newArticulationsPalettePanel();
812  static PalettePanel* newOrnamentsPalettePanel();
813  static PalettePanel* newAccordionPalettePanel();
814  static PalettePanel* newBracketsPalettePanel();
815  static PalettePanel* newBreathPalettePanel();
816  static PalettePanel* newArpeggioPalettePanel();
817  static PalettePanel* newClefsPalettePanel(bool defaultPalette = false);
818  static PalettePanel* newGraceNotePalettePanel();
819  static PalettePanel* newBagpipeEmbellishmentPalettePanel();
820  static PalettePanel* newKeySigPalettePanel();
821  static PalettePanel* newAccidentalsPalettePanel(bool defaultPalette = false);
822  static PalettePanel* newBarLinePalettePanel();
823  static PalettePanel* newLinesPalettePanel();
824  static PalettePanel* newFretboardDiagramPalettePanel();
825  static PaletteTree* newMasterPaletteTree();
826 
827  WorkspaceDialog* workspaceDialog() { return _workspaceDialog; }
828  void updateIcons();
829  void updateMenus();
830 
831  Inspector* inspector() { return _inspector; }
832  PluginCreator* pluginCreator() { return _pluginCreator; }
833  ScoreView* currentScoreView() const { return cv; }
834  ScoreTab* currentScoreTab() const { return ctab; }
835  QToolButton* playButton() { return _playButton; }
836  void showMessage(const QString& s, int timeout);
837  void showHelp(QString);
838  void showContextHelp();
839  void showHelp(const QUrl&);
840 
841  TourHandler* tourHandler() { return _tourHandler; }
842 
843 #ifdef SCRIPT_INTERFACE
844  void registerPlugin(PluginDescription*);
845  void unregisterPlugin(PluginDescription*);
846 #endif
847 
848  Q_INVOKABLE void showStartcenter(bool);
849  void reDisplayDockWidget(QDockWidget* widget, bool visible);
850  void showPlayPanel(bool);
851 
852  QFileInfoList recentScores() const;
853  void saveDialogState(const char* name, QFileDialog* d);
854  void restoreDialogState(const char* name, QFileDialog* d);
855 
856  QPixmap extractThumbnail(const QString& name);
857 
858  void showLoginDialog();
859  void showUploadScoreDialog();
860  LoginManager* loginManager() { return _loginManager; }
861  QHelpEngine* helpEngine() const { return _helpEngine; }
862 
863  virtual void updateInspector() override;
864  void updateInstrumentDialog();
865  void reloadInstrumentTemplates();
866  void showSynthControl(bool);
867  void showMixer(bool);
868 
869  qreal physicalDotsPerInch() const { return _physicalDotsPerInch; }
870  static const std::list<const char*>& allNoteInputMenuEntries() { return _allNoteInputMenuEntries; }
871  std::list<const char*>* noteInputMenuEntries() { return &_noteInputMenuEntries; }
872  void setNoteInputMenuEntries(std::list<const char*> l) { _noteInputMenuEntries = l; }
873  void populateNoteInputMenu();
874 
875  static const std::list<const char*>& allFileOperationEntries() { return _allFileOperationEntries; }
876  std::list<const char*>* fileOperationEntries() { return &_fileOperationEntries; }
877  void setFileOperationEntries(std::list<const char*> l) { _fileOperationEntries = l; }
878  void populateFileOperations();
879 
880  static const std::list<const char*>& allPlaybackControlEntries() { return _allPlaybackControlEntries; }
881  std::list<const char*>* playbackControlEntries() { return &_playbackControlEntries; }
882  void setPlaybackControlEntries(std::list<const char*> l) { _playbackControlEntries = l; }
883  void populatePlaybackControls();
884 
885  bool playPartOnly() const { return _playPartOnly; }
886  void setPlayPartOnly(bool val);
887 
888  static void updateUiStyleAndTheme();
889 
890  void showError();
891 
892  static void saveGeometry(QWidget const*const qw);
893  static void restoreGeometry(QWidget*const qw);
894 
895  void updateWindowTitle(Score* score);
896  bool importExtension(QString path);
897  bool uninstallExtension(QString extensionId);
898  Q_INVOKABLE bool isInstalledExtension(QString extensionId);
899 
900  void focusScoreView();
901 
902  void notifyElementDraggedToScoreView();
903 
904  ScriptRecorder* getScriptRecorder();
905  bool runTestScripts(const QStringList& scripts);
906 
907  static void init(QStringList& argv);
908 
909  friend class TestWorkspaces;
910  };
911 
912 extern MuseScore* mscore;
913 extern QStringList recentScores;
914 extern QString dataPath;
915 extern MasterSynthesizer* synti;
917 Driver* driverFactory(Seq*, QString driver);
918 
919 extern QAction* getAction(const char*);
920 extern Shortcut* midiActionMap[128];
921 extern void loadTranslation(QString fileName, QString localeName);
922 extern void setMscoreLocale(QString localeName);
923 extern bool saveMxl(Score*, const QString& name);
924 extern bool saveMxl(Score*, QIODevice*);
925 extern bool saveXml(Score*, QIODevice*);
926 extern bool saveXml(Score*, const QString& name);
927 
928 extern QString getSharePath();
929 
930 extern Score::FileError importMidi(MasterScore*, const QString& name);
931 extern Score::FileError importGTP(MasterScore*, const QString& name);
932 extern Score::FileError importBww(MasterScore*, const QString& path);
933 extern Score::FileError importMusicXml(MasterScore*, const QString&);
934 extern Score::FileError importCompressedMusicXml(MasterScore*, const QString&);
935 extern Score::FileError importMuseData(MasterScore*, const QString& name);
936 extern Score::FileError importLilypond(MasterScore*, const QString& name);
937 extern Score::FileError importBB(MasterScore*, const QString& name);
938 extern Score::FileError importCapella(MasterScore*, const QString& name);
939 extern Score::FileError importCapXml(MasterScore*, const QString& name);
940 extern Score::FileError readScore(MasterScore* score, QString name, bool ignoreVersionError);
941 
942 int runApplication(int& argc, char** argv);
943 } // namespace Ms
944 
945 extern Ms::Score::FileError importOve(Ms::MasterScore*, const QString& name);
946 
947 #endif
Definition: paletteworkspace.h:167
Definition: musescore.h:159
Definition: uploadscoredialog.h:26
QMenu * menuDebug
Definition: musescore.h:282
Definition: recorderwidget.h:30
QAction * metronomeAction
Definition: musescore.h:387
Definition: helpBrowser.h:35
QString localeName
Definition: musescore.cpp:212
Definition: timeline.h:115
Definition: navigator.h:63
QStringList argv
Definition: musescore.h:168
Definition: magbox.h:55
MagBox * mag
Definition: musescore.h:215
Global staff data not directly related to drawing.
Definition: staff.h:62
Definition: navigator.h:35
Mixer * getMixer() const
Definition: musescore.h:577
SelState
Definition: select.h:71
static const std::list< const char * > & allFileOperationEntries()
Definition: musescore.h:875
QAction * loopInAction
Definition: musescore.h:389
Definition: musescore.h:180
QString key
Definition: musescore.h:140
bool vRaster() const
Definition: musescore.h:683
QFrame * importmidiShowPanel
Definition: musescore.h:209
Definition: pianoroll.h:43
QMenu * menuTours
Definition: musescore.h:280
Definition: workspace.h:34
Definition: globals.h:56
QMap< MasterScore *, bool > scoreWasShown
Definition: musescore.h:186
QString pluginPath
Definition: musescore.h:320
Definition: synthesizer.h:41
Score::FileError importCompressedMusicXml(MasterScore *score, const QString &name)
Import compressed MusicXML file name into the Score.
Definition: importxml.cpp:278
Definition: debugger.h:124
Definition: musescoredialogs.h:60
Palette * newAccidentalsPalette()
QMenu * menuAddLines
Definition: musescore.h:267
QAction * pref
Definition: musescore.h:219
Definition of Score class.
Definition: msqmlengine.h:29
bool hRaster() const
Definition: musescore.h:682
QAction * askForHelpAction
Definition: musescore.h:225
ScoreTab * getTab2() const
Definition: musescore.h:667
Definition: score.h:1227
int globalY
Definition: musescore.h:384
QHelpEngine * helpEngine() const
Definition: musescore.h:861
Definition: scoreview.h:90
Definition: pluginManager.h:39
Definition: updatechecker.h:65
NScrollArea * _navigator
Definition: musescore.h:206
QComboBox * playMode
Definition: musescore.h:379
Definition: mixer.h:62
MasterSynthesizer * synthesizerFactory()
Definition: musescore.cpp:3847
void setFileOperationEntries(std::list< const char *> l)
Definition: musescore.h:877
SelectionWindow * getSelectionWindow() const
Definition: musescore.h:759
QMenu * openRecent
Definition: musescore.h:257
Definition: palette.h:53
QAction * vRasterAction
Definition: musescore.h:371
Definition: drumtools.h:34
QToolBar * feedbackTools
Definition: musescore.h:237
QTimer * autoSaveTimer
Definition: musescore.h:327
Definition: inspector.h:371
Ms::Score::FileError importOve(Ms::MasterScore *, const QString &name)
Definition: importove.cpp:2395
QToolButton * playButton()
Definition: musescore.h:835
SessionStatusObserver sessionStatusObserver
Definition: musescore.h:407
Base class of score layout elements.
Definition: element.h:158
QList< QString > plugins
Definition: musescore.h:319
Shortcut * midiActionMap[128]
Definition: palettetree.h:95
QMenu * menuAddPitch
Definition: musescore.h:268
QLabel * _modeText
Definition: musescore.h:303
QAction * onlineHandbookAction
Definition: musescore.h:220
QMenu * menuAdd
Definition: musescore.h:263
Definition: prefsdialog.h:36
Score::FileError importBww(MasterScore *score, const QString &path)
Definition: importbww.cpp:529
MidiRemoteType
Definition: globals.h:91
Definition: driver.h:33
QMenu * menuAddFrames
Definition: musescore.h:265
Definition: workspacedialog.h:20
QSplitter * splitter
Definition: musescore.h:203
Definition: texttools.h:27
QComboBox * viewModeCombo
Definition: musescore.h:216
QMenu * menuFormat
Definition: musescore.h:272
QString lastSaveCaptureName
Definition: musescore.h:617
void endCmd() override
Definition: musescore.h:701
QToolBar * cpitchTools
Definition: musescore.h:232
IconType subtype
Definition: musescore.h:131
IconType
Definition: mscore.h:219
Definition: pluginCreator.h:27
Definition: scoretab.h:47
Definition: masterpalette.h:28
QList< LanguageItem > _languages
Definition: musescore.h:340
QSettings settings
Definition: musescore.h:183
PluginCreator * pluginCreator()
Definition: musescore.h:832
ScoreState
Definition: globals.h:53
bool mscoreFirstStart
Definition: musescore.cpp:220
Q_INVOKABLE QString version()
Definition: musescore.h:648
Definition: score.h:391
LanguageItem(const QString k, const QString n)
Definition: musescore.h:143
#define VERSION
Definition: model.cpp:25
Definition: musescore.h:139
QMenu * menuAddText
Definition: musescore.h:266
Definition: synthesizerstate.h:55
Definition: seq.h:104
Definition: importmidi_panel.h:15
ScoreState _sstate
Definition: musescore.h:187
Inspector * inspector()
Definition: musescore.h:831
ScoreView * currentScoreView() const
Definition: musescore.h:833
Definition: loginmanager.h:26
Definition: keyedit.h:34
Definition: pluginManager.h:26
Definition: synthcontrol.h:34
QMenu * menuStretch
Definition: musescore.h:273
PlayPanel * getPlayPanel() const
Definition: musescore.h:576
Definition: toolbarEditor.h:24
QToolBar * fotoTools
Definition: musescore.h:233
void setStyleDlg(EditStyle *es)
Definition: musescore.h:612
Definition: score.h:196
Example of 1/8 triplet: _baseLen = 1/8 _actualNotes = 3 _normalNotes = 2 (3 notes played in the time ...
Definition: tuplet.h:37
const char * voiceActions[]
Definition: musescore.cpp:218
Definition: drumset.h:68
void setNoteInputMenuEntries(std::list< const char *> l)
Definition: musescore.h:872
void setNormalState()
Definition: musescore.h:555
QMenu * menuPlugins
Definition: musescore.h:278
Definition: qmlpluginengine.h:34
Definition: drumroll.h:44
Definition: debugger.h:81
bool splitScreen() const
Definition: musescore.h:631
Definition: timeline.h:41
TDockWidget * _timeline
Definition: musescore.h:207
LoginManager * loginManager()
Definition: musescore.h:860
bool panDuringPlayback() const
Definition: musescore.h:765
void importExtension(QString name)
Definition: file.cpp:2247
NScrollArea * navigatorScrollArea() const
Definition: musescore.h:755
LanguageItem(const QString k, const QString n, const QString h)
Definition: musescore.h:148
Score::FileError importGTP(MasterScore *score, const QString &name)
Definition: importgtp.cpp:2708
Palette * newKeySigPalette()
Score::FileError importMidi(MasterScore *score, const QString &name)
Definition: importmidi.cpp:1176
Definition: globals.h:69
Definition: script.h:88
LayoutMode
Definition: score.h:129
TDockWidget * timelineScrollArea() const
Definition: musescore.h:757
QMenu * menuEdit
Definition: musescore.h:258
static const std::list< const char * > & allNoteInputMenuEntries()
Definition: musescore.h:870
std::list< const char * > * fileOperationEntries()
Definition: musescore.h:876
static const std::list< const char * > _allFileOperationEntries
Definition: musescore.h:194
QAction * aboutMusicXMLAction
Definition: musescore.h:223
QStringList paths
Definition: musescore.h:161
QAction * loopAction
Definition: musescore.h:388
bool saveXml(Score *score, QIODevice *device)
Save Score as MusicXML file name.
Definition: exportxml.cpp:5786
MuseScoreApplication(const QString &id, int &argc, char **argv)
Definition: musescore.h:162
void setMidiRecordId(int id)
Definition: musescore.h:661
Definition: sessionstatusobserver.h:29
QComboBox * searchCombo
Definition: musescore.h:287
MasterSynthesizer * synti
Definition: musescore.cpp:172
PianorollEditor * getPianorollEditor() const
Definition: musescore.h:621
void setPlaybackControlEntries(std::list< const char *> l)
Definition: musescore.h:882
void disableCommands(bool val)
Definition: musescore.h:690
QString lastSaveCopyFormat
Definition: musescore.h:615
bool noScore() const
Definition: musescore.h:596
FileError
Definition: score.h:395
Q_INVOKABLE QString revision()
Definition: musescore.h:647
Definition: harmonyedit.h:34
MagIdx
Definition: magbox.h:32
std::unique_ptr< GeneralAutoUpdater > autoUpdater
Definition: musescore.h:405
QList< QAction * > pluginActions
Definition: musescore.h:328
QMenu * menuToolbars
Definition: musescore.h:260
Score::FileError importLilypond(MasterScore *, const QString &name)
Definition: aeolus.cpp:26
const char * action
Definition: musescore.h:132
QToolBar * fileTools
Definition: musescore.h:234
QToolBar * voiceTools
Definition: musescore.h:243
QString lastSaveDirectory
Definition: musescore.h:616
Definition: midifile.h:46
QString handbook
Definition: musescore.h:142
qreal physicalDotsPerInch() const
Definition: musescore.h:869
QString name
Definition: musescore.h:141
WorkspaceDialog * workspaceDialog()
Definition: musescore.h:827
Definition: musescoredialogs.h:76
Definition: selectionwindow.h:36
int midiRecordId() const
Definition: musescore.h:662
QList< LanguageItem > & languages()
Definition: musescore.h:668
QString rev
Definition: musescore.h:335
QString mscoreGlobalShare
Definition: mscore.cpp:124
Definition: pianotools.h:97
QString revision
Definition: musescore.cpp:216
qreal _physicalDotsPerInch
Definition: musescore.h:397
static const std::list< const char * > & allPlaybackControlEntries()
Definition: musescore.h:880
ScoreState state() const
Definition: musescore.h:640
Definition: xmlwriter.h:26
Definition: instrdialog.h:26
Definition: musescore.h:130
Definition: startcenter.h:73
void setNoteEntryState()
Definition: musescore.h:557
QMenu * menuVoices
Definition: musescore.h:275
ScoreTab * currentScoreTab() const
Definition: musescore.h:834
Definition: palettewidget.h:81
QLabel * _positionLabel
Definition: musescore.h:304
QMenu * menuView
Definition: musescore.h:259
QVBoxLayout * layout
Definition: musescore.h:202
bool loop() const
Definition: musescore.h:762
QMessageBox * infoMsgBox
Definition: musescore.h:399
PianoTools * pianoTools() const
Definition: musescore.h:623
DrumrollEditor * getDrumrollEditor() const
Definition: musescore.h:622
QSplitter * mainWindow
Definition: musescore.h:210
bool countIn() const
Definition: musescore.h:764
Definition: tourhandler.h:69
QToolButton * _playButton
Definition: musescore.h:395
QAction * revertToFactoryAction
Definition: musescore.h:228
QString getSharePath()
Definition: musescore.cpp:314
QAction * countInAction
Definition: musescore.h:386
Score::FileError readScore(MasterScore *score, QString name, bool ignoreVersionError)
Import file name.
Definition: file.cpp:2257
QMenu * menuAddInterval
Definition: musescore.h:269
QComboBox * layerSwitch
Definition: musescore.h:378
QToolBar * transportTools
Definition: musescore.h:235
Score::FileError importCapella(MasterScore *score, const QString &name)
Definition: capella.cpp:2694
QAction * getAction(const char *)
Definition: shortcut.cpp:3952
Definition: palette.h:72
ScoreTab * tab2
Definition: musescore.h:205
Definition: updatechecker.h:40
PaletteWidget * getPaletteWidget()
Definition: musescore.h:686
bool playPartOnly() const
Definition: musescore.h:885
QLabel * cornerLabel
Definition: musescore.h:393
QAction * loopOutAction
Definition: musescore.h:390
QStringList recentScores
Definition: musescoreCore.h:25
void setPlayState()
Definition: musescore.h:556
ScoreTab * tab1
Definition: musescore.h:204
Score::FileError importBB(MasterScore *score, const QString &name)
Definition: bb.cpp:382
Definition: fraction.h:46
Definition: msynthesizer.h:33
QMenu * menuTools
Definition: musescore.h:274
ScoreTab * getTab1() const
Definition: musescore.h:666
std::list< const char * > * noteInputMenuEntries()
Definition: musescore.h:871
QToolBar * entryTools
Definition: musescore.h:236
bool metronome() const
Definition: musescore.h:763
QMenu * menuMeasure
Definition: musescore.h:276
QMenu * menuFile
Definition: musescore.h:256
QMenu * menuTuplet
Definition: musescore.h:270
Definition: editstyle.h:56
QAction * playId
Definition: musescore.h:217
static const std::list< const char * > _allNoteInputMenuEntries
Definition: musescore.h:191
static const std::list< const char * > _allPlaybackControlEntries
Definition: musescore.h:197
Definition: newwizard.h:179
Definition: pagesettings.h:29
QString lastSaveCopyDirectory
Definition: musescore.h:614
QAction * panAction
Definition: musescore.h:391
MScore * mscore
Definition: musescore.cpp:171
QAction * hRasterAction
Definition: musescore.h:370
std::list< const char * > * playbackControlEntries()
Definition: musescore.h:881
QStringList _recentScores
Definition: musescore.h:394
Definition: mediadialog.h:34
EditStyle * styleDlg()
Definition: musescore.h:611
void loadTranslation(QString filename, QString _localeName)
Definition: musescore.cpp:3295
int runApplication(int &argc, char **av)
Definition: musescore.cpp:7544
Driver * driverFactory(Seq *seq, QString driverName)
Definition: driver.cpp:50
SynthControl * getSynthControl() const
Definition: musescore.h:618
Definition: scorecmp.h:35
bool saveMxl(Score *score, QIODevice *device)
Definition: exportxml.cpp:5851
Definition: globals.h:82
QMenu * menuWorkspaces
Definition: musescore.h:261
void setRevision(QString &r)
Definition: musescore.h:646
TourHandler * tourHandler()
Definition: musescore.h:841
Definition: albummanager.h:27
Score::FileError importMuseData(MasterScore *score, const QString &name)
Definition: musedata.cpp:741
QAction * aboutQtAction
Definition: musescore.h:222
Definition: playpanel.h:35
Score::FileError importCapXml(MasterScore *score, const QString &name)
Definition: capxml.cpp:1185
QAction * reportBugAction
Definition: musescore.h:226
UpdateChecker * ucheck
Definition: musescore.h:188
QStatusBar * _statusBar
Definition: musescore.h:302
QAction * leaveFeedbackAction
Definition: musescore.h:227
QToolBar * workspacesTools
Definition: musescore.h:238
void setMscoreLocale(QString _localeName)
Definition: musescore.cpp:3345
Score::FileError importMusicXml(MasterScore *score, const QString &name)
Import MusicXML file name into the Score.
Definition: importxml.cpp:248
Definition: shortcut.h:98
QMenu * menuHelp
Definition: musescore.h:279
QString dataPath
Definition: musescore.cpp:176
QAction * aboutAction
Definition: musescore.h:221
Definition: palettetree.h:222
QMenu * menuAddMeasures
Definition: musescore.h:264