prime2
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
prime2 [2023/12/23 17:29] – ounsatn | prime2 [2024/05/13 23:19] (current) – ounsatn | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | **This project is in progess, and not still finished** | ||
+ | |||
{{http:// | {{http:// | ||
Line 6: | Line 8: | ||
Prime use QML from QT to do assignments and map functions. | Prime use QML from QT to do assignments and map functions. | ||
You can write your own javascript / qml code to suit your needs. | You can write your own javascript / qml code to suit your needs. | ||
- | I'm not a QT expert, i'm still learning :p | ||
+ | Qml below allow to map these functions : | ||
+ | |||
+ | Back , Forward, load Right & Left , Rotary button are mapped like this : | ||
+ | (Load R/L is mapped below) | ||
+ | |||
+ | {{http:// | ||
- | Import section to get all the QT/QML prime objects | ||
< | < | ||
+ | |||
+ | ### Code Header with Air Imports ### | ||
+ | |||
import airAssignments 1.0 | import airAssignments 1.0 | ||
import ControlSurfaceModules 0.1 | import ControlSurfaceModules 0.1 | ||
Line 18: | Line 27: | ||
import Planck 1.0 | import Planck 1.0 | ||
import QtQuick 2.12 | import QtQuick 2.12 | ||
- | </ | ||
+ | ### Then assignment begin for global parameters ### | ||
- | Then Assignments begin | ||
- | < | ||
MidiAssignment { | MidiAssignment { | ||
objectName: | objectName: | ||
Line 56: | Line 63: | ||
ledType: LedType.Simple | ledType: LedType.Simple | ||
} | } | ||
- | |||
- | </ | ||
- | |||
- | Back , Forward, load Right & Left , Rotary button are mapped like this : | ||
- | (Load R/L is mapped below) | ||
- | |||
- | {{http:// | ||
- | |||
- | < | ||
- | |||
Line 106: | Line 103: | ||
</ | </ | ||
+ | |||
Then we create one repeater bloc for deck1 and further, another for deck2 | Then we create one repeater bloc for deck1 and further, another for deck2 | ||
Line 116: | Line 114: | ||
< | < | ||
+ | |||
+ | ### Repeater 1 for Deck Left ### | ||
Repeater { | Repeater { | ||
Line 216: | Line 216: | ||
Below some pics of these functions. | Below some pics of these functions. | ||
- | ** Cues | + | ** Cues ** |
+ | |||
{{http:// | {{http:// | ||
- | ** Loops | + | ** Loops ** |
{{http:// | {{http:// | ||
** Slicer | ** Slicer | ||
+ | |||
{{http:// | {{http:// | ||
{{http:// | {{http:// | ||
Line 285: | Line 289: | ||
< | < | ||
+ | ### Repeater 2 for Deck Right ### | ||
Repeater { | Repeater { | ||
Line 388: | Line 393: | ||
</ | </ | ||
- | Next I configure Filter Sweep button for the 2 decks like below, and parameters button used to change note repeat speed in slice mode. | ||
- | {{http:// | + | Code below allow to map functions on the pic below |
+ | {{http:// | ||
Line 432: | Line 438: | ||
- | readonly property QObjProperty padsView2: Planck.getProperty("/ | + | readonly property QObjProperty padsView2: Planck.getProperty("/ |
- | property string padsMode2: padsView2.translator.string | + | property string padsMode2: padsView2.translator.string |
- | readonly property bool padsModeIsAutoLoop2: | + | readonly property bool padsModeIsAutoLoop2: |
- | readonly property bool padsModeIsLoop2: | + | readonly property bool padsModeIsLoop2: |
- | readonly property bool padsModeIsLoopRoll2: | + | readonly property bool padsModeIsLoopRoll2: |
- | readonly property bool padsModeIsSlicerContinuous2: | + | readonly property bool padsModeIsSlicerContinuous2: |
- | readonly property bool padsModeIsSlicer2: | + | readonly property bool padsModeIsSlicer2: |
- | readonly property bool loopEnabled2: | + | readonly property bool loopEnabled2: |
- | readonly property bool loopEditable2: | + | readonly property bool loopEditable2: |
Line 486: | Line 492: | ||
</ | </ | ||
- | Then we will map FX section / Buttons. | + | Then we will map Parameters buttons, used when you are in slice or loop modes |
- | < | ||
- | Repeater { | ||
- | model: ListModel { | ||
- | ListElement { | ||
- | deckName: | ||
- | deckMidiChannel: | ||
- | } | ||
- | |||
- | ListElement { | ||
- | deckName: | ||
- | deckMidiChannel: | ||
- | } | ||
- | |||
- | |||
- | } | ||
- | |||
- | Item { | ||
- | id: deckmixer | ||
- | |||
- | readonly property QObjProperty padsView1: Planck.getProperty("/ | ||
- | |||
- | property string padsMode1: padsView1.translator.string | ||
- | |||
- | readonly property bool padsModeIsAutoLoop1: | ||
- | readonly property bool padsModeIsLoop1: | ||
- | readonly property bool padsModeIsLoopRoll1: | ||
- | readonly property bool padsModeIsSlicerContinuous1: | ||
- | readonly property bool padsModeIsSlicer1: | ||
- | |||
- | readonly property bool loopEnabled1: | ||
- | readonly property bool loopEditable1: | ||
- | |||
- | |||
- | |||
- | |||
- | readonly property QObjProperty padsView2: Planck.getProperty("/ | ||
- | |||
- | property string padsMode2: padsView2.translator.string | ||
- | |||
- | readonly property bool padsModeIsAutoLoop2: | ||
- | readonly property bool padsModeIsLoop2: | ||
- | readonly property bool padsModeIsLoopRoll2: | ||
- | readonly property bool padsModeIsSlicerContinuous2: | ||
- | readonly property bool padsModeIsSlicer2: | ||
- | |||
- | readonly property bool loopEnabled2: | ||
- | readonly property bool loopEditable2: | ||
- | |||
- | |||
- | |||
- | ValueCCAssignment { | ||
- | objectName: | ||
- | cc: 3 | ||
- | normalizeValue: | ||
- | channel: | ||
- | output: ValueOutput { | ||
- | useSoftTakeover: | ||
- | target: | ||
- | path: "/ | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | |||
- | I Define CCAsssignement for Filter Cutoff DeckL and DeckR | ||
- | |||
- | |||
- | < | ||
- | |||
- | ValueCCAssignment { | ||
- | objectName: | ||
- | cc: 16 | ||
- | channel: deckMidiChannel | ||
- | |||
- | output: JogOutput { | ||
- | jogAcceleration: | ||
- | jogSensitivity: | ||
- | type: 0 | ||
- | target: PropertyTarget { path: "/ | ||
- | } | ||
- | } | ||
- | |||
- | } | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ValueCCAssignment { | ||
- | objectName: | ||
- | cc: 23 | ||
- | channel: | ||
- | |||
- | |||
- | output: | ||
- | jogAcceleration: | ||
- | jogSensitivity: | ||
- | type: | ||
- | target: | ||
- | |||
- | |||
- | } | ||
- | |||
- | |||
- | } | ||
- | |||
- | </ | ||
< | < | ||
Line 1535: | Line 1432: | ||
} // Closing assignment | } // Closing assignment | ||
- | |||
</ | </ | ||
+ | |||
+ | |||
+ | Files for this project are available there : | ||
+ | |||
+ | [[http:// | ||
+ |
prime2.1703348973.txt.gz · Last modified: 2023/12/23 17:29 by ounsatn