Last active
January 27, 2024 08:58
-
-
Save cemolcay/3248a378b42f0c38661c67b0d5bac348 to your computer and use it in GitHub Desktop.
Drum Kit MIDI Template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// KitTemplate.swift | |
// AutoFills | |
// | |
// Created by Cem Olcay on 1/20/24. | |
// | |
import Foundation | |
enum KitTemplate: Int, Codable, CustomStringConvertible, CaseIterable { | |
// app | |
case ar909 | |
case axon2 | |
case blipBox | |
case dadamachinesAutomat | |
case digistix | |
case drumlab | |
case drumComputer | |
case egdr606 | |
case egdr808 | |
case egdr909 | |
case facDrumkit | |
case generalMIDI8 | |
case generalMIDI16 | |
case hammerhead | |
case koalaSampler2x8 | |
case koalaSampler4x4 | |
case korgGadgetAmsterdam | |
case korgGadgetBilbao | |
case korgGadgetGladstone | |
case korgGadgetLondon | |
case korgGadgetRecife | |
case korgGadgetTokyo | |
case mv08 | |
case nsSlate | |
case pureAcidDrum | |
case ruismaker | |
case ruismakerFM | |
case sdsx | |
case sitala | |
case splatToClat | |
case vaDrumSM | |
case vaDrum2_808 | |
case vaDrum2_909 | |
case vatanator | |
// hardware | |
case drumbrute | |
case drumbruteImpact | |
case electribeEMX | |
case electribeER1 | |
case volcaBeats | |
case mfb522 | |
case mc101 | |
case tr08 | |
case tr707 | |
case tr727 | |
case tr808chd | |
case tr808kenton | |
case tr8s | |
case tr909 | |
static var dataSource: [[KitTemplate]] { | |
let all = KitTemplate.allCases | |
return [all.filter({ $0.type == .app }), all.filter({ $0.type == .hardware })] | |
} | |
enum KitType: CustomStringConvertible { | |
case app | |
case hardware | |
var description: String { | |
switch self { | |
case .app: return "App" | |
case .hardware: return "Hardware" | |
} | |
} | |
} | |
var type: KitType { | |
switch self { | |
case .ar909: return .app | |
case .axon2: return .app | |
case .blipBox: return .app | |
case .dadamachinesAutomat: return .app | |
case .digistix: return .app | |
case .drumlab: return .app | |
case .drumComputer: return .app | |
case .egdr606: return .app | |
case .egdr808: return .app | |
case .egdr909: return .app | |
case .facDrumkit: return .app | |
case .generalMIDI8: return .app | |
case .generalMIDI16: return .app | |
case .hammerhead: return .app | |
case .koalaSampler2x8: return .app | |
case .koalaSampler4x4: return .app | |
case .korgGadgetAmsterdam: return .app | |
case .korgGadgetBilbao: return .app | |
case .korgGadgetGladstone: return .app | |
case .korgGadgetLondon: return .app | |
case .korgGadgetRecife: return .app | |
case .korgGadgetTokyo: return .app | |
case .mv08: return .app | |
case .nsSlate: return .app | |
case .pureAcidDrum: return .app | |
case .ruismaker: return .app | |
case .ruismakerFM: return .app | |
case .sdsx: return .app | |
case .sitala: return .app | |
case .splatToClat: return .app | |
case .vaDrumSM: return .app | |
case .vaDrum2_808: return .app | |
case .vaDrum2_909: return .app | |
case .vatanator: return .app | |
case .drumbrute: return .hardware | |
case .drumbruteImpact: return .hardware | |
case .electribeEMX: return .hardware | |
case .electribeER1: return .hardware | |
case .volcaBeats: return .hardware | |
case .mfb522: return .hardware | |
case .mc101: return .hardware | |
case .tr08: return .hardware | |
case .tr707: return .hardware | |
case .tr727: return .hardware | |
case .tr808chd: return .hardware | |
case .tr808kenton: return .hardware | |
case .tr8s: return .hardware | |
case .tr909: return .hardware | |
} | |
} | |
var kit: [MBKit] { | |
switch self { | |
case .ar909: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 37), | |
.init(name: "CL HH", note: 38), | |
.init(name: "OP HH", note: 39), | |
.init(name: "Rimshot", note: 40), | |
.init(name: "Clap", note: 41), | |
.init(name: "Low Tom", note: 42), | |
.init(name: "Mid Tom", note: 43), | |
.init(name: "Hi Tom", note: 44), | |
.init(name: "Ride", note: 45), | |
.init(name: "Crash", note: 46), | |
] | |
case .axon2: | |
return [ | |
.init(name: "1", note: 36), | |
.init(name: "2", note: 37), | |
.init(name: "3", note: 38), | |
.init(name: "4", note: 39), | |
.init(name: "5", note: 40), | |
.init(name: "6", note: 41), | |
.init(name: "7", note: 42), | |
] | |
case .blipBox: | |
return [ | |
.init(name: "Kick 2", note: 35), | |
.init(name: "Kick 1", note: 36), | |
.init(name: "Rimshot", note: 37), | |
.init(name: "Snare", note: 38), | |
.init(name: "Clap", note: 39), | |
.init(name: "Snare 2", note: 40), | |
.init(name: "Low Tom 2", note: 41), | |
.init(name: "CL HH", note: 42), | |
.init(name: "Low Tom 1", note: 43), | |
.init(name: "Pedal HH", note: 44), | |
.init(name: "Mid Tom 2", note: 45), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Mid Tom 1", note: 47), | |
.init(name: "Hi Tom 2", note: 48), | |
.init(name: "Crash", note: 49), | |
.init(name: "Hi Tom 1", note: 50), | |
] | |
case .dadamachinesAutomat: | |
return [ | |
.init(name: "1", note: 36), | |
.init(name: "2", note: 37), | |
.init(name: "3", note: 38), | |
.init(name: "4", note: 39), | |
.init(name: "5", note: 40), | |
.init(name: "6", note: 41), | |
.init(name: "7", note: 42), | |
.init(name: "8", note: 43), | |
.init(name: "9", note: 44), | |
.init(name: "10", note: 45), | |
.init(name: "11", note: 46), | |
.init(name: "12", note: 47), | |
] | |
case .digistix: | |
return [ | |
.init(name: "Bass Drum", note: 48), | |
.init(name: "Snare", note: 49), | |
.init(name: "CL HH", note: 50), | |
.init(name: "OP HH", note: 51), | |
.init(name: "Alt Kick", note: 52), | |
.init(name: "Clap", note: 53), | |
.init(name: "Rimshot", note: 54), | |
.init(name: "Side Stick", note: 55), | |
.init(name: "Hi Tom", note: 56), | |
.init(name: "Mid Tom", note: 57), | |
.init(name: "Low Tom", note: 58), | |
.init(name: "Snare Buzz", note: 59), | |
.init(name: "Crash", note: 60), | |
.init(name: "Shaker", note: 61), | |
.init(name: "Ride", note: 62), | |
.init(name: "Tambourine", note: 63), | |
] | |
case .drumlab: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 38), | |
.init(name: "CL HH", note: 42), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Clap", note: 39), | |
.init(name: "Rimshot", note: 37), | |
.init(name: "Cowbell", note: 56), | |
.init(name: "Tom", note: 43), | |
.init(name: "Cymbal", note: 49), | |
] | |
case .drumComputer: | |
return [ | |
.init(name: "1", note: 44), | |
.init(name: "2", note: 32), | |
.init(name: "3", note: 83), | |
.init(name: "4", note: 24), | |
.init(name: "5", note: 36), | |
.init(name: "6", note: 47), | |
.init(name: "7", note: 65), | |
.init(name: "8", note: 55), | |
] | |
case .egdr606: | |
return [ | |
.init(name: "Bass", note: 36), | |
.init(name: "Snare", note: 38), | |
.init(name: "Low Tom", note: 43), | |
.init(name: "Hi Tom", note: 47), | |
.init(name: "Cymbal", note: 50), | |
.init(name: "OP HH", note: 37), | |
.init(name: "CL HH", note: 39), | |
] | |
case .egdr808: | |
return [ | |
.init(name: "BD", note: 36), | |
.init(name: "SD", note: 38), | |
.init(name: "LT", note: 43), | |
.init(name: "MT", note: 47), | |
.init(name: "HT", note: 50), | |
.init(name: "RS", note: 37), | |
.init(name: "CP", note: 39), | |
.init(name: "CB", note: 56), | |
.init(name: "CY", note: 49), | |
.init(name: "OH", note: 46), | |
.init(name: "CH", note: 42), | |
] | |
case .egdr909: | |
return [ | |
.init(name: "Bass", note: 36), | |
.init(name: "Snare", note: 38), | |
.init(name: "Low Tom", note: 43), | |
.init(name: "Hi Tom", note: 50), | |
.init(name: "Clap", note: 39), | |
.init(name: "OP HH", note: 56), | |
.init(name: "CL HH", note: 49), | |
.init(name: "Ride", note: 42), | |
] | |
case .facDrumkit: | |
return [ | |
.init(name: "1", note: 36), | |
.init(name: "2", note: 37), | |
.init(name: "3", note: 38), | |
.init(name: "4", note: 39), | |
.init(name: "5", note: 40), | |
.init(name: "6", note: 41), | |
.init(name: "7", note: 42), | |
.init(name: "8", note: 43), | |
.init(name: "9", note: 44), | |
.init(name: "10", note: 45), | |
.init(name: "11", note: 46), | |
.init(name: "12", note: 47), | |
.init(name: "13", note: 48), | |
.init(name: "14", note: 49), | |
.init(name: "15", note: 50), | |
.init(name: "16", note: 51), | |
] | |
case .generalMIDI8: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 38), | |
.init(name: "Clap", note: 39), | |
.init(name: "Low Tom", note: 45), | |
.init(name: "Mid Tom", note: 47), | |
.init(name: "Hi Tom", note: 48), | |
.init(name: "CL HH", note: 42), | |
.init(name: "OP HH", note: 46), | |
] | |
case .generalMIDI16: | |
return [ | |
.init(name: "Kick 2", note: 35), | |
.init(name: "Kick 1", note: 36), | |
.init(name: "Rimshot", note: 37), | |
.init(name: "Snare", note: 38), | |
.init(name: "Clap", note: 39), | |
.init(name: "Snare 2", note: 40), | |
.init(name: "Low Tom 2", note: 41), | |
.init(name: "CL HH", note: 42), | |
.init(name: "Low Tom 1", note: 43), | |
.init(name: "Pedal HH", note: 44), | |
.init(name: "Mid Tom 2", note: 45), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Mid Tom 1", note: 47), | |
.init(name: "Hi Tom 2", note: 48), | |
.init(name: "Crash", note: 49), | |
.init(name: "Hi Tom 1", note: 50), | |
] | |
case .hammerhead: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 38), | |
.init(name: "Clap", note: 39), | |
.init(name: "Rimshot", note: 45), | |
.init(name: "Snare2", note: 48), | |
.init(name: "Cowbell", note: 50), | |
.init(name: "CL HH", note: 42), | |
.init(name: "OP HH", note: 46), | |
] | |
case .koalaSampler2x8: | |
return [ | |
.init(name: "1", note: 44), | |
.init(name: "2", note: 45), | |
.init(name: "3", note: 46), | |
.init(name: "4", note: 47), | |
.init(name: "5", note: 48), | |
.init(name: "6", note: 49), | |
.init(name: "7", note: 50), | |
.init(name: "8", note: 51), | |
.init(name: "9", note: 36), | |
.init(name: "10", note: 37), | |
.init(name: "11", note: 38), | |
.init(name: "12", note: 39), | |
.init(name: "13", note: 40), | |
.init(name: "14", note: 41), | |
.init(name: "15", note: 42), | |
.init(name: "16", note: 43), | |
] | |
case .koalaSampler4x4: | |
return [ | |
.init(name: "1", note: 48), | |
.init(name: "2", note: 49), | |
.init(name: "3", note: 50), | |
.init(name: "4", note: 51), | |
.init(name: "5", note: 44), | |
.init(name: "6", note: 45), | |
.init(name: "7", note: 46), | |
.init(name: "8", note: 47), | |
.init(name: "9", note: 40), | |
.init(name: "10", note: 41), | |
.init(name: "11", note: 42), | |
.init(name: "12", note: 43), | |
.init(name: "13", note: 36), | |
.init(name: "14", note: 37), | |
.init(name: "15", note: 38), | |
.init(name: "16", note: 39), | |
] | |
case .korgGadgetAmsterdam: | |
return [ | |
.init(name: "1", note: 36), | |
.init(name: "2", note: 37), | |
.init(name: "3", note: 38), | |
.init(name: "4", note: 39), | |
] | |
case .korgGadgetBilbao: | |
return [ | |
.init(name: "1", note: 36), | |
.init(name: "2", note: 37), | |
.init(name: "3", note: 38), | |
.init(name: "4", note: 39), | |
.init(name: "5", note: 40), | |
.init(name: "6", note: 41), | |
.init(name: "7", note: 42), | |
.init(name: "8", note: 43), | |
.init(name: "9", note: 44), | |
.init(name: "10", note: 45), | |
.init(name: "11", note: 46), | |
.init(name: "12", note: 47), | |
.init(name: "13", note: 48), | |
.init(name: "14", note: 49), | |
.init(name: "15", note: 50), | |
.init(name: "16", note: 51), | |
] | |
case .korgGadgetGladstone: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 37), | |
.init(name: "Snare 2", note: 38), | |
.init(name: "HH Close", note: 39), | |
.init(name: "HH Open", note: 40), | |
.init(name: "Tom Hi", note: 41), | |
.init(name: "Tom Mid", note: 42), | |
.init(name: "Tom Lo", note: 43), | |
.init(name: "Crash", note: 44), | |
.init(name: "Ride", note: 45), | |
] | |
case .korgGadgetLondon: | |
return [ | |
.init(name: "1", note: 36), | |
.init(name: "2", note: 37), | |
.init(name: "3", note: 38), | |
.init(name: "4", note: 39), | |
.init(name: "5", note: 40), | |
.init(name: "6", note: 41), | |
.init(name: "7", note: 42), | |
.init(name: "8", note: 43), | |
] | |
case .korgGadgetRecife: | |
return [ | |
.init(name: "1", note: 36), | |
.init(name: "2", note: 37), | |
.init(name: "3", note: 38), | |
.init(name: "4", note: 39), | |
.init(name: "5", note: 40), | |
.init(name: "6", note: 41), | |
.init(name: "7", note: 42), | |
.init(name: "8", note: 43), | |
.init(name: "9", note: 44), | |
.init(name: "10", note: 45), | |
.init(name: "11", note: 46), | |
.init(name: "12", note: 47), | |
.init(name: "13", note: 48), | |
.init(name: "14", note: 49), | |
.init(name: "15", note: 50), | |
.init(name: "16", note: 51), | |
] | |
case .korgGadgetTokyo: | |
return [ | |
.init(name: "BD201", note: 36), | |
.init(name: "SD302", note: 37), | |
.init(name: "TOM404", note: 38), | |
.init(name: "PCS503", note: 39), | |
] | |
case .mv08: | |
return [ | |
.init(name: "BD", note: 60), | |
.init(name: "SN", note: 61), | |
.init(name: "CLP", note: 62), | |
.init(name: "LT", note: 63), | |
.init(name: "MT", note: 64), | |
.init(name: "HT", note: 65), | |
.init(name: "RS", note: 66), | |
.init(name: "CB", note: 67), | |
.init(name: "CYM", note: 68), | |
.init(name: "OH", note: 69), | |
.init(name: "CH", note: 70), | |
.init(name: "LC", note: 71), | |
.init(name: "MC", note: 72), | |
.init(name: "HC", note: 73), | |
.init(name: "CLV", note: 74), | |
.init(name: "MRC", note: 75), | |
] | |
case .nsSlate: | |
return [ | |
.init(name: "BD", note: 48), | |
.init(name: "SD", note: 49), | |
.init(name: "HH-CL", note: 50), | |
.init(name: "HH-OP", note: 51), | |
.init(name: "BD 2", note: 52), | |
.init(name: "CP 2", note: 53), | |
.init(name: "HH-CL 2", note: 54), | |
.init(name: "HH-OP 2", note: 55), | |
.init(name: "Crash 1", note: 56), | |
.init(name: "Crash 2", note: 57), | |
.init(name: "Ride 1", note: 58), | |
.init(name: "Ride 2", note: 59), | |
.init(name: "Tom 1", note: 60), | |
.init(name: "Tom 2", note: 61), | |
.init(name: "Tom 3", note: 62), | |
.init(name: "Tom 4", note: 63), | |
] | |
case .pureAcidDrum: | |
return [ | |
.init(name: "BD", note: 36), | |
.init(name: "BD 2", note: 35), | |
.init(name: "SD", note: 38), | |
.init(name: "SD 2", note: 40), | |
.init(name: "LT", note: 41), | |
.init(name: "HT", note: 43), | |
.init(name: "LC", note: 45), | |
.init(name: "HC", note: 47), | |
.init(name: "Rim", note: 37), | |
.init(name: "CLP", note: 39), | |
.init(name: "CB", note: 56), | |
.init(name: "MA", note: 44), | |
.init(name: "HH", note: 42), | |
.init(name: "OH", note: 46), | |
.init(name: "OR", note: 49), | |
.init(name: "RD", note: 51), | |
] | |
case .ruismaker: | |
return [ | |
.init(name: "Kick", note: 49), | |
.init(name: "Snare", note: 51), | |
.init(name: "Clap", note: 54), | |
.init(name: "Lo Tom", note: 56), | |
.init(name: "Mid Tom", note: 58), | |
.init(name: "Hi Tom", note: 61), | |
.init(name: "CL HH", note: 63), | |
.init(name: "OP HH", note: 66), | |
] | |
case .ruismakerFM: | |
return [ | |
.init(name: "Kick", note: 49), | |
.init(name: "Snare", note: 51), | |
.init(name: "FX 1", note: 54), | |
.init(name: "FX 2", note: 56), | |
.init(name: "FX 3", note: 58), | |
.init(name: "Hihat", note: 61), | |
] | |
case .sdsx: | |
return [ | |
.init(name: "Kick", note: 60), | |
.init(name: "Snare", note: 61), | |
.init(name: "CL HH", note: 62), | |
.init(name: "OP HH", note: 65), | |
.init(name: "Tom L", note: 64), | |
.init(name: "Tom H", note: 63), | |
.init(name: "Clap", note: 66), | |
.init(name: "Tamb", note: 67), | |
.init(name: "Noise", note: 68), | |
] | |
case .sitala: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 37), | |
.init(name: "CL HH", note: 38), | |
.init(name: "OP HH", note: 39), | |
.init(name: "Cymbal", note: 40), | |
.init(name: "Low Tom", note: 41), | |
.init(name: "Mid Tom", note: 42), | |
.init(name: "Hi Tom", note: 43), | |
.init(name: "Low Conga", note: 44), | |
.init(name: "Mid Conga", note: 45), | |
.init(name: "Hi Conga", note: 46), | |
.init(name: "Clap", note: 47), | |
.init(name: "Clave", note: 48), | |
.init(name: "Maraca", note: 49), | |
.init(name: "Cowbell", note: 50), | |
.init(name: "Rimshot", note: 51), | |
] | |
case .splatToClat: | |
return [ | |
.init(name: "C3", note: 60), | |
.init(name: "C#3", note: 61), | |
.init(name: "D3", note: 62), | |
.init(name: "D#3", note: 63), | |
.init(name: "E3", note: 64), | |
.init(name: "F3", note: 65), | |
.init(name: "F#3", note: 66), | |
.init(name: "G3", note: 67), | |
.init(name: "G#3", note: 68), | |
.init(name: "A3", note: 69), | |
.init(name: "A#3", note: 70), | |
.init(name: "B3", note: 71), | |
.init(name: "C4", note: 72), | |
.init(name: "C#4", note: 73), | |
.init(name: "D4", note: 74), | |
.init(name: "D#4", note: 75), | |
] | |
case .vaDrumSM: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 38), | |
.init(name: "Clap", note: 39), | |
.init(name: "Low Tom", note: 41), | |
.init(name: "Mid Tom", note: 43), | |
.init(name: "Hi Tom", note: 44), | |
.init(name: "CL HH", note: 42), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Ride", note: 49), | |
.init(name: "Cowbell", note: 50), | |
.init(name: "Rimshot", note: 37), | |
.init(name: "Kick 2", note: 40), | |
.init(name: "Snare 2", note: 51), | |
.init(name: "Kick 3", note: 45), | |
.init(name: "Kick 4", note: 47), | |
.init(name: "Kick 5", note: 48), | |
] | |
case .vaDrum2_808: | |
return [ | |
.init(name: "Kick 1", note: 36), | |
.init(name: "Rimshot 1", note: 37), | |
.init(name: "Snare 1", note: 38), | |
.init(name: "Clap 1", note: 39), | |
.init(name: "CL HH 1", note: 40), | |
.init(name: "OP HH 1", note: 41), | |
.init(name: "Low Tom 1", note: 42), | |
.init(name: "Mid Tom 1", note: 43), | |
.init(name: "Hi Tom 1", note: 44), | |
.init(name: "Cymbal", note: 45), | |
.init(name: "Cowbell", note: 46), | |
.init(name: "Low Conga", note: 47), | |
.init(name: "Mid Conga", note: 48), | |
.init(name: "Hi Conga", note: 49), | |
.init(name: "Maracs", note: 50), | |
.init(name: "Claves", note: 51), | |
] | |
case .vaDrum2_909: | |
return [ | |
.init(name: "Kick 2", note: 52), | |
.init(name: "Rimshot 2", note: 53), | |
.init(name: "Snare 2", note: 54), | |
.init(name: "Clap 2", note: 55), | |
.init(name: "CL HH 2", note: 56), | |
.init(name: "OP HH 2", note: 57), | |
.init(name: "Low Tom 2", note: 58), | |
.init(name: "Mid Tom 2", note: 59), | |
.init(name: "Hi Tom 2", note: 60), | |
.init(name: "Crash", note: 61), | |
.init(name: "Ride", note: 62), | |
] | |
case .vatanator: | |
return [ | |
.init(name: "1", note: 24), | |
.init(name: "2", note: 27), | |
.init(name: "3", note: 30), | |
.init(name: "4", note: 33), | |
.init(name: "5", note: 36), | |
.init(name: "6", note: 39), | |
.init(name: "7", note: 42), | |
.init(name: "8", note: 45), | |
] | |
case .drumbrute: | |
return [ | |
.init(name: "Kick 1", note: 36), | |
.init(name: "Kick 2", note: 37), | |
.init(name: "Snare", note: 38), | |
.init(name: "CLap", note: 39), | |
.init(name: "Rim", note: 40), | |
.init(name: "Claves", note: 41), | |
.init(name: "CL HH", note: 42), | |
.init(name: "OP HH", note: 43), | |
.init(name: "Conga H", note: 44), | |
.init(name: "Tom H", note: 45), | |
.init(name: "Conga L", note: 46), | |
.init(name: "Tom L", note: 47), | |
.init(name: "Cymbal", note: 48), | |
.init(name: "Rev Cymb", note: 49), | |
.init(name: "Maracas", note: 50), | |
.init(name: "Tamb", note: 51), | |
.init(name: "Zap", note: 52), | |
] | |
case .drumbruteImpact: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare 1", note: 37), | |
.init(name: "Snare 2", note: 38), | |
.init(name: "Tom H", note: 39), | |
.init(name: "Tom L", note: 40), | |
.init(name: "Cymbal", note: 41), | |
.init(name: "Cowbel", note: 42), | |
.init(name: "CL HH", note: 43), | |
.init(name: "OP HH", note: 44), | |
.init(name: "FM", note: 45), | |
.init(name: "Kick CL", note: 48), | |
.init(name: "Snare 1 CL", note: 49), | |
.init(name: "Snare 2 CL", note: 50), | |
.init(name: "Tom H CL", note: 51), | |
.init(name: "Tom L CL", note: 52), | |
.init(name: "Cymbal CL", note: 53), | |
.init(name: "CL HH CL", note: 55), | |
.init(name: "OP HH CL", note: 56), | |
.init(name: "FM CL", note: 57), | |
] | |
case .electribeEMX: | |
return [ | |
.init(name: "Drum 1", note: 48), | |
.init(name: "Drum 2", note: 50), | |
.init(name: "Drum 3", note: 52), | |
.init(name: "Drum 4", note: 53), | |
.init(name: "Drum 5", note: 55), | |
.init(name: "Drum 6A", note: 54), | |
.init(name: "Drum 6B", note: 58), | |
.init(name: "Drum 7A", note: 61), | |
.init(name: "Drum 7B", note: 63), | |
] | |
case .electribeER1: | |
return [ | |
.init(name: "PercSynth1", note: 36), | |
.init(name: "PercSynth2", note: 38), | |
.init(name: "PercSynth3", note: 40), | |
.init(name: "PercSynth4", note: 41), | |
.init(name: "AudioIn1", note: 43), | |
.init(name: "AudioIn2", note: 45), | |
.init(name: "CL HH", note: 42), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Crash", note: 49), | |
.init(name: "Clap", note: 39), | |
] | |
case .volcaBeats: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 38), | |
.init(name: "Lo Tom", note: 43), | |
.init(name: "Hi Tom", note: 50), | |
.init(name: "CL HH", note: 42), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Clap", note: 39), | |
.init(name: "Claves", note: 75), | |
.init(name: "Agogo", note: 67), | |
.init(name: "Crash", note: 49), | |
] | |
case .mfb522: | |
return [ | |
.init(name: "BD Short", note: 35), | |
.init(name: "BD Long", note: 36), | |
.init(name: "Rimshot", note: 37), | |
.init(name: "SD", note: 38), | |
.init(name: "Clap Long", note: 39), | |
.init(name: "Cowbell", note: 40), | |
.init(name: "Hi-hat", note: 41), | |
.init(name: "Clave", note: 42), | |
.init(name: "Hi-hat 2", note: 43), | |
.init(name: "Low Tom", note: 44), | |
.init(name: "OP HH", note: 45), | |
.init(name: "Mid Tom", note: 46), | |
.init(name: "Mid Tom 2", note: 47), | |
.init(name: "Cymbal", note: 48), | |
.init(name: "Hi Tom", note: 49), | |
] | |
case .mc101: | |
return [ | |
.init(name: "1", note: 37), | |
.init(name: "2", note: 39), | |
.init(name: "3", note: 42), | |
.init(name: "4", note: 46), | |
.init(name: "5", note: 49), | |
.init(name: "6", note: 51), | |
.init(name: "7", note: 54), | |
.init(name: "8", note: 56), | |
.init(name: "9", note: 36), | |
.init(name: "10", note: 38), | |
.init(name: "11", note: 41), | |
.init(name: "12", note: 45), | |
.init(name: "13", note: 48), | |
.init(name: "14", note: 62), | |
.init(name: "15", note: 63), | |
.init(name: "16", note: 64), | |
] | |
case .tr08: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Rim", note: 37), | |
.init(name: "Snare", note: 38), | |
.init(name: "Clap", note: 39), | |
.init(name: "CL HH", note: 42), | |
.init(name: "Low Tom", note: 43), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Mid Tom", note: 47), | |
.init(name: "Cymbal", note: 49), | |
.init(name: "Hi Tom", note: 50), | |
.init(name: "Cowbell", note: 56), | |
.init(name: "Hi Conga", note: 62), | |
.init(name: "Mid Conga", note: 63), | |
.init(name: "Low Conga", note: 64), | |
.init(name: "Maracas", note: 70), | |
.init(name: "Claves", note: 75), | |
] | |
case .tr707: | |
return [ | |
.init(name: "Kick 1", note: 35), | |
.init(name: "Kick 2", note: 36), | |
.init(name: "Rim", note: 37), | |
.init(name: "Snare 1", note: 38), | |
.init(name: "Clap", note: 39), | |
.init(name: "Snare 2", note: 40), | |
.init(name: "Low Tom", note: 41), | |
.init(name: "CL HH", note: 42), | |
.init(name: "Mid Tom", note: 45), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Hi Tom", note: 48), | |
.init(name: "Crash", note: 49), | |
.init(name: "Ride", note: 51), | |
.init(name: "Tambourine", note: 54), | |
.init(name: "Cowbell", note: 56), | |
] | |
case .tr727: | |
return [ | |
.init(name: "Hi Bongo", note: 60), | |
.init(name: "Low Bongo", note: 61), | |
.init(name: "Mute Hi Conga", note: 62), | |
.init(name: "Open Hi Conga", note: 63), | |
.init(name: "Low Conga", note: 64), | |
.init(name: "Hi Timbale", note: 65), | |
.init(name: "Low Timbale", note: 66), | |
.init(name: "Hi Agogo", note: 67), | |
.init(name: "Low Agogo", note: 68), | |
.init(name: "Cabasa", note: 69), | |
.init(name: "Maracas", note: 70), | |
.init(name: "Short Whistle", note: 71), | |
.init(name: "Long Whistle", note: 72), | |
.init(name: "Quijada", note: 73), | |
.init(name: "Star Chime", note: 74), | |
] | |
case .tr808chd: | |
return [ | |
.init(name: "Kick", note: 35), | |
.init(name: "Snare", note: 38), | |
.init(name: "Low Tom", note: 41), | |
.init(name: "Mid Tom", note: 45), | |
.init(name: "Hi Tom", note: 48), | |
.init(name: "Rimshot", note: 37), | |
.init(name: "Clap", note: 39), | |
.init(name: "Cowbell", note: 56), | |
.init(name: "Cowbell 2", note: 51), | |
.init(name: "Cymbal", note: 49), | |
.init(name: "OP HH", note: 46), | |
.init(name: "CL HH", note: 42), | |
] | |
case .tr808kenton: | |
return [ | |
.init(name: "Kick", note: 36), | |
.init(name: "Snare", note: 37), | |
.init(name: "Low Tom", note: 38), | |
.init(name: "Mid Tom", note: 39), | |
.init(name: "Hi Tom", note: 40), | |
.init(name: "Rimshot", note: 41), | |
.init(name: "Clap", note: 42), | |
.init(name: "Cowbell", note: 43), | |
.init(name: "Cymball", note: 46), | |
.init(name: "OP HH", note: 45), | |
.init(name: "CL HH", note: 44), | |
] | |
case .tr8s: | |
return [ | |
.init(name: "BD", note: 36), | |
.init(name: "SD", note: 38), | |
.init(name: "LT", note: 43), | |
.init(name: "MT", note: 47), | |
.init(name: "HT", note: 50), | |
.init(name: "RS", note: 37), | |
.init(name: "HC", note: 39), | |
.init(name: "CH", note: 42), | |
.init(name: "OH", note: 46), | |
.init(name: "CC", note: 49), | |
.init(name: "RC", note: 51), | |
] | |
case .tr909: | |
return [ | |
.init(name: "Kick", note: 35), | |
.init(name: "Rim", note: 37), | |
.init(name: "Snare", note: 38), | |
.init(name: "Clap", note: 39), | |
.init(name: "Low Tom", note: 41), | |
.init(name: "CL HH", note: 42), | |
.init(name: "Mid Tom", note: 45), | |
.init(name: "OP HH", note: 46), | |
.init(name: "Hi Tom", note: 48), | |
.init(name: "Crash", note: 49), | |
.init(name: "Ride", note: 51), | |
] | |
} | |
} | |
var description: String { | |
switch self { | |
case .ar909: return "AR-909" | |
case .axon2: return "Axon 2" | |
case .blipBox: return "Blip Box" | |
case .dadamachinesAutomat: return "Dadamachines Automat" | |
case .digistix: return "Digistix" | |
case .drumlab: return "DM1/DM2/Drumlab" | |
case .drumComputer: return "Drum Computer" | |
case .egdr606: return "EGDR606" | |
case .egdr808: return "EGDR808" | |
case .egdr909: return "EGDR909" | |
case .facDrumkit: return "FAC Drumkit" | |
case .generalMIDI8: return "General MIDI 8" | |
case .generalMIDI16: return "General MIDI 16" | |
case .hammerhead: return "Hammerhead" | |
case .koalaSampler2x8: return "Koala Sampler 2x8" | |
case .koalaSampler4x4: return "Koala Sampler 4x4" | |
case .korgGadgetAmsterdam: return "Korg Gadget Amsterdam" | |
case .korgGadgetBilbao: return "Korg Gadget Bilbao" | |
case .korgGadgetGladstone: return "Korg Gadget Gladstone" | |
case .korgGadgetLondon: return "Korg Gadget London" | |
case .korgGadgetRecife: return "Korg Gadget Recifie" | |
case .korgGadgetTokyo: return "Korg Gadget Tokyo" | |
case .mv08: return "MV08" | |
case .nsSlate: return "NS2 Slate" | |
case .pureAcidDrum: return "Pure Acid Drums" | |
case .ruismaker: return "Ruismaker" | |
case .ruismakerFM: return "Ruismaker FM" | |
case .sdsx: return "SDS-x" | |
case .sitala: return "Sitala" | |
case .splatToClat: return "Splat-to-Clat" | |
case .vaDrumSM: return "VA Drum SM" | |
case .vaDrum2_808: return "VA Drum 2 808" | |
case .vaDrum2_909: return "VA Drum 2 909" | |
case .vatanator: return "Vatanator" | |
case .drumbrute: return "Arturia Drumbrute" | |
case .drumbruteImpact: return "Arturia Drumbrute Impact" | |
case .electribeEMX: return "Korg Electribe EMX" | |
case .electribeER1: return "Korg Electribe ER-1" | |
case .volcaBeats: return "Korg Volca Beats" | |
case .mfb522: return "MFB 522" | |
case .mc101: return "Roland MC-101" | |
case .tr08: return "Roland TR-08" | |
case .tr707: return "Roland TR-707" | |
case .tr727: return "Roland TR-727" | |
case .tr808chd: return "Roland TR-808 (CHD Kit)" | |
case .tr808kenton: return "Roland TR-808 (Kenton Kit)" | |
case .tr8s: return "Roland TR-8S" | |
case .tr909: return "Roland TR-909" | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment