From d1ca9fa1cadfe1d2cdb03534d1b8eb0d5970c2dc Mon Sep 17 00:00:00 2001 From: "5684185+vsariola@users.noreply.github.com" <5684185+vsariola@users.noreply.github.com> Date: Sun, 19 Oct 2025 00:07:36 +0300 Subject: [PATCH] drafting --- tracker/presets.go | 33 +++++++++++++------ .../presets/BA/{80s-bass.yml => 80s_bass.yml} | 0 .../BA/{bass-adam.yml => Adam_bass.yml} | 0 tracker/presets/BA/{bass.yml => Bass.yml} | 0 .../presets/BA/{dark.yml => Dark_bass.yml} | 0 .../{Virgill-Bass-deep.yml => Deep_bass.yml} | 0 .../presets/BA/{deepness.yml => Deepness.yml} | 0 ...se-bass-organ.yml => House_bass_organ.yml} | 0 .../presets/BA/{mid-bass.yml => Mid_bass.yml} | 0 ...this-world.yml => Not_from_this_world.yml} | 0 .../BA/{picked-bass.yml => Picked_bass.yml} | 0 .../BA/{bass-punch.yml => Punch_bass.yml} | 0 .../BA/{slap-bass.yml => Slap_bass.yml} | 0 .../BL/{bell-lead.yml => Bell_lead.yml} | 0 .../BL/{bell-lead-2.yml => Bell_lead_2.yml} | 0 .../BL/{bell-lead-3.yml => Bell_lead_3.yml} | 0 .../presets/BL/{kalimba.yml => Kalimba.yml} | 0 ...{magician-bells.yml => Magician_bells.yml} | 0 .../presets/BL/{marimba.yml => Marimba.yml} | 0 .../trance-bells.yml => BL/Trance_bells.yml} | 0 .../{Virgill-ChipBass.yml => Chip_bass.yml} | 0 ...gill-chipteqqstohne.yml => Chip_synth.yml} | 0 .../CHIP/{Pulse-12.5.yml => Pulse_12.5.yml} | 0 .../CHIP/{Pulse-25.yml => Pulse_25.yml} | 0 .../CHIP/{Pulse-50.yml => Pulse_50.yml} | 0 .../CHIP/{Pulse-75.yml => Pulse_75.yml} | 0 .../{stereo-Pulse.yml => Stereo_pulse.yml} | 0 .../CHIP/{stereo-Saw.yml => Stereo_saw.yml} | 0 .../CHIP/{Virgill_Whistle.yml => Whistle.yml} | 0 tracker/presets/DR/{bongos.yml => Bongos.yml} | 0 .../presets/DR/{bongos-2.yml => Bongos_2.yml} | 0 tracker/presets/DR/{clap.yml => Clap.yml} | 0 .../presets/DR/{clap-edm.yml => Clap_EDM.yml} | 0 .../DR/{clap-sample.yml => Clap_sample.yml} | 0 tracker/presets/DR/{conga.yml => Conga.yml} | 0 .../DR/{crash-909.yml => Crash_909.yml} | 0 .../DR/{hihat-closed.yml => Hihat_closed.yml} | 0 .../DR/{hihat-generator.yml => Hihat_gen.yml} | 0 .../DR/{hihat-open.yml => Hihat_open.yml} | 0 ...hihat-open-sample.yml => Hihat_open_2.yml} | 0 .../DR/{hihat-sample.yml => Hihat_sample.yml} | 0 .../DR/{jingle-bells.yml => Jingle_bells.yml} | 0 tracker/presets/DR/{kick-2.yml => Kick_2.yml} | 0 tracker/presets/DR/{kick-3.yml => Kick_3.yml} | 0 tracker/presets/DR/{kick-4.yml => Kick_4.yml} | 0 tracker/presets/DR/{kick-5.yml => Kick_5.yml} | 0 tracker/presets/DR/{kick-6.yml => Kick_6.yml} | 0 tracker/presets/DR/{kick-7.yml => Kick_7.yml} | 0 .../presets/DR/{kick-edm.yml => Kick_EDM.yml} | 0 .../DR/{kick-edm-2.yml => Kick_EDM_2.yml} | 0 .../DR/{kick-sample.yml => Kick_sample.yml} | 0 tracker/presets/DR/{ride.yml => Ride.yml} | 0 .../presets/DR/{rimshot.yml => Rimshot.yml} | 0 .../DR/{side-stick.yml => Side_stick.yml} | 0 tracker/presets/DR/{snare.yml => Snare.yml} | 0 .../presets/DR/{snare-2.yml => Snare_2.yml} | 0 .../presets/DR/{snare-3.yml => Snare_3.yml} | 0 .../DR/{snare-adam.yml => Snare_Adam.yml} | 0 .../DR/{snare-edm.yml => Snare_EDM.yml} | 0 .../DR/{snare-edm-2.yml => Snare_EDM_2.yml} | 0 .../DR/{snare-edm-3.yml => Snare_EDM_3.yml} | 0 .../DR/{snare-sample.yml => Snare_sample.yml} | 0 ...snare-sample-st.yml => Snare_sample_2.yml} | 0 .../DR/{tambourine.yml => Tambourine.yml} | 0 .../presets/DR/{timbales.yml => Timbales.yml} | 0 .../DR/{tom-disco.yml => Tom_disco.yml} | 0 tracker/presets/DR/{tomtom.yml => Tomtom.yml} | 0 .../presets/GTR/{guitar.yml => Guitar.yml} | 0 .../GTR/{guitar-2.yml => Guitar_2.yml} | 0 .../{muted-guitar.yml => Muted_guitar.yml} | 0 .../{nylon-guitar.yml => Nylon_guitar.yml} | 0 ...{nylon-guitar-2.yml => Nylon_guitar_2.yml} | 0 tracker/presets/KEYS/{clavi.yml => Clavi.yml} | 0 .../presets/KEYS/{lullaby.yml => Lullaby.yml} | 0 .../KEYS/{lullaby2.yml => Lullaby_2.yml} | 0 .../KEYS/{minorium.yml => Minorium.yml} | 0 tracker/presets/KEYS/{organ.yml => Organ.yml} | 0 tracker/presets/KEYS/{piano.yml => Piano.yml} | 0 .../presets/KEYS/{piano-2.yml => Piano_2.yml} | 0 .../KEYS/{pop-piano.yml => Pop_piano.yml} | 0 .../KEYS/{pop-piano-2.yml => Pop_piano_2.yml} | 0 .../presets/KEYS/{rhodes.yml => Rhodes.yml} | 0 .../LEAD/{happy-lead.yml => Happy_lead.yml} | 0 .../LEAD/{super-saw.yml => Supersaw.yml} | 0 .../LEAD/{super-saw-2.yml => Supersaw_2.yml} | 0 .../LEAD/{super-saw-3.yml => Supersaw_3.yml} | 0 .../LEAD/{super-saw-4.yml => Supersaw_4.yml} | 0 .../presets/LEAD/{trumpet.yml => Trumpet.yml} | 0 .../LEAD/{voxlead.yml => Vox_lead.yml} | 0 .../PAD/{pad-long.yml => Long_pad.yml} | 0 tracker/presets/PAD/{pad.yml => Pad.yml} | 0 tracker/presets/PAD/{pad-2.yml => Pad_2.yml} | 0 .../presets/PAD/{pad-gen.yml => Pad_3.yml} | 0 .../{more-and-more.yml => More_and_more.yml} | 0 tracker/presets/PL/{punchy.yml => Punchy.yml} | 0 .../PL/{sine-pluck.yml => Sine_pluck.yml} | 0 .../PL/{super-pluck.yml => Super_pluck.yml} | 0 ...{pizzicato-octaves.yml => Pizzicato_2.yml} | 0 .../ST/{string.yml => Synth_strings.yml} | 0 tracker/presets/SY/{airy.yml => Airy.yml} | 0 .../SY/{alpha-omega.yml => Alpha_omega.yml} | 0 .../SY/{strangeland.yml => Strangeland.yml} | 0 .../SY/{synastasia.yml => Synastasia.yml} | 0 tracker/presets/SY/{synth.yml => Synth.yml} | 0 ...bal-mastering.yml => Global_mastering.yml} | 0 .../UTIL/{groove-box.yml => Groove_box.yml} | 0 tracker/presets/WND/{brass.yml => Brass.yml} | 0 .../presets/WND/{brass-2.yml => Brass_2.yml} | 0 tracker/presets/WND/{flute.yml => Flute.yml} | 0 .../WND/{pan-flute.yml => Pan_flute.yml} | 0 110 files changed, 23 insertions(+), 10 deletions(-) rename tracker/presets/BA/{80s-bass.yml => 80s_bass.yml} (100%) rename tracker/presets/BA/{bass-adam.yml => Adam_bass.yml} (100%) rename tracker/presets/BA/{bass.yml => Bass.yml} (100%) rename tracker/presets/BA/{dark.yml => Dark_bass.yml} (100%) rename tracker/presets/BA/{Virgill-Bass-deep.yml => Deep_bass.yml} (100%) rename tracker/presets/BA/{deepness.yml => Deepness.yml} (100%) rename tracker/presets/BA/{house-bass-organ.yml => House_bass_organ.yml} (100%) rename tracker/presets/BA/{mid-bass.yml => Mid_bass.yml} (100%) rename tracker/presets/BA/{not-from-this-world.yml => Not_from_this_world.yml} (100%) rename tracker/presets/BA/{picked-bass.yml => Picked_bass.yml} (100%) rename tracker/presets/BA/{bass-punch.yml => Punch_bass.yml} (100%) rename tracker/presets/BA/{slap-bass.yml => Slap_bass.yml} (100%) rename tracker/presets/BL/{bell-lead.yml => Bell_lead.yml} (100%) rename tracker/presets/BL/{bell-lead-2.yml => Bell_lead_2.yml} (100%) rename tracker/presets/BL/{bell-lead-3.yml => Bell_lead_3.yml} (100%) rename tracker/presets/BL/{kalimba.yml => Kalimba.yml} (100%) rename tracker/presets/BL/{magician-bells.yml => Magician_bells.yml} (100%) rename tracker/presets/BL/{marimba.yml => Marimba.yml} (100%) rename tracker/presets/{PL/trance-bells.yml => BL/Trance_bells.yml} (100%) rename tracker/presets/CHIP/{Virgill-ChipBass.yml => Chip_bass.yml} (100%) rename tracker/presets/CHIP/{Virgill-chipteqqstohne.yml => Chip_synth.yml} (100%) rename tracker/presets/CHIP/{Pulse-12.5.yml => Pulse_12.5.yml} (100%) rename tracker/presets/CHIP/{Pulse-25.yml => Pulse_25.yml} (100%) rename tracker/presets/CHIP/{Pulse-50.yml => Pulse_50.yml} (100%) rename tracker/presets/CHIP/{Pulse-75.yml => Pulse_75.yml} (100%) rename tracker/presets/CHIP/{stereo-Pulse.yml => Stereo_pulse.yml} (100%) rename tracker/presets/CHIP/{stereo-Saw.yml => Stereo_saw.yml} (100%) rename tracker/presets/CHIP/{Virgill_Whistle.yml => Whistle.yml} (100%) rename tracker/presets/DR/{bongos.yml => Bongos.yml} (100%) rename tracker/presets/DR/{bongos-2.yml => Bongos_2.yml} (100%) rename tracker/presets/DR/{clap.yml => Clap.yml} (100%) rename tracker/presets/DR/{clap-edm.yml => Clap_EDM.yml} (100%) rename tracker/presets/DR/{clap-sample.yml => Clap_sample.yml} (100%) rename tracker/presets/DR/{conga.yml => Conga.yml} (100%) rename tracker/presets/DR/{crash-909.yml => Crash_909.yml} (100%) rename tracker/presets/DR/{hihat-closed.yml => Hihat_closed.yml} (100%) rename tracker/presets/DR/{hihat-generator.yml => Hihat_gen.yml} (100%) rename tracker/presets/DR/{hihat-open.yml => Hihat_open.yml} (100%) rename tracker/presets/DR/{hihat-open-sample.yml => Hihat_open_2.yml} (100%) rename tracker/presets/DR/{hihat-sample.yml => Hihat_sample.yml} (100%) rename tracker/presets/DR/{jingle-bells.yml => Jingle_bells.yml} (100%) rename tracker/presets/DR/{kick-2.yml => Kick_2.yml} (100%) rename tracker/presets/DR/{kick-3.yml => Kick_3.yml} (100%) rename tracker/presets/DR/{kick-4.yml => Kick_4.yml} (100%) rename tracker/presets/DR/{kick-5.yml => Kick_5.yml} (100%) rename tracker/presets/DR/{kick-6.yml => Kick_6.yml} (100%) rename tracker/presets/DR/{kick-7.yml => Kick_7.yml} (100%) rename tracker/presets/DR/{kick-edm.yml => Kick_EDM.yml} (100%) rename tracker/presets/DR/{kick-edm-2.yml => Kick_EDM_2.yml} (100%) rename tracker/presets/DR/{kick-sample.yml => Kick_sample.yml} (100%) rename tracker/presets/DR/{ride.yml => Ride.yml} (100%) rename tracker/presets/DR/{rimshot.yml => Rimshot.yml} (100%) rename tracker/presets/DR/{side-stick.yml => Side_stick.yml} (100%) rename tracker/presets/DR/{snare.yml => Snare.yml} (100%) rename tracker/presets/DR/{snare-2.yml => Snare_2.yml} (100%) rename tracker/presets/DR/{snare-3.yml => Snare_3.yml} (100%) rename tracker/presets/DR/{snare-adam.yml => Snare_Adam.yml} (100%) rename tracker/presets/DR/{snare-edm.yml => Snare_EDM.yml} (100%) rename tracker/presets/DR/{snare-edm-2.yml => Snare_EDM_2.yml} (100%) rename tracker/presets/DR/{snare-edm-3.yml => Snare_EDM_3.yml} (100%) rename tracker/presets/DR/{snare-sample.yml => Snare_sample.yml} (100%) rename tracker/presets/DR/{snare-sample-st.yml => Snare_sample_2.yml} (100%) rename tracker/presets/DR/{tambourine.yml => Tambourine.yml} (100%) rename tracker/presets/DR/{timbales.yml => Timbales.yml} (100%) rename tracker/presets/DR/{tom-disco.yml => Tom_disco.yml} (100%) rename tracker/presets/DR/{tomtom.yml => Tomtom.yml} (100%) rename tracker/presets/GTR/{guitar.yml => Guitar.yml} (100%) rename tracker/presets/GTR/{guitar-2.yml => Guitar_2.yml} (100%) rename tracker/presets/GTR/{muted-guitar.yml => Muted_guitar.yml} (100%) rename tracker/presets/GTR/{nylon-guitar.yml => Nylon_guitar.yml} (100%) rename tracker/presets/GTR/{nylon-guitar-2.yml => Nylon_guitar_2.yml} (100%) rename tracker/presets/KEYS/{clavi.yml => Clavi.yml} (100%) rename tracker/presets/KEYS/{lullaby.yml => Lullaby.yml} (100%) rename tracker/presets/KEYS/{lullaby2.yml => Lullaby_2.yml} (100%) rename tracker/presets/KEYS/{minorium.yml => Minorium.yml} (100%) rename tracker/presets/KEYS/{organ.yml => Organ.yml} (100%) rename tracker/presets/KEYS/{piano.yml => Piano.yml} (100%) rename tracker/presets/KEYS/{piano-2.yml => Piano_2.yml} (100%) rename tracker/presets/KEYS/{pop-piano.yml => Pop_piano.yml} (100%) rename tracker/presets/KEYS/{pop-piano-2.yml => Pop_piano_2.yml} (100%) rename tracker/presets/KEYS/{rhodes.yml => Rhodes.yml} (100%) rename tracker/presets/LEAD/{happy-lead.yml => Happy_lead.yml} (100%) rename tracker/presets/LEAD/{super-saw.yml => Supersaw.yml} (100%) rename tracker/presets/LEAD/{super-saw-2.yml => Supersaw_2.yml} (100%) rename tracker/presets/LEAD/{super-saw-3.yml => Supersaw_3.yml} (100%) rename tracker/presets/LEAD/{super-saw-4.yml => Supersaw_4.yml} (100%) rename tracker/presets/LEAD/{trumpet.yml => Trumpet.yml} (100%) rename tracker/presets/LEAD/{voxlead.yml => Vox_lead.yml} (100%) rename tracker/presets/PAD/{pad-long.yml => Long_pad.yml} (100%) rename tracker/presets/PAD/{pad.yml => Pad.yml} (100%) rename tracker/presets/PAD/{pad-2.yml => Pad_2.yml} (100%) rename tracker/presets/PAD/{pad-gen.yml => Pad_3.yml} (100%) rename tracker/presets/PL/{more-and-more.yml => More_and_more.yml} (100%) rename tracker/presets/PL/{punchy.yml => Punchy.yml} (100%) rename tracker/presets/PL/{sine-pluck.yml => Sine_pluck.yml} (100%) rename tracker/presets/PL/{super-pluck.yml => Super_pluck.yml} (100%) rename tracker/presets/ST/{pizzicato-octaves.yml => Pizzicato_2.yml} (100%) rename tracker/presets/ST/{string.yml => Synth_strings.yml} (100%) rename tracker/presets/SY/{airy.yml => Airy.yml} (100%) rename tracker/presets/SY/{alpha-omega.yml => Alpha_omega.yml} (100%) rename tracker/presets/SY/{strangeland.yml => Strangeland.yml} (100%) rename tracker/presets/SY/{synastasia.yml => Synastasia.yml} (100%) rename tracker/presets/SY/{synth.yml => Synth.yml} (100%) rename tracker/presets/UTIL/{global-mastering.yml => Global_mastering.yml} (100%) rename tracker/presets/UTIL/{groove-box.yml => Groove_box.yml} (100%) rename tracker/presets/WND/{brass.yml => Brass.yml} (100%) rename tracker/presets/WND/{brass-2.yml => Brass_2.yml} (100%) rename tracker/presets/WND/{flute.yml => Flute.yml} (100%) rename tracker/presets/WND/{pan-flute.yml => Pan_flute.yml} (100%) diff --git a/tracker/presets.go b/tracker/presets.go index 7307e13..46ba2e0 100644 --- a/tracker/presets.go +++ b/tracker/presets.go @@ -5,6 +5,7 @@ import ( "io/fs" "os" "path/filepath" + "regexp" "slices" "sort" "strings" @@ -172,7 +173,7 @@ func (m *Presets) loadPresetsFromFs(fsys fs.FS, userDefined bool, seenDir map[st noExt := path[:len(path)-len(filepath.Ext(path))] splitted := splitPath(noExt) splitted = splitted[1:] // remove "presets" from the path - instr.Name = splitted[len(splitted)-1] + instr.Name = filenameToInstrumentName(splitted[len(splitted)-1]) dir := strings.Join(splitted[:len(splitted)-1], "/") preset := Preset{ Directory: dir, @@ -189,6 +190,18 @@ func (m *Presets) loadPresetsFromFs(fsys fs.FS, userDefined bool, seenDir map[st }) } +func filenameToInstrumentName(filename string) string { + return strings.ReplaceAll(filename, "_", " ") +} + +func instrumentNameToFilename(name string) string { + // remove all special characters + reg, _ := regexp.Compile("[^a-zA-Z0-9 _]+") + name = reg.ReplaceAllString(name, "") + name = strings.ReplaceAll(name, " ", "_") + return name +} + func checkNeedsGmDls(instr sointu.Instrument) bool { for _, u := range instr.Units { if u.Type == "oscillator" { @@ -341,7 +354,8 @@ func (m *SaveUserPreset) Do() { } userPresetsDir := filepath.Join(configDir, "sointu", "presets", m.derived.presetSearch.dir) instr := m.d.Song.Patch[m.d.InstrIndex] - fileName := filepath.Join(userPresetsDir, instr.Name+".yaml") + name := instrumentNameToFilename(instr.Name) + fileName := filepath.Join(userPresetsDir, name+".yml") // if exists, do not overwrite if _, err := os.Stat(fileName); err == nil { m.dialog = OverwriteUserPresetDialog @@ -359,7 +373,8 @@ func (m *OverwriteUserPreset) Do() { } userPresetsDir := filepath.Join(configDir, "sointu", "presets", m.derived.presetSearch.dir) instr := m.d.Song.Patch[m.d.InstrIndex] - fileName := filepath.Join(userPresetsDir, instr.Name+".yaml") + name := instrumentNameToFilename(instr.Name) + fileName := filepath.Join(userPresetsDir, name+".yml") os.MkdirAll(userPresetsDir, 0755) data, err := yaml.Marshal(&instr) if err != nil { @@ -392,7 +407,8 @@ func (m *DeleteUserPreset) Do() { if p.Directory != "" { userPresetsDir = filepath.Join(userPresetsDir, p.Directory) } - fileName := filepath.Join(userPresetsDir, p.Instr.Name+".yaml") + name := instrumentNameToFilename(p.Instr.Name) + fileName := filepath.Join(userPresetsDir, name+".yml") os.Remove(fileName) m.dialog = NoDialog (*Model)(m).presets.load() @@ -522,12 +538,9 @@ func splitPath(path string) []string { func (p Presets) Len() int { return len(p.Presets) } func (p Presets) Less(i, j int) bool { - if p.Presets[i].Directory == p.Presets[j].Directory { - if p.Presets[i].Instr.Name == p.Presets[j].Instr.Name { - return p.Presets[i].User && !p.Presets[j].User - } - return p.Presets[i].Instr.Name < p.Presets[j].Instr.Name + if p.Presets[i].Instr.Name == p.Presets[j].Instr.Name { + return p.Presets[i].User && !p.Presets[j].User } - return p.Presets[i].Directory < p.Presets[j].Directory + return p.Presets[i].Instr.Name < p.Presets[j].Instr.Name } func (p Presets) Swap(i, j int) { p.Presets[i], p.Presets[j] = p.Presets[j], p.Presets[i] } diff --git a/tracker/presets/BA/80s-bass.yml b/tracker/presets/BA/80s_bass.yml similarity index 100% rename from tracker/presets/BA/80s-bass.yml rename to tracker/presets/BA/80s_bass.yml diff --git a/tracker/presets/BA/bass-adam.yml b/tracker/presets/BA/Adam_bass.yml similarity index 100% rename from tracker/presets/BA/bass-adam.yml rename to tracker/presets/BA/Adam_bass.yml diff --git a/tracker/presets/BA/bass.yml b/tracker/presets/BA/Bass.yml similarity index 100% rename from tracker/presets/BA/bass.yml rename to tracker/presets/BA/Bass.yml diff --git a/tracker/presets/BA/dark.yml b/tracker/presets/BA/Dark_bass.yml similarity index 100% rename from tracker/presets/BA/dark.yml rename to tracker/presets/BA/Dark_bass.yml diff --git a/tracker/presets/BA/Virgill-Bass-deep.yml b/tracker/presets/BA/Deep_bass.yml similarity index 100% rename from tracker/presets/BA/Virgill-Bass-deep.yml rename to tracker/presets/BA/Deep_bass.yml diff --git a/tracker/presets/BA/deepness.yml b/tracker/presets/BA/Deepness.yml similarity index 100% rename from tracker/presets/BA/deepness.yml rename to tracker/presets/BA/Deepness.yml diff --git a/tracker/presets/BA/house-bass-organ.yml b/tracker/presets/BA/House_bass_organ.yml similarity index 100% rename from tracker/presets/BA/house-bass-organ.yml rename to tracker/presets/BA/House_bass_organ.yml diff --git a/tracker/presets/BA/mid-bass.yml b/tracker/presets/BA/Mid_bass.yml similarity index 100% rename from tracker/presets/BA/mid-bass.yml rename to tracker/presets/BA/Mid_bass.yml diff --git a/tracker/presets/BA/not-from-this-world.yml b/tracker/presets/BA/Not_from_this_world.yml similarity index 100% rename from tracker/presets/BA/not-from-this-world.yml rename to tracker/presets/BA/Not_from_this_world.yml diff --git a/tracker/presets/BA/picked-bass.yml b/tracker/presets/BA/Picked_bass.yml similarity index 100% rename from tracker/presets/BA/picked-bass.yml rename to tracker/presets/BA/Picked_bass.yml diff --git a/tracker/presets/BA/bass-punch.yml b/tracker/presets/BA/Punch_bass.yml similarity index 100% rename from tracker/presets/BA/bass-punch.yml rename to tracker/presets/BA/Punch_bass.yml diff --git a/tracker/presets/BA/slap-bass.yml b/tracker/presets/BA/Slap_bass.yml similarity index 100% rename from tracker/presets/BA/slap-bass.yml rename to tracker/presets/BA/Slap_bass.yml diff --git a/tracker/presets/BL/bell-lead.yml b/tracker/presets/BL/Bell_lead.yml similarity index 100% rename from tracker/presets/BL/bell-lead.yml rename to tracker/presets/BL/Bell_lead.yml diff --git a/tracker/presets/BL/bell-lead-2.yml b/tracker/presets/BL/Bell_lead_2.yml similarity index 100% rename from tracker/presets/BL/bell-lead-2.yml rename to tracker/presets/BL/Bell_lead_2.yml diff --git a/tracker/presets/BL/bell-lead-3.yml b/tracker/presets/BL/Bell_lead_3.yml similarity index 100% rename from tracker/presets/BL/bell-lead-3.yml rename to tracker/presets/BL/Bell_lead_3.yml diff --git a/tracker/presets/BL/kalimba.yml b/tracker/presets/BL/Kalimba.yml similarity index 100% rename from tracker/presets/BL/kalimba.yml rename to tracker/presets/BL/Kalimba.yml diff --git a/tracker/presets/BL/magician-bells.yml b/tracker/presets/BL/Magician_bells.yml similarity index 100% rename from tracker/presets/BL/magician-bells.yml rename to tracker/presets/BL/Magician_bells.yml diff --git a/tracker/presets/BL/marimba.yml b/tracker/presets/BL/Marimba.yml similarity index 100% rename from tracker/presets/BL/marimba.yml rename to tracker/presets/BL/Marimba.yml diff --git a/tracker/presets/PL/trance-bells.yml b/tracker/presets/BL/Trance_bells.yml similarity index 100% rename from tracker/presets/PL/trance-bells.yml rename to tracker/presets/BL/Trance_bells.yml diff --git a/tracker/presets/CHIP/Virgill-ChipBass.yml b/tracker/presets/CHIP/Chip_bass.yml similarity index 100% rename from tracker/presets/CHIP/Virgill-ChipBass.yml rename to tracker/presets/CHIP/Chip_bass.yml diff --git a/tracker/presets/CHIP/Virgill-chipteqqstohne.yml b/tracker/presets/CHIP/Chip_synth.yml similarity index 100% rename from tracker/presets/CHIP/Virgill-chipteqqstohne.yml rename to tracker/presets/CHIP/Chip_synth.yml diff --git a/tracker/presets/CHIP/Pulse-12.5.yml b/tracker/presets/CHIP/Pulse_12.5.yml similarity index 100% rename from tracker/presets/CHIP/Pulse-12.5.yml rename to tracker/presets/CHIP/Pulse_12.5.yml diff --git a/tracker/presets/CHIP/Pulse-25.yml b/tracker/presets/CHIP/Pulse_25.yml similarity index 100% rename from tracker/presets/CHIP/Pulse-25.yml rename to tracker/presets/CHIP/Pulse_25.yml diff --git a/tracker/presets/CHIP/Pulse-50.yml b/tracker/presets/CHIP/Pulse_50.yml similarity index 100% rename from tracker/presets/CHIP/Pulse-50.yml rename to tracker/presets/CHIP/Pulse_50.yml diff --git a/tracker/presets/CHIP/Pulse-75.yml b/tracker/presets/CHIP/Pulse_75.yml similarity index 100% rename from tracker/presets/CHIP/Pulse-75.yml rename to tracker/presets/CHIP/Pulse_75.yml diff --git a/tracker/presets/CHIP/stereo-Pulse.yml b/tracker/presets/CHIP/Stereo_pulse.yml similarity index 100% rename from tracker/presets/CHIP/stereo-Pulse.yml rename to tracker/presets/CHIP/Stereo_pulse.yml diff --git a/tracker/presets/CHIP/stereo-Saw.yml b/tracker/presets/CHIP/Stereo_saw.yml similarity index 100% rename from tracker/presets/CHIP/stereo-Saw.yml rename to tracker/presets/CHIP/Stereo_saw.yml diff --git a/tracker/presets/CHIP/Virgill_Whistle.yml b/tracker/presets/CHIP/Whistle.yml similarity index 100% rename from tracker/presets/CHIP/Virgill_Whistle.yml rename to tracker/presets/CHIP/Whistle.yml diff --git a/tracker/presets/DR/bongos.yml b/tracker/presets/DR/Bongos.yml similarity index 100% rename from tracker/presets/DR/bongos.yml rename to tracker/presets/DR/Bongos.yml diff --git a/tracker/presets/DR/bongos-2.yml b/tracker/presets/DR/Bongos_2.yml similarity index 100% rename from tracker/presets/DR/bongos-2.yml rename to tracker/presets/DR/Bongos_2.yml diff --git a/tracker/presets/DR/clap.yml b/tracker/presets/DR/Clap.yml similarity index 100% rename from tracker/presets/DR/clap.yml rename to tracker/presets/DR/Clap.yml diff --git a/tracker/presets/DR/clap-edm.yml b/tracker/presets/DR/Clap_EDM.yml similarity index 100% rename from tracker/presets/DR/clap-edm.yml rename to tracker/presets/DR/Clap_EDM.yml diff --git a/tracker/presets/DR/clap-sample.yml b/tracker/presets/DR/Clap_sample.yml similarity index 100% rename from tracker/presets/DR/clap-sample.yml rename to tracker/presets/DR/Clap_sample.yml diff --git a/tracker/presets/DR/conga.yml b/tracker/presets/DR/Conga.yml similarity index 100% rename from tracker/presets/DR/conga.yml rename to tracker/presets/DR/Conga.yml diff --git a/tracker/presets/DR/crash-909.yml b/tracker/presets/DR/Crash_909.yml similarity index 100% rename from tracker/presets/DR/crash-909.yml rename to tracker/presets/DR/Crash_909.yml diff --git a/tracker/presets/DR/hihat-closed.yml b/tracker/presets/DR/Hihat_closed.yml similarity index 100% rename from tracker/presets/DR/hihat-closed.yml rename to tracker/presets/DR/Hihat_closed.yml diff --git a/tracker/presets/DR/hihat-generator.yml b/tracker/presets/DR/Hihat_gen.yml similarity index 100% rename from tracker/presets/DR/hihat-generator.yml rename to tracker/presets/DR/Hihat_gen.yml diff --git a/tracker/presets/DR/hihat-open.yml b/tracker/presets/DR/Hihat_open.yml similarity index 100% rename from tracker/presets/DR/hihat-open.yml rename to tracker/presets/DR/Hihat_open.yml diff --git a/tracker/presets/DR/hihat-open-sample.yml b/tracker/presets/DR/Hihat_open_2.yml similarity index 100% rename from tracker/presets/DR/hihat-open-sample.yml rename to tracker/presets/DR/Hihat_open_2.yml diff --git a/tracker/presets/DR/hihat-sample.yml b/tracker/presets/DR/Hihat_sample.yml similarity index 100% rename from tracker/presets/DR/hihat-sample.yml rename to tracker/presets/DR/Hihat_sample.yml diff --git a/tracker/presets/DR/jingle-bells.yml b/tracker/presets/DR/Jingle_bells.yml similarity index 100% rename from tracker/presets/DR/jingle-bells.yml rename to tracker/presets/DR/Jingle_bells.yml diff --git a/tracker/presets/DR/kick-2.yml b/tracker/presets/DR/Kick_2.yml similarity index 100% rename from tracker/presets/DR/kick-2.yml rename to tracker/presets/DR/Kick_2.yml diff --git a/tracker/presets/DR/kick-3.yml b/tracker/presets/DR/Kick_3.yml similarity index 100% rename from tracker/presets/DR/kick-3.yml rename to tracker/presets/DR/Kick_3.yml diff --git a/tracker/presets/DR/kick-4.yml b/tracker/presets/DR/Kick_4.yml similarity index 100% rename from tracker/presets/DR/kick-4.yml rename to tracker/presets/DR/Kick_4.yml diff --git a/tracker/presets/DR/kick-5.yml b/tracker/presets/DR/Kick_5.yml similarity index 100% rename from tracker/presets/DR/kick-5.yml rename to tracker/presets/DR/Kick_5.yml diff --git a/tracker/presets/DR/kick-6.yml b/tracker/presets/DR/Kick_6.yml similarity index 100% rename from tracker/presets/DR/kick-6.yml rename to tracker/presets/DR/Kick_6.yml diff --git a/tracker/presets/DR/kick-7.yml b/tracker/presets/DR/Kick_7.yml similarity index 100% rename from tracker/presets/DR/kick-7.yml rename to tracker/presets/DR/Kick_7.yml diff --git a/tracker/presets/DR/kick-edm.yml b/tracker/presets/DR/Kick_EDM.yml similarity index 100% rename from tracker/presets/DR/kick-edm.yml rename to tracker/presets/DR/Kick_EDM.yml diff --git a/tracker/presets/DR/kick-edm-2.yml b/tracker/presets/DR/Kick_EDM_2.yml similarity index 100% rename from tracker/presets/DR/kick-edm-2.yml rename to tracker/presets/DR/Kick_EDM_2.yml diff --git a/tracker/presets/DR/kick-sample.yml b/tracker/presets/DR/Kick_sample.yml similarity index 100% rename from tracker/presets/DR/kick-sample.yml rename to tracker/presets/DR/Kick_sample.yml diff --git a/tracker/presets/DR/ride.yml b/tracker/presets/DR/Ride.yml similarity index 100% rename from tracker/presets/DR/ride.yml rename to tracker/presets/DR/Ride.yml diff --git a/tracker/presets/DR/rimshot.yml b/tracker/presets/DR/Rimshot.yml similarity index 100% rename from tracker/presets/DR/rimshot.yml rename to tracker/presets/DR/Rimshot.yml diff --git a/tracker/presets/DR/side-stick.yml b/tracker/presets/DR/Side_stick.yml similarity index 100% rename from tracker/presets/DR/side-stick.yml rename to tracker/presets/DR/Side_stick.yml diff --git a/tracker/presets/DR/snare.yml b/tracker/presets/DR/Snare.yml similarity index 100% rename from tracker/presets/DR/snare.yml rename to tracker/presets/DR/Snare.yml diff --git a/tracker/presets/DR/snare-2.yml b/tracker/presets/DR/Snare_2.yml similarity index 100% rename from tracker/presets/DR/snare-2.yml rename to tracker/presets/DR/Snare_2.yml diff --git a/tracker/presets/DR/snare-3.yml b/tracker/presets/DR/Snare_3.yml similarity index 100% rename from tracker/presets/DR/snare-3.yml rename to tracker/presets/DR/Snare_3.yml diff --git a/tracker/presets/DR/snare-adam.yml b/tracker/presets/DR/Snare_Adam.yml similarity index 100% rename from tracker/presets/DR/snare-adam.yml rename to tracker/presets/DR/Snare_Adam.yml diff --git a/tracker/presets/DR/snare-edm.yml b/tracker/presets/DR/Snare_EDM.yml similarity index 100% rename from tracker/presets/DR/snare-edm.yml rename to tracker/presets/DR/Snare_EDM.yml diff --git a/tracker/presets/DR/snare-edm-2.yml b/tracker/presets/DR/Snare_EDM_2.yml similarity index 100% rename from tracker/presets/DR/snare-edm-2.yml rename to tracker/presets/DR/Snare_EDM_2.yml diff --git a/tracker/presets/DR/snare-edm-3.yml b/tracker/presets/DR/Snare_EDM_3.yml similarity index 100% rename from tracker/presets/DR/snare-edm-3.yml rename to tracker/presets/DR/Snare_EDM_3.yml diff --git a/tracker/presets/DR/snare-sample.yml b/tracker/presets/DR/Snare_sample.yml similarity index 100% rename from tracker/presets/DR/snare-sample.yml rename to tracker/presets/DR/Snare_sample.yml diff --git a/tracker/presets/DR/snare-sample-st.yml b/tracker/presets/DR/Snare_sample_2.yml similarity index 100% rename from tracker/presets/DR/snare-sample-st.yml rename to tracker/presets/DR/Snare_sample_2.yml diff --git a/tracker/presets/DR/tambourine.yml b/tracker/presets/DR/Tambourine.yml similarity index 100% rename from tracker/presets/DR/tambourine.yml rename to tracker/presets/DR/Tambourine.yml diff --git a/tracker/presets/DR/timbales.yml b/tracker/presets/DR/Timbales.yml similarity index 100% rename from tracker/presets/DR/timbales.yml rename to tracker/presets/DR/Timbales.yml diff --git a/tracker/presets/DR/tom-disco.yml b/tracker/presets/DR/Tom_disco.yml similarity index 100% rename from tracker/presets/DR/tom-disco.yml rename to tracker/presets/DR/Tom_disco.yml diff --git a/tracker/presets/DR/tomtom.yml b/tracker/presets/DR/Tomtom.yml similarity index 100% rename from tracker/presets/DR/tomtom.yml rename to tracker/presets/DR/Tomtom.yml diff --git a/tracker/presets/GTR/guitar.yml b/tracker/presets/GTR/Guitar.yml similarity index 100% rename from tracker/presets/GTR/guitar.yml rename to tracker/presets/GTR/Guitar.yml diff --git a/tracker/presets/GTR/guitar-2.yml b/tracker/presets/GTR/Guitar_2.yml similarity index 100% rename from tracker/presets/GTR/guitar-2.yml rename to tracker/presets/GTR/Guitar_2.yml diff --git a/tracker/presets/GTR/muted-guitar.yml b/tracker/presets/GTR/Muted_guitar.yml similarity index 100% rename from tracker/presets/GTR/muted-guitar.yml rename to tracker/presets/GTR/Muted_guitar.yml diff --git a/tracker/presets/GTR/nylon-guitar.yml b/tracker/presets/GTR/Nylon_guitar.yml similarity index 100% rename from tracker/presets/GTR/nylon-guitar.yml rename to tracker/presets/GTR/Nylon_guitar.yml diff --git a/tracker/presets/GTR/nylon-guitar-2.yml b/tracker/presets/GTR/Nylon_guitar_2.yml similarity index 100% rename from tracker/presets/GTR/nylon-guitar-2.yml rename to tracker/presets/GTR/Nylon_guitar_2.yml diff --git a/tracker/presets/KEYS/clavi.yml b/tracker/presets/KEYS/Clavi.yml similarity index 100% rename from tracker/presets/KEYS/clavi.yml rename to tracker/presets/KEYS/Clavi.yml diff --git a/tracker/presets/KEYS/lullaby.yml b/tracker/presets/KEYS/Lullaby.yml similarity index 100% rename from tracker/presets/KEYS/lullaby.yml rename to tracker/presets/KEYS/Lullaby.yml diff --git a/tracker/presets/KEYS/lullaby2.yml b/tracker/presets/KEYS/Lullaby_2.yml similarity index 100% rename from tracker/presets/KEYS/lullaby2.yml rename to tracker/presets/KEYS/Lullaby_2.yml diff --git a/tracker/presets/KEYS/minorium.yml b/tracker/presets/KEYS/Minorium.yml similarity index 100% rename from tracker/presets/KEYS/minorium.yml rename to tracker/presets/KEYS/Minorium.yml diff --git a/tracker/presets/KEYS/organ.yml b/tracker/presets/KEYS/Organ.yml similarity index 100% rename from tracker/presets/KEYS/organ.yml rename to tracker/presets/KEYS/Organ.yml diff --git a/tracker/presets/KEYS/piano.yml b/tracker/presets/KEYS/Piano.yml similarity index 100% rename from tracker/presets/KEYS/piano.yml rename to tracker/presets/KEYS/Piano.yml diff --git a/tracker/presets/KEYS/piano-2.yml b/tracker/presets/KEYS/Piano_2.yml similarity index 100% rename from tracker/presets/KEYS/piano-2.yml rename to tracker/presets/KEYS/Piano_2.yml diff --git a/tracker/presets/KEYS/pop-piano.yml b/tracker/presets/KEYS/Pop_piano.yml similarity index 100% rename from tracker/presets/KEYS/pop-piano.yml rename to tracker/presets/KEYS/Pop_piano.yml diff --git a/tracker/presets/KEYS/pop-piano-2.yml b/tracker/presets/KEYS/Pop_piano_2.yml similarity index 100% rename from tracker/presets/KEYS/pop-piano-2.yml rename to tracker/presets/KEYS/Pop_piano_2.yml diff --git a/tracker/presets/KEYS/rhodes.yml b/tracker/presets/KEYS/Rhodes.yml similarity index 100% rename from tracker/presets/KEYS/rhodes.yml rename to tracker/presets/KEYS/Rhodes.yml diff --git a/tracker/presets/LEAD/happy-lead.yml b/tracker/presets/LEAD/Happy_lead.yml similarity index 100% rename from tracker/presets/LEAD/happy-lead.yml rename to tracker/presets/LEAD/Happy_lead.yml diff --git a/tracker/presets/LEAD/super-saw.yml b/tracker/presets/LEAD/Supersaw.yml similarity index 100% rename from tracker/presets/LEAD/super-saw.yml rename to tracker/presets/LEAD/Supersaw.yml diff --git a/tracker/presets/LEAD/super-saw-2.yml b/tracker/presets/LEAD/Supersaw_2.yml similarity index 100% rename from tracker/presets/LEAD/super-saw-2.yml rename to tracker/presets/LEAD/Supersaw_2.yml diff --git a/tracker/presets/LEAD/super-saw-3.yml b/tracker/presets/LEAD/Supersaw_3.yml similarity index 100% rename from tracker/presets/LEAD/super-saw-3.yml rename to tracker/presets/LEAD/Supersaw_3.yml diff --git a/tracker/presets/LEAD/super-saw-4.yml b/tracker/presets/LEAD/Supersaw_4.yml similarity index 100% rename from tracker/presets/LEAD/super-saw-4.yml rename to tracker/presets/LEAD/Supersaw_4.yml diff --git a/tracker/presets/LEAD/trumpet.yml b/tracker/presets/LEAD/Trumpet.yml similarity index 100% rename from tracker/presets/LEAD/trumpet.yml rename to tracker/presets/LEAD/Trumpet.yml diff --git a/tracker/presets/LEAD/voxlead.yml b/tracker/presets/LEAD/Vox_lead.yml similarity index 100% rename from tracker/presets/LEAD/voxlead.yml rename to tracker/presets/LEAD/Vox_lead.yml diff --git a/tracker/presets/PAD/pad-long.yml b/tracker/presets/PAD/Long_pad.yml similarity index 100% rename from tracker/presets/PAD/pad-long.yml rename to tracker/presets/PAD/Long_pad.yml diff --git a/tracker/presets/PAD/pad.yml b/tracker/presets/PAD/Pad.yml similarity index 100% rename from tracker/presets/PAD/pad.yml rename to tracker/presets/PAD/Pad.yml diff --git a/tracker/presets/PAD/pad-2.yml b/tracker/presets/PAD/Pad_2.yml similarity index 100% rename from tracker/presets/PAD/pad-2.yml rename to tracker/presets/PAD/Pad_2.yml diff --git a/tracker/presets/PAD/pad-gen.yml b/tracker/presets/PAD/Pad_3.yml similarity index 100% rename from tracker/presets/PAD/pad-gen.yml rename to tracker/presets/PAD/Pad_3.yml diff --git a/tracker/presets/PL/more-and-more.yml b/tracker/presets/PL/More_and_more.yml similarity index 100% rename from tracker/presets/PL/more-and-more.yml rename to tracker/presets/PL/More_and_more.yml diff --git a/tracker/presets/PL/punchy.yml b/tracker/presets/PL/Punchy.yml similarity index 100% rename from tracker/presets/PL/punchy.yml rename to tracker/presets/PL/Punchy.yml diff --git a/tracker/presets/PL/sine-pluck.yml b/tracker/presets/PL/Sine_pluck.yml similarity index 100% rename from tracker/presets/PL/sine-pluck.yml rename to tracker/presets/PL/Sine_pluck.yml diff --git a/tracker/presets/PL/super-pluck.yml b/tracker/presets/PL/Super_pluck.yml similarity index 100% rename from tracker/presets/PL/super-pluck.yml rename to tracker/presets/PL/Super_pluck.yml diff --git a/tracker/presets/ST/pizzicato-octaves.yml b/tracker/presets/ST/Pizzicato_2.yml similarity index 100% rename from tracker/presets/ST/pizzicato-octaves.yml rename to tracker/presets/ST/Pizzicato_2.yml diff --git a/tracker/presets/ST/string.yml b/tracker/presets/ST/Synth_strings.yml similarity index 100% rename from tracker/presets/ST/string.yml rename to tracker/presets/ST/Synth_strings.yml diff --git a/tracker/presets/SY/airy.yml b/tracker/presets/SY/Airy.yml similarity index 100% rename from tracker/presets/SY/airy.yml rename to tracker/presets/SY/Airy.yml diff --git a/tracker/presets/SY/alpha-omega.yml b/tracker/presets/SY/Alpha_omega.yml similarity index 100% rename from tracker/presets/SY/alpha-omega.yml rename to tracker/presets/SY/Alpha_omega.yml diff --git a/tracker/presets/SY/strangeland.yml b/tracker/presets/SY/Strangeland.yml similarity index 100% rename from tracker/presets/SY/strangeland.yml rename to tracker/presets/SY/Strangeland.yml diff --git a/tracker/presets/SY/synastasia.yml b/tracker/presets/SY/Synastasia.yml similarity index 100% rename from tracker/presets/SY/synastasia.yml rename to tracker/presets/SY/Synastasia.yml diff --git a/tracker/presets/SY/synth.yml b/tracker/presets/SY/Synth.yml similarity index 100% rename from tracker/presets/SY/synth.yml rename to tracker/presets/SY/Synth.yml diff --git a/tracker/presets/UTIL/global-mastering.yml b/tracker/presets/UTIL/Global_mastering.yml similarity index 100% rename from tracker/presets/UTIL/global-mastering.yml rename to tracker/presets/UTIL/Global_mastering.yml diff --git a/tracker/presets/UTIL/groove-box.yml b/tracker/presets/UTIL/Groove_box.yml similarity index 100% rename from tracker/presets/UTIL/groove-box.yml rename to tracker/presets/UTIL/Groove_box.yml diff --git a/tracker/presets/WND/brass.yml b/tracker/presets/WND/Brass.yml similarity index 100% rename from tracker/presets/WND/brass.yml rename to tracker/presets/WND/Brass.yml diff --git a/tracker/presets/WND/brass-2.yml b/tracker/presets/WND/Brass_2.yml similarity index 100% rename from tracker/presets/WND/brass-2.yml rename to tracker/presets/WND/Brass_2.yml diff --git a/tracker/presets/WND/flute.yml b/tracker/presets/WND/Flute.yml similarity index 100% rename from tracker/presets/WND/flute.yml rename to tracker/presets/WND/Flute.yml diff --git a/tracker/presets/WND/pan-flute.yml b/tracker/presets/WND/Pan_flute.yml similarity index 100% rename from tracker/presets/WND/pan-flute.yml rename to tracker/presets/WND/Pan_flute.yml