Skip to content

Instantly share code, notes, and snippets.

@ylmrx
Last active January 13, 2022 22:57
Show Gist options
  • Save ylmrx/4f5e7c17e05858498c970e1a5e2b2985 to your computer and use it in GitHub Desktop.
Save ylmrx/4f5e7c17e05858498c970e1a5e2b2985 to your computer and use it in GitHub Desktop.
MIDI-Fighter Twister Script

MIDI-Fighter Twister

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

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)

--[[----------------------------------------------------------------------------
-- 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 = 3
},
prev_page = {
group_name = "LeftButtons",
index = 3
},
},
options = {
page_size = 4
}
},
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>Yoann Lamouroux (based on danoise file)</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>
</Parameters>
</Device>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment