Skip to content

Instantly share code, notes, and snippets.

@ylmrx
Created January 14, 2022 00:23
Show Gist options
  • Save ylmrx/781c239220dfa760a289cb4698556011 to your computer and use it in GitHub Desktop.
Save ylmrx/781c239220dfa760a289cb4698556011 to your computer and use it in GitHub Desktop.
MF Twister Patterns Mix FX

MIDI-Fighter Twister

MFT = A B C D
      E F G H
      I J K L
      M N O P

Mixer (Bank1)

device control (ABCDEFG)

Currently selected device parameters

parameter page ([push:]FG)

Select across parameter page in currently selected device.

device selection (H)

Select device within selected track

Levels (MNOP)

Mutes ([push:]MNOP)

Pans (IJKL)

Solos ([push:]IJKL)

(Bottom side buttons)

Page left right (+/-4)

Patterns (Bank2)

Play pattern (AEIM)

schedule playing this line

Loop pattern ([hold:]AEIM)

hold, or press several keys

Prev/next page Sequencer

Top side keys

Prev/next track sequencer

Bottom side keys

--[[----------------------------------------------------------------------------
-- Duplex.MIDI-Fighter-Twister
----------------------------------------------------------------------------]]--
duplex_configurations:insert {
-- configuration properties
name = "Mix",
pinned = true,
-- device properties
device = {
--class_name = "",
device_port_in = "",
device_port_out = "",
thumbnail = "Controllers/MIDI-Fighter-Twister/Thumbnail.bmp",
display_name = "MIDI-Fighter Twister",
control_map = "Controllers/MIDI-Fighter-Twister/Controlmaps/MF_TwisterMixer.xml",
protocol = DEVICE_PROTOCOL.MIDI
},
applications = {
TrackSelector = {
mappings = {
next_page = {
group_name = "RightButtons",
index = 2
},
prev_page = {
group_name = "LeftButtons",
index = 2
},
},
options = {
page_size = 4
}
},
Matrix = {
mappings = {
matrix = {
group_name = "Matrix"
},
triggers = {
group_name = "Triggers"
},
prev_track_page = {
group_name = "LeftButtonsB2",
index = 2
},
next_track_page = {
group_name = "RightButtonsB2",
index = 2
},
prev_seq_page = {
group_name = "LeftButtonsB2",
index = 1
},
next_seq_page = {
group_name = "RightButtonsB2",
index = 1
}
},
options = {
page_size = 4,
follow_track = 1,
sequence_mode = 1
}
},
Effect = {
mappings = {
parameters = {
group_name = "Encoders",
},
param_active = {
group_name = "EncodersStatus"
},
device_select = {
group_name = "FxSelector",
index = 1,
},
param_prev = {
group_name = "FxSelector",
index = 3
},
param_next = {
group_name = "FxSelector",
index = 4
}
},
},
Mixer = {
mappings = {
levels = {
group_name = "Level"
},
panning = {
group_name = "Pan"
},
mute = {
group_name = "Mute"
},
solo = {
group_name = "Solo"
},
},
options = {
invert_mute = 1,
follow_track = 1,
page_size = 4,
}
}
}
}
<Device>
<Name>MIDI Fighter Twister</Name>
<Author>danoise</Author>
<Description>Controlmap for MIDI Fighter Twister (Bank 1, factory settings)</Description>
<Parameters>
<Row>
<Column>
<Group name="LeftButtons" orientation="vertical">
<Param value="CC#8|Ch4" type="button" maximum="127" minimum="0"/>
<!-- <Param value="CC#9|Ch4" type="button" maximum="127" minimum="0"/> -->
<Param value="CC#10|Ch4" type="button" maximum="127" minimum="0"/>
</Group>
</Column>
<Column>
<!-- Encoders -->
<Group name="Encoders" orientation="vertical" columns="7">
<Param value="CC#0|Ch1" maximum="127" minimum="0" type="dial" size="1.5" />
<Param value="CC#1|Ch1" maximum="127" minimum="0" type="dial" size="1.5" />
<Param value="CC#2|Ch1" maximum="127" minimum="0" type="dial" size="1.5" />
<Param value="CC#3|Ch1" maximum="127" minimum="0" type="dial" size="1.5" />
<Param value="CC#4|Ch1" maximum="127" minimum="0" type="dial" size="1.5" />
<Param value="CC#5|Ch1" maximum="127" minimum="0" type="dial" size="1.5" />
<Param value="CC#6|Ch1" maximum="127" minimum="0" type="dial" size="1.5" />
</Group>
<Group name="EncodersStatus" orientation="vertical" columns="7">
<Param value="CC#0|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2" />
<Param value="CC#1|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2" />
<Param value="CC#2|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2" />
<Param value="CC#3|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2" />
<Param value="CC#4|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2" />
<Param value="CC#5|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2" />
<Param value="CC#6|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2" />
</Group>
<Group name="FxSelector" orientation="vertical" columns="1">
<Param value="CC#7|Ch1" maximum="127" minimum="0" type="dial" size="1.5" />
<Param value="CC#7|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
<Param value="CC#5|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
<Param value="CC#6|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
</Group>
<Group name="Solo" orientation="horizontal" columns="4">
<Param value="CC#8|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
<Param value="CC#9|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
<Param value="CC#10|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
<Param value="CC#11|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
</Group>
<Group name="Mute" orientation="horizontal" columns="4">
<Param value="CC#12|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
<Param value="CC#13|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
<Param value="CC#14|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
<Param value="CC#15|Ch2" maximum="127" minimum="0" type="button" size="1.5" aspect="0.2"/>
</Group>
<Group name="Pan" orientation="horizontal" columns="4">
<Param value="CC#8|Ch1" maximum="127" minimum="0" type="dial" size="1.5"/>
<Param value="CC#9|Ch1" maximum="127" minimum="0" type="dial" size="1.5"/>
<Param value="CC#10|Ch1" maximum="127" minimum="0" type="dial" size="1.5"/>
<Param value="CC#11|Ch1" maximum="127" minimum="0" type="dial" size="1.5"/>
</Group>
<Group name="Level" orientation="horizontal" columns="4">
<Param value="CC#12|Ch1" maximum="127" minimum="0" type="dial" size="1.5"/>
<Param value="CC#13|Ch1" maximum="127" minimum="0" type="dial" size="1.5"/>
<Param value="CC#14|Ch1" maximum="127" minimum="0" type="dial" size="1.5"/>
<Param value="CC#15|Ch1" maximum="127" minimum="0" type="dial" size="1.5"/>
</Group>
</Column>
<Column>
<Group name="RightButtons" orientation="vertical">
<Param value="CC#11|Ch4" type="button" maximum="127" minimum="0"/>
<!-- <Param value="CC#12|Ch4" type="button" maximum="127" minimum="0"/> -->
<Param value="CC#13|Ch4" type="button" maximum="127" minimum="0"/>
</Group>
</Column>
</Row>
<Row>
<Column>
<Group name="LeftButtonsB2" orientation="vertical">
<Param value="CC#14|Ch4" type="button" maximum="127" minimum="0"/>
<!-- <Param value="CC#15|Ch4" type="button" maximum="127" minimum="0"/> -->
<Param value="CC#16|Ch4" type="button" maximum="127" minimum="0"/>
</Group>
</Column>
<Column>
<Group name="Triggers" orientation="vertical" columns="4">
<Param value="CC#16|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#17|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#18|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#19|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#20|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#21|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#22|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#23|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#24|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#25|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#26|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#27|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#28|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#29|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#30|Ch2" maximum="127" minimum="0" type="button"/>
<Param value="CC#31|Ch2" maximum="127" minimum="0" type="button"/>
</Group>
</Column>
<Column>
<Group name="Matrix" orientation="vertical" columns="4">
<Param value="CC#16|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#17|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#18|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#19|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#20|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#21|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#22|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#23|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#24|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#25|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#26|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#27|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#28|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#29|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#30|Ch1" maximum="127" minimum="0" type="dial"/>
<Param value="CC#31|Ch1" maximum="127" minimum="0" type="dial"/>
</Group>
</Column>
<Column>
<Group name="RightButtonsB2" orientation="vertical">
<Param value="CC#17|Ch4" type="button" maximum="127" minimum="0"/>
<!-- <Param value="CC#18|Ch4" type="button" maximum="127" minimum="0"/> -->
<Param value="CC#19|Ch4" type="button" maximum="127" minimum="0"/>
</Group>
</Column>
</Row>
</Parameters>
</Device>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment