mirror of
https://github.com/vsariola/sointu.git
synced 2026-02-12 19:23:12 -05:00
refactor(tracker): group Model methods, with each group in one source file
This commit is contained in:
parent
b93304adab
commit
86ca3fb300
@ -35,88 +35,88 @@ func (mwc *myWriteCloser) Close() error {
|
||||
|
||||
func (s *modelFuzzState) Iterate(yield func(string, func(p string, t *testing.T)) bool, seed int) {
|
||||
// Ints
|
||||
s.IterateInt("InstrumentVoices", s.model.InstrumentVoices(), yield, seed)
|
||||
s.IterateInt("TrackVoices", s.model.TrackVoices(), yield, seed)
|
||||
s.IterateInt("SongLength", s.model.SongLength(), yield, seed)
|
||||
s.IterateInt("BPM", s.model.BPM(), yield, seed)
|
||||
s.IterateInt("RowsPerPattern", s.model.RowsPerPattern(), yield, seed)
|
||||
s.IterateInt("RowsPerBeat", s.model.RowsPerBeat(), yield, seed)
|
||||
s.IterateInt("Step", s.model.Step(), yield, seed)
|
||||
s.IterateInt("Octave", s.model.Octave(), yield, seed)
|
||||
s.IterateInt("InstrumentVoices", s.model.Instrument().Voices(), yield, seed)
|
||||
s.IterateInt("TrackVoices", s.model.Track().Voices(), yield, seed)
|
||||
s.IterateInt("SongLength", s.model.Song().Length(), yield, seed)
|
||||
s.IterateInt("BPM", s.model.Song().BPM(), yield, seed)
|
||||
s.IterateInt("RowsPerPattern", s.model.Song().RowsPerPattern(), yield, seed)
|
||||
s.IterateInt("RowsPerBeat", s.model.Song().RowsPerBeat(), yield, seed)
|
||||
s.IterateInt("Step", s.model.Note().Step(), yield, seed)
|
||||
s.IterateInt("Octave", s.model.Note().Octave(), yield, seed)
|
||||
// Lists
|
||||
s.IterateList("Instruments", s.model.Instruments(), yield, seed)
|
||||
s.IterateList("Units", s.model.Units(), yield, seed)
|
||||
s.IterateList("Tracks", s.model.Tracks(), yield, seed)
|
||||
s.IterateList("OrderRows", s.model.OrderRows(), yield, seed)
|
||||
s.IterateList("NoteRows", s.model.NoteRows(), yield, seed)
|
||||
s.IterateList("UnitSearchResults", s.model.SearchResults(), yield, seed)
|
||||
s.IterateList("PresetDirs", s.model.PresetDirList().List(), yield, seed)
|
||||
s.IterateList("PresetResults", s.model.PresetResultList().List(), yield, seed)
|
||||
s.IterateList("Instruments", s.model.Instrument().List(), yield, seed)
|
||||
s.IterateList("Units", s.model.Unit().List(), yield, seed)
|
||||
s.IterateList("Tracks", s.model.Track().List(), yield, seed)
|
||||
s.IterateList("OrderRows", s.model.Order().RowList(), yield, seed)
|
||||
s.IterateList("NoteRows", s.model.Note().RowList(), yield, seed)
|
||||
s.IterateList("UnitSearchResults", s.model.Unit().SearchResults(), yield, seed)
|
||||
s.IterateList("PresetDirs", s.model.Preset().DirList(), yield, seed)
|
||||
s.IterateList("PresetResults", s.model.Preset().SearchResultList(), yield, seed)
|
||||
// Bools
|
||||
s.IterateBool("Panic", s.model.Panic(), yield, seed)
|
||||
s.IterateBool("Recording", s.model.IsRecording(), yield, seed)
|
||||
s.IterateBool("Playing", s.model.Playing(), yield, seed)
|
||||
s.IterateBool("InstrEnlarged", s.model.InstrEnlarged(), yield, seed)
|
||||
s.IterateBool("Effect", s.model.Effect(), yield, seed)
|
||||
s.IterateBool("Follow", s.model.Follow(), yield, seed)
|
||||
s.IterateBool("UniquePatterns", s.model.UniquePatterns(), yield, seed)
|
||||
s.IterateBool("LinkInstrTrack", s.model.LinkInstrTrack(), yield, seed)
|
||||
s.IterateBool("Panic", s.model.Play().Panicked(), yield, seed)
|
||||
s.IterateBool("Recording", s.model.Play().IsRecording(), yield, seed)
|
||||
s.IterateBool("Playing", s.model.Play().Started(), yield, seed)
|
||||
s.IterateBool("InstrEnlarged", s.model.Play().TrackerHidden(), yield, seed)
|
||||
s.IterateBool("Effect", s.model.Track().Effect(), yield, seed)
|
||||
s.IterateBool("Follow", s.model.Play().IsFollowing(), yield, seed)
|
||||
s.IterateBool("UniquePatterns", s.model.Note().UniquePatterns(), yield, seed)
|
||||
s.IterateBool("LinkInstrTrack", s.model.Track().LinkInstrument(), yield, seed)
|
||||
// Strings
|
||||
s.IterateString("FilePath", s.model.FilePath(), yield, seed)
|
||||
s.IterateString("InstrumentName", s.model.InstrumentName(), yield, seed)
|
||||
s.IterateString("InstrumentComment", s.model.InstrumentComment(), yield, seed)
|
||||
s.IterateString("UnitSearchText", s.model.UnitSearch(), yield, seed)
|
||||
s.IterateString("FilePath", s.model.Song().FilePath(), yield, seed)
|
||||
s.IterateString("InstrumentName", s.model.Instrument().Name(), yield, seed)
|
||||
s.IterateString("InstrumentComment", s.model.Instrument().Comment(), yield, seed)
|
||||
s.IterateString("UnitSearchText", s.model.Unit().SearchTerm(), yield, seed)
|
||||
// Actions
|
||||
s.IterateAction("AddTrack", s.model.AddTrack(), yield, seed)
|
||||
s.IterateAction("DeleteTrack", s.model.DeleteTrack(), yield, seed)
|
||||
s.IterateAction("AddInstrument", s.model.AddInstrument(), yield, seed)
|
||||
s.IterateAction("DeleteInstrument", s.model.DeleteInstrument(), yield, seed)
|
||||
s.IterateAction("AddUnitAfter", s.model.AddUnit(false), yield, seed)
|
||||
s.IterateAction("AddUnitBefore", s.model.AddUnit(true), yield, seed)
|
||||
s.IterateAction("DeleteUnit", s.model.DeleteUnit(), yield, seed)
|
||||
s.IterateAction("ClearUnit", s.model.ClearUnit(), yield, seed)
|
||||
s.IterateAction("Undo", s.model.Undo(), yield, seed)
|
||||
s.IterateAction("Redo", s.model.Redo(), yield, seed)
|
||||
s.IterateAction("RemoveUnused", s.model.RemoveUnused(), yield, seed)
|
||||
s.IterateAction("AddSemitone", s.model.AddSemitone(), yield, seed)
|
||||
s.IterateAction("SubtractSemitone", s.model.SubtractSemitone(), yield, seed)
|
||||
s.IterateAction("AddOctave", s.model.AddOctave(), yield, seed)
|
||||
s.IterateAction("SubtractOctave", s.model.SubtractOctave(), yield, seed)
|
||||
s.IterateAction("EditNoteOff", s.model.EditNoteOff(), yield, seed)
|
||||
s.IterateAction("PlaySongStart", s.model.PlaySongStart(), yield, seed)
|
||||
s.IterateAction("AddOrderRowAfter", s.model.AddOrderRow(false), yield, seed)
|
||||
s.IterateAction("AddOrderRowBefore", s.model.AddOrderRow(true), yield, seed)
|
||||
s.IterateAction("DeleteOrderRowForward", s.model.DeleteOrderRow(false), yield, seed)
|
||||
s.IterateAction("DeleteOrderRowBackward", s.model.DeleteOrderRow(true), yield, seed)
|
||||
s.IterateAction("SplitInstrument", s.model.SplitInstrument(), yield, seed)
|
||||
s.IterateAction("SplitTrack", s.model.SplitTrack(), yield, seed)
|
||||
s.IterateAction("AddTrack", s.model.Track().Add(), yield, seed)
|
||||
s.IterateAction("DeleteTrack", s.model.Track().Delete(), yield, seed)
|
||||
s.IterateAction("AddInstrument", s.model.Instrument().Add(), yield, seed)
|
||||
s.IterateAction("DeleteInstrument", s.model.Instrument().Delete(), yield, seed)
|
||||
s.IterateAction("AddUnitAfter", s.model.Unit().Add(false), yield, seed)
|
||||
s.IterateAction("AddUnitBefore", s.model.Unit().Add(true), yield, seed)
|
||||
s.IterateAction("DeleteUnit", s.model.Unit().Delete(), yield, seed)
|
||||
s.IterateAction("ClearUnit", s.model.Unit().Clear(), yield, seed)
|
||||
s.IterateAction("Undo", s.model.History().Undo(), yield, seed)
|
||||
s.IterateAction("Redo", s.model.History().Redo(), yield, seed)
|
||||
s.IterateAction("RemoveUnusedPatterns", s.model.Order().RemoveUnusedPatterns(), yield, seed)
|
||||
s.IterateAction("AddSemitone", s.model.Note().AddSemitone(), yield, seed)
|
||||
s.IterateAction("SubtractSemitone", s.model.Note().SubtractSemitone(), yield, seed)
|
||||
s.IterateAction("AddOctave", s.model.Note().AddOctave(), yield, seed)
|
||||
s.IterateAction("SubtractOctave", s.model.Note().SubtractOctave(), yield, seed)
|
||||
s.IterateAction("EditNoteOff", s.model.Note().NoteOff(), yield, seed)
|
||||
s.IterateAction("PlaySongStart", s.model.Play().FromBeginning(), yield, seed)
|
||||
s.IterateAction("AddOrderRowAfter", s.model.Order().AddRow(false), yield, seed)
|
||||
s.IterateAction("AddOrderRowBefore", s.model.Order().AddRow(true), yield, seed)
|
||||
s.IterateAction("DeleteOrderRowForward", s.model.Order().DeleteRow(false), yield, seed)
|
||||
s.IterateAction("DeleteOrderRowBackward", s.model.Order().DeleteRow(true), yield, seed)
|
||||
s.IterateAction("SplitInstrument", s.model.Instrument().Split(), yield, seed)
|
||||
s.IterateAction("SplitTrack", s.model.Track().Split(), yield, seed)
|
||||
// Tables
|
||||
s.IterateTable("Order", s.model.Order().Table(), yield, seed)
|
||||
s.IterateTable("Notes", s.model.Notes().Table(), yield, seed)
|
||||
s.IterateTable("Notes", s.model.Note().Table(), yield, seed)
|
||||
// File reading
|
||||
if s.file != nil {
|
||||
yield("ReadSong", func(p string, t *testing.T) {
|
||||
reader := bytes.NewReader(s.file)
|
||||
readCloser := io.NopCloser(reader)
|
||||
s.model.ReadSong(readCloser)
|
||||
s.model.Song().Read(readCloser)
|
||||
})
|
||||
yield("LoadInstrument", func(p string, t *testing.T) {
|
||||
reader := bytes.NewReader(s.file)
|
||||
readCloser := io.NopCloser(reader)
|
||||
s.model.LoadInstrument(readCloser)
|
||||
s.model.Instrument().Read(readCloser)
|
||||
})
|
||||
}
|
||||
// File saving
|
||||
yield("WriteSong", func(p string, t *testing.T) {
|
||||
writer := bytes.NewBuffer(nil)
|
||||
writeCloser := &myWriteCloser{writer}
|
||||
s.model.WriteSong(writeCloser)
|
||||
s.model.Song().Write(writeCloser)
|
||||
s.file = writer.Bytes()
|
||||
})
|
||||
yield("SaveInstrument", func(p string, t *testing.T) {
|
||||
writer := bytes.NewBuffer(nil)
|
||||
writeCloser := &myWriteCloser{writer}
|
||||
s.model.SaveInstrument(writeCloser)
|
||||
s.model.Instrument().Write(writeCloser)
|
||||
s.file = writer.Bytes()
|
||||
})
|
||||
}
|
||||
@ -255,6 +255,7 @@ func FuzzModel(f *testing.F) {
|
||||
synthers := []sointu.Synther{vm.GoSynther{}}
|
||||
broker := tracker.NewBroker()
|
||||
model := tracker.NewModel(broker, synthers, tracker.NullMIDIContext{}, "")
|
||||
defer model.Close()
|
||||
player := tracker.NewPlayer(broker, synthers[0])
|
||||
buf := make([][2]float32, 2048)
|
||||
closeChan := make(chan struct{})
|
||||
|
||||
Reference in New Issue
Block a user