Model manual auto musical parameters

This commit is contained in:
Codex
2026-09-13 13:33:30 +02:00
parent c3ebf95e53
commit 20c541421f
3 changed files with 61 additions and 1 deletions
@@ -154,6 +154,38 @@ public extension SongProject {
dialects.removeAll { $0.id == dialectID }
}
mutating func setBPMManually(_ value: Int) {
bpm = ManualAutoValue(mode: .manual, value: value)
}
mutating func setBPMAutomatic() {
bpm = ManualAutoValue(mode: .auto)
}
mutating func setKeyManually(_ value: String) {
key = ManualAutoValue(mode: .manual, value: value)
}
mutating func setKeyAutomatic() {
key = ManualAutoValue(mode: .auto)
}
mutating func setScaleManually(_ value: String) {
scale = ManualAutoValue(mode: .manual, value: value)
}
mutating func setScaleAutomatic() {
scale = ManualAutoValue(mode: .auto)
}
mutating func setMaqamManually(_ value: String) {
maqam = ManualAutoValue(mode: .manual, value: value)
}
mutating func setMaqamAutomatic() {
maqam = ManualAutoValue(mode: .auto)
}
var selectedInstrumentTracks: [InstrumentTrack] {
instruments.filter(\.selected)
}