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:22] – 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: | ||
| - | |||
| - | output: | ||
| - | jogAcceleration: | ||
| - | jogSensitivity: | ||
| - | type: | ||
| - | target: | ||
| - | } | ||
| - | |||
| - | } | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ValueCCAssignment { | ||
| - | objectName: | ||
| - | cc: 23 | ||
| - | channel: | ||
| - | |||
| - | |||
| - | output: | ||
| - | jogAcceleration: | ||
| - | jogSensitivity: | ||
| - | type: | ||
| - | target: | ||
| - | |||
| - | |||
| - | } | ||
| - | |||
| - | |||
| - | } | ||
| - | |||
| - | </ | ||
| < | < | ||
| Line 1531: | Line 1432: | ||
| } // Closing assignment | } // Closing assignment | ||
| - | |||
| </ | </ | ||
| + | |||
| + | |||
| + | Files for this project are available there : | ||
| + | |||
| + | [[http:// | ||
| + | |||
prime2.1703348559.txt.gz · Last modified: 2023/12/23 17:22 by ounsatn