PlayerChange PlayerChangeDialog::getPlayerChange() const { PlayerChange change; for (size_t i = 0; i < myStaffComboBoxes.size(); ++i) { const int staff = myStaffComboBoxes[i]->itemData( myStaffComboBoxes[i]->currentIndex()).toInt(); if (staff >= 0) { change.insertActivePlayer( staff, ActivePlayer(static_cast<int>(i), myInstrumentComboBoxes[i]->currentIndex())); } } return change; }
Document &DocumentManager::addDefaultDocument( const SettingsManager &settings_manager) { Document &doc = addDocument(); Score &score = doc.getScore(); auto settings = settings_manager.getReadHandle(); // Add an initial player and instrument. Player player; player.setDescription("Player 1"); player.setTuning(settings->get(Settings::DefaultTuning)); score.insertPlayer(player); Instrument instrument; instrument.setDescription(settings->get(Settings::DefaultInstrumentName) + " 1"); instrument.setMidiPreset(settings->get(Settings::DefaultInstrumentPreset)); score.insertInstrument(instrument); ScoreUtils::addStandardFilters(score); // Add an initial staff, player change, and tempo marker. System system; system.insertStaff(Staff(player.getTuning().getStringCount())); PlayerChange initialPlayers; initialPlayers.insertActivePlayer(0, ActivePlayer(0, 0)); system.insertPlayerChange(initialPlayers); TempoMarker tempo; tempo.setDescription("Moderately"); system.insertTempoMarker(tempo); score.insertSystem(system); return doc; }