Start with the basics - here is an example I prepared:
Controlmap:
<Device>
<Name>AllenHeithK1</Name>
<Author>danoise</Author>
<Description>Controlmap for AllenHeithK1</Description>
<Parameters>
<Page>
<Row>
<Column>
<Group name="Buttons" orientation="horizontal">
<Param value="C-4|Ch1" type="button" maximum="127" minimum="0"/>
<Param value="C#4|Ch1" type="button" maximum="127" minimum="0"/>
<Param value="D-4" type="button" maximum="127" minimum="0"/>
<Param value="D#4" type="button" maximum="127" minimum="0"/>
</Group>
</Column>
</Row>
</Page>
</Parameters>
</Device>
You will have to replace the notes with the actual ones that the K1 is transmitting.
If you don’t care about channels, strip them away (like I did with D-4 and D#4).
Next, the configuration file:
--[[----------------------------------------------------------------------------
-- Duplex.AllenHeathK1
----------------------------------------------------------------------------]]--
duplex_configurations:insert {
-- configuration properties
name = "BaseConfig",
pinned = true,
-- device properties
device = {
--class_name = nil, -- not used
--thumbnail = "", -- not used
display_name = "AllenHeathK1",
device_port_in = "",
device_port_out = "",
control_map = "Controllers/AllenHeathK1/Controlmaps/AllenHeathK1.xml",
protocol = DEVICE_PROTOCOL.MIDI
},
applications = {
Transport = {
mappings = {
stop_playback = {
group_name = "Buttons",
index = 1,
},
start_playback = {
group_name = "Buttons",
index = 2,
},
}
},
}
}
This one is hooking up the Transport application - just two buttons: start and stop.
It’s good for testing, as pressing play will light that button and pressing stop will turn off the play button.
The files are in the attached zip file. Extract it into the Duplex/Controllers folder and fire up your text editor
(hint: you probably want to enable the scripting console - this can be used for editing the files within Renoise itself, and also, allows you to quickly reload the tool to test the changes).