Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Icon Platform M+ MIDI Remote #15

Open
wants to merge 67 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
106fcaa
Initial connection - debug mode
woodcockr May 21, 2022
3a7cf8f
Basic layout start
woodcockr May 21, 2022
5078af1
Seemingly complete input surface
woodcockr May 21, 2022
1901512
Add zoom mapping
woodcockr May 21, 2022
2916d8a
Now with some jog and zoom functions mapped
woodcockr May 22, 2022
416ae01
Add comment on the weird knob behaviour side effect
woodcockr May 22, 2022
22ba5fa
Refactor surface elements
woodcockr May 22, 2022
98704fa
Led buttons all active, some are even bound to functions
woodcockr May 22, 2022
66c0a58
Now with Mixer, auto bank and much flashing lights
woodcockr May 24, 2022
138a45e
Assign a function to every button
woodcockr May 26, 2022
bdfb5a7
Fix typo in script
woodcockr May 27, 2022
141da6c
Full MixerPage running - with subpages
woodcockr May 28, 2022
0b2fbbe
focus quick controls on selected Track
woodcockr May 28, 2022
1473ed7
Mixer Select track button is now monitor enable
woodcockr May 28, 2022
ca9cc31
Modify Transport area so it works consistently across pages
woodcockr May 29, 2022
1f7f8a2
Debugging select and led failure cases - WIP
woodcockr May 29, 2022
92d836c
Still debugging
woodcockr May 29, 2022
d8fb1c1
Cleaning code up in attempt to find script causing failure on first s…
woodcockr May 29, 2022
d065764
Humph, still debugging selected track
woodcockr May 30, 2022
88cc956
Add isConsuming to jog wheel - even though it makes no difference
woodcockr May 31, 2022
f54c9d2
Cosmetic tweaks - rec button is round
woodcockr May 31, 2022
54da386
Now the selection issue is seemingly a bug in the midi remote api cha…
woodcockr May 31, 2022
9153d18
Clear all Leds when activating pages so that no lit leds linger if th…
woodcockr May 31, 2022
d2ee038
Selected Channel updates - still not sure on design of this. So far h…
woodcockr May 31, 2022
e7f0e6b
Selected track sub pages areas for sends/Qc, PreFilter, EQ, CureSends
woodcockr Jun 4, 2022
cc997d7
WIP to display information on the D2 display - initial example code a…
woodcockr Nov 11, 2022
facbe88
Remove WIP code
woodcockr Nov 11, 2022
84311ee
Update label encoding to make Camel Case and Strip vowels to improve …
woodcockr Nov 11, 2022
ff2f9a4
Scale layout to make room for d2 panel
woodcockr Nov 19, 2022
c6c3066
Fooling around with different display options and feedback whilst lea…
woodcockr Nov 19, 2022
8c35ecf
Now with touch fader change to/from values
woodcockr Nov 19, 2022
6146c4b
WIP for Selected Track - starting to get a handle on how to do the di…
woodcockr Nov 19, 2022
a15cb83
Mixer and Selected Track pages now have reasonable display response -…
woodcockr Nov 20, 2022
dfe0132
minor fixes
woodcockr Nov 20, 2022
b54d37d
stashing minor adjustments
woodcockr Nov 20, 2022
9ee4d7e
Merge branch 'mucking-flip-n-zoom-wip'
woodcockr Nov 26, 2022
0e82004
fix formatting
woodcockr Nov 26, 2022
f36ac44
Mixer button now changes display from knobs to faders - the Flip butt…
woodcockr Nov 26, 2022
0ee8aba
Minor change to update display
woodcockr Nov 27, 2022
77cae0b
A non-specific binding is not an error
woodcockr Nov 27, 2022
f6b7b55
Remove left over code from mixer button - no longer switching this way
woodcockr Nov 27, 2022
bf454c1
A first cut at some display feedback for the Jog wheel - Last letter …
woodcockr Nov 27, 2022
cf8d400
Add wip comments for later
woodcockr Nov 27, 2022
224edc1
WIP marker
woodcockr Nov 27, 2022
07f130d
Code tidy up based on examples
woodcockr Dec 3, 2022
8368d0c
More WIP
woodcockr Dec 3, 2022
3c83533
Some progress on new display handling in Mixer track ondisplaychange.
woodcockr Dec 4, 2022
afdf2e4
More refactoring than I care to explain - much of it trial and error …
woodcockr Dec 18, 2022
a6ee4a6
Remove no longer required code
woodcockr Dec 18, 2022
7eb8f21
Simplify value change (and fix faders saying Volume!!)
woodcockr Dec 18, 2022
e78320d
Logs less busy
woodcockr Dec 18, 2022
02d4259
SelectedChannel subPage display tidy up
woodcockr Dec 18, 2022
7f0f042
A channelstrip of sorts
woodcockr Dec 18, 2022
d1f87cc
A basic control room page now
woodcockr Dec 18, 2022
7381383
New MIDI CC page using multiple output ports (Windows loop midi requi…
woodcockr Dec 18, 2022
bdbbb1a
Merge branch 'replace-display-update-function' into add-display
woodcockr Dec 18, 2022
d6a895c
The AI Fader now provides feedback on what it is controlling and the …
woodcockr Dec 20, 2022
a213ca7
Merge branch 'add-display' into develop
woodcockr Dec 29, 2022
19cf08f
Fix track names not updating bug introduced in Cubase 12.0.60+ - craz…
woodcockr Jul 23, 2023
6c44186
Fix FocussedQC not changine due to crazy Cubase 12.0.60 page
woodcockr Dec 7, 2023
d5b8e33
More weird 12.0.60 driven coding to ensure displays update
woodcockr Dec 7, 2023
d3accad
Fix error in ChannelStrip page activation
woodcockr Dec 7, 2023
86b09ff
Quiet the logs
woodcockr Dec 7, 2023
fdbb942
Tweaks to display handling for QCs - still seeing random incorrect up…
woodcockr Dec 8, 2023
785fab2
This appears to fix the autodetection
woodcockr Dec 8, 2023
fdb253f
Display fixes - still a few gremlins.
woodcockr Dec 9, 2023
c235498
Use all tracks in Mixer Bank
woodcockr Dec 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions icon/platformmplus/helper.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
function setTextOfColumn(columnIndex, col_text, original_text) {
var col = columnIndex * 7
var text = (col_text + ' ').slice(0, 7) // ensure to always clear a column

// original_text must be the full width of the display when setting a column
// so pad with spaces if it isn't
var new_text = original_text.slice(0, 56)
var length = new_text.length
while (length++ < 56)
new_text = new_text.concat(" ")

new_text = new_text.substring(0, col) + text + new_text.substring(col + 7, new_text.length);

return new_text
}

function setTextOfLine(textString) {
var blank = Array(56).join(" ")
var text = (textString + blank).slice(0, 56) // ensure to always clear the entire row

return text
}

function makeLabel(value, length) {
// console.log("makeLabel:" + value)
// Do nothing if the label is already short enough
if (value.length <= length) {
return value
}

// If to long shorten it by removing vowels and making it CamelCase to remove spaces
var words = value.split(" ");
var label = "";

for (var i = 0, len = words.length; i < len; i++) {

var currentStr = words[i];

var tempStr = currentStr

// convert first letter to upper case and remove all vowels after first letter
tempStr = tempStr.substr(0, 1).toUpperCase() + tempStr.substr(1).replace(/[aeiou]/gi, '');

label += tempStr;

}
return label.slice(0, length); // Remove vowels and shorten to 6 char label
}

module.exports = {
display: {
// reset: resetDisplay,
makeLabel: makeLabel,
setTextOfColumn: setTextOfColumn,
setTextOfLine: setTextOfLine
}
}
Loading