This is an old revision of the document!
It is really easy to change behaviour of button in prime.
First, to allow usage of qml file instead of internal mapping , rename file KnownDevices.vfsb to something else
cd /usr/Engine/Content mv KnownDevices.vfsb KnownDevices.bsfv
When doing this, we tell prime to use qml files located in /usr/Engine/AssignmentFiles/PresetAssignmentFiles/<product code>/ So on prime go it is JP11.
There are two important file, assignment file & device file. These 2 files mus have the name of the midi sound card of the device.
Here is what we have on PGo :
# amidi -l Dir Device Name IO hw:0,0,0 PRIME GO Control Surface
So QML files must have the same name.
# ls -l total 56 -rw-r--r-- 1 root root 4463 Jul 10 22:14 PRIME_GO_Control_Surface_Assignments.qml -rw-r--r-- 1 root root 3091 May 28 04:49 PRIME_GO_Control_Surface_Device.qml
If you omit these 2 files, Mapping is not working so buttons dont work.
We can found templates for each board in each product_code subfolder.
# pwd /usr/Engine/AssignmentFiles/PresetAssignmentFiles # ls -R .: JC11 JC16 JC20 JP07 JP08 JP11 JP13 JP14 JP20 JP21 NH08 NH09 NH10 ./JC11: JC11_Controller_Assignments.qml JC11_Display_Assignments.qml JC11_Mixer_Assignments.qml JC11_Controller_Device.qml JC11_Display_Device.qml JC11_Mixer_Device.qml ./JC16: JC16_Controller_Assignments.qml JC16_Controller_Device.qml JC16_Display_Assignments.qml JC16_Display_Device.qml ./JC20: JC20_Controller_Assignments.qml JC20_Controller_Device.qml JC20_Display_Assignments.qml JC20_Display_Device.qml [...]
So for Prime Go, by default the QML file has not the name “PRIME_GO_Control_Surface_Device.qml”, its something else , so just rename your files with mv to have this name.
#Syntax : mv file_oldname filenewname
to add Slicer juste change these lines :
PerformanceModes {
ledType: LedType.RGB
modesModel: ListModel {
ListElement {
note: 11
view: 'CUES'
}
ListElement {
note: 12
view: 'LOOPS'
altView: 'AUTO'
shiftView: 'SLICER'
}
ListElement {
note: 13
view: 'ROLL'
altView: 'SAMPLER'
shiftView: 'FIXED'
}
}
}
We add SLICER & FIXED on shift + functions ( shift loop & shift roll to get in slice mode )