LCOV - code coverage report
Current view: top level - src/engraving/dom - mscore.cpp Coverage Total Hit
Test: filtered_coverage.info Lines: 25.5 % 55 14
Test Date: 2026-11-05 04:07:02

            Line data    Source code
       1              : /*
       2              :  * SPDX-License-Identifier: GPL-3.0-only
       3              :  * MuseScore-Studio-CLA-applies
       4              :  *
       5              :  * MuseScore Studio
       6              :  * Music Composition & Notation
       7              :  *
       8              :  * Copyright (C) 2021 MuseScore Limited and others
       9              :  *
      10              :  * This program is free software: you can redistribute it and/or modify
      11              :  * it under the terms of the GNU General Public License version 3 as
      12              :  * published by the Free Software Foundation.
      13              :  *
      14              :  * This program is distributed in the hope that it will be useful,
      15              :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      16              :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      17              :  * GNU General Public License for more details.
      18              :  *
      19              :  * You should have received a copy of the GNU General Public License
      20              :  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
      21              :  */
      22              : 
      23              : #include "mscore.h"
      24              : 
      25              : #include "figuredbass.h"
      26              : #include "hairpin.h"
      27              : #include "ottava.h"
      28              : #include "score.h"
      29              : #include "spanner.h"
      30              : #include "volta.h"
      31              : 
      32              : namespace mu::engraving {
      33              : bool MScore::debugMode = false;
      34              : bool MScore::testMode = false;
      35              : bool MScore::testWriteStyleToScore = true;
      36              : 
      37              : bool MScore::noHorizontalStretch = false;
      38              : bool MScore::noVerticalStretch   = false;
      39              : bool MScore::useFallbackFont     = true;
      40              : 
      41              : bool MScore::saveTemplateMode = false;
      42              : bool MScore::noGui = false;
      43              : 
      44              : int MScore::_vRaster;
      45              : int MScore::_hRaster;
      46              : bool MScore::_verticalOrientation = false;
      47              : double MScore::verticalPageGap = 0.35 * DPMM;
      48              : double MScore::horizontalPageGapEven = 0.07 * DPMM;
      49              : double MScore::horizontalPageGapOdd = 3.5 * DPMM;
      50              : 
      51              : bool MScore::warnPitchRange;
      52              : bool MScore::warnGuitarBends;
      53              : int MScore::pedalEventsMinTicks;
      54              : 
      55              : double MScore::nudgeStep;
      56              : double MScore::nudgeStep10;
      57              : double MScore::nudgeStep50;
      58              : 
      59              : bool MScore::noImages = false;
      60              : bool MScore::pdfPrinting = false;
      61              : bool MScore::svgPrinting = false;
      62              : 
      63              : extern void initDrumset();
      64              : 
      65              : MsError MScore::_error { MsError::MS_NO_ERROR };
      66              : bool MScore::_errorIsWarning = false;
      67              : 
      68           16 : void MScore::registerUiTypes()
      69              : {
      70              : #ifndef ENGRAVING_NO_API
      71           16 :     qRegisterMetaType<Spanner::Anchor>("Anchor");
      72           16 :     qRegisterMetaType<SegmentType>("SegmentType");
      73           16 :     qRegisterMetaType<FiguredBassItem::Modifier>("Modifier");
      74           16 :     qRegisterMetaType<FiguredBassItem::Parenthesis>("Parenthesis");
      75           16 :     qRegisterMetaType<FiguredBassItem::ContLine>("ContLine");
      76           16 :     qRegisterMetaType<Volta::Type>("VoltaType");
      77           16 :     qRegisterMetaType<OttavaType>("OttavaType");
      78           16 :     qRegisterMetaType<TrillType>("TrillType");
      79           16 :     qRegisterMetaType<JumpType>("JumpType");
      80           16 :     qRegisterMetaType<MarkerType>("MarkerType");
      81           16 :     qRegisterMetaType<HairpinType>("HairpinType");
      82           16 :     qRegisterMetaType<LyricsSyllabic>("Syllabic");
      83              : 
      84              : #endif
      85           16 : }
      86              : 
      87            0 : std::string MScore::errorToString(MsError err)
      88              : {
      89            0 :     switch (err) {
      90            0 :     case MsError::MS_NO_ERROR: return "MS_NO_ERROR";
      91            0 :     case MsError::NO_NOTE_SELECTED: return "NO_NOTE_SELECTED";
      92            0 :     case MsError::NO_CHORD_REST_SELECTED: return "NO_CHORD_REST_SELECTED";
      93            0 :     case MsError::NO_LYRICS_SELECTED: return "NO_LYRICS_SELECTED";
      94            0 :     case MsError::NO_NOTE_REST_SELECTED: return "NO_NOTE_REST_SELECTED";
      95            0 :     case MsError::NO_FLIPPABLE_SELECTED: return "NO_FLIPPABLE_SELECTED";
      96            0 :     case MsError::NO_MEASURE_SELECTED: return "NO_MEASURE_SELECTED";
      97            0 :     case MsError::NO_STAFF_SELECTED: return "NO_STAFF_SELECTED";
      98            0 :     case MsError::NO_NOTE_FIGUREDBASS_SELECTED: return "NO_NOTE_FIGUREDBASS_SELECTED";
      99            0 :     case MsError::NO_NOTE_REST_HARMONY_SELECTED: return "NO_NOTE_REST_HARMONY_SELECTED";
     100            0 :     case MsError::CANNOT_INSERT_TUPLET: return "CANNOT_INSERT_TUPLET";
     101            0 :     case MsError::CANNOT_SPLIT_TUPLET: return "CANNOT_SPLIT_TUPLET";
     102            0 :     case MsError::CANNOT_SPLIT_MEASURE_FIRST_BEAT: return "CANNOT_SPLIT_MEASURE_FIRST_BEAT";
     103            0 :     case MsError::CANNOT_SPLIT_MEASURE_TUPLET: return "CANNOT_SPLIT_MEASURE_TUPLET";
     104            0 :     case MsError::INSUFFICIENT_MEASURES: return "INSUFFICIENT_MEASURES";
     105            0 :     case MsError::CANNOT_SPLIT_MEASURE_REPEAT: return "CANNOT_SPLIT_MEASURE_REPEAT";
     106            0 :     case MsError::CANNOT_SPLIT_MEASURE_TOO_SHORT: return "CANNOT_SPLIT_MEASURE_TOO_SHORT";
     107            0 :     case MsError::CANNOT_REMOVE_TIME_TUPLET: return "CANNOT_REMOVE_TIME_TUPLET";
     108            0 :     case MsError::CANNOT_REMOVE_TIME_MEASURE_REPEAT: return "CANNOT_REMOVE_TIME_MEASURE_REPEAT";
     109            0 :     case MsError::NO_DEST: return "NO_DEST";
     110            0 :     case MsError::SOURCE_PARTIAL_TUPLET: return "SOURCE_PARTIAL_TUPLET";
     111            0 :     case MsError::DEST_TUPLET: return "DEST_TUPLET";
     112            0 :     case MsError::TUPLET_CROSSES_BAR: return "TUPLET_CROSSES_BAR";
     113            0 :     case MsError::DEST_LOCAL_TIME_SIGNATURE: return "DEST_LOCAL_TIME_SIGNATURE";
     114            0 :     case MsError::SOURCE_PARTIAL_TREMOLO: return "SOURCE_PARTIAL_TREMOLO";
     115            0 :     case MsError::DEST_TREMOLO: return "DEST_TREMOLO";
     116            0 :     case MsError::NO_MIME: return "NO_MIME";
     117            0 :     case MsError::DEST_NO_CR: return "DEST_NO_CR";
     118            0 :     case MsError::CANNOT_CHANGE_LOCAL_TIMESIG_MEASURE_NOT_EMPTY: return "CANNOT_CHANGE_LOCAL_TIMESIG_MEASURE_NOT_EMPTY";
     119            0 :     case MsError::CANNOT_CHANGE_LOCAL_TIMESIG_HAS_EXCERPTS: return "CANNOT_CHANGE_LOCAL_TIMESIG_HAS_EXCERPTS";
     120            0 :     case MsError::CORRUPTED_MEASURE: return "CORRUPTED_MEASURE";
     121            0 :     case MsError::CANNOT_REMOVE_KEY_SIG: return "CANNOT_REMOVE_KEY_SIG";
     122            0 :     case MsError::CANNOT_JOIN_MEASURE_STAFFTYPE_CHANGE: return "CANNOT_JOIN_MEASURE_STAFFTYPE_CHANGE";
     123            0 :     case MsError::CANNOT_REPEAT_SELECTION: return "CANNOT_REPEAT_SELECTION";
     124            0 :     case MsError::TRANSPOSE_NO_FRET_DIAGRAM: return "TRANSPOSE_NO_FRET_DIAGRAM";
     125            0 :     case MsError::CANNOT_EXPLODE_IMPLODE_LOCAL_TIMESIG: return "CANNOT_EXPLODE_IMPLODE_LOCAL_TIMESIG";
     126            0 :     case MsError::NO_SPACE_FOR_TUPLET: return "NO_SPACE_FOR_TUPLET";
     127            0 :     case MsError::TUPLET_NOTE_VALUE_TOO_SHORT: return "TUPLET_NOTE_VALUE_TOO_SHORT";
     128              :     }
     129              : 
     130            0 :     return {};
     131              : }
     132              : }
        

Generated by: LCOV version 2.0-1