KeyboardMaestroMidiCommandInterface: Difference between revisions
(f: Watching the video KeyboardMaestroMidiTrigger https://www.youtube.com/watch?v=ug-pE8La8OQ f prepared the following comment as an idea that would make KbMaestro more valuable for musicians.) |
m (q: When and how will you answer as a Youtube Comment? f: After having created this AiPedia page :)) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
q: And the text is? | q: And the text is? | ||
f: | |||
"""" | |||
KeyboardMaestroMidiCommandInterface. | KeyboardMaestroMidiCommandInterface. | ||
Line 16: | Line 19: | ||
On/Off, MidiNumber, Volume, Time. | On/Off, MidiNumber, Volume, Time. | ||
........................................................... | ........................................................... | ||
Line 29: | Line 31: | ||
E.g. Map the Alphabet to the following KeyboardKeys | E.g. Map the Alphabet to the following KeyboardKeys | ||
c2=c, c2#=i, d2=d, d2#=s, e2=e, f2=f, f2#=j, g2=g, g2#=k, a2=a, a2#=b2 (in German for h flat), h2=h, c3=l, c3#=m, d3=n, d3#=o, e3=p, f3=q, f#=r, g3=s ( the map doesn't need to be injective) , | c2=c, c2#=i, d2=d, d2#=s, e2=e, f2=f, f2#=j, g2=g, g2#=k, a2=a, a2#=b2 (in German for h flat), h2=h, c3=l, c3#=m, d3=n, d3#=o, e3=p, f3=q, f#=r, g3=s ( the map doesn't need to be injective) , | ||
g3#=t, a3=u, a3#=v, b3=w, c3=x, c3#=y, d3=z | |||
If the volume is about a threshold, then make the letter an uppercase, else lowercase. | |||
Sketch: | |||
lastDifference = the time difference between On and Off of the last note | |||
timeThreshold = time threshold | |||
accumulatedString = string of accumulated notes | |||
newString = accumulatedString | |||
accumulatedString = "" | |||
If delta < lastDifference { | |||
<take newString as command> | |||
else | |||
<use it for typing> | |||
} | |||
""" | |||
q: When and how will you answer as a Youtube Comment? | |||
f: After having created this AiPedia page :) | |||
work in progress | work in progress | ||
/// |
Latest revision as of 21:02, 11 March 2018
f: Watching the video KeyboardMaestroMidiTrigger
https://www.youtube.com/watch?v=ug-pE8La8OQ
f prepared the following comment as an idea that would make KbMaestro more valuable for musicians.
q: And the text is?
f:
"""" KeyboardMaestroMidiCommandInterface.
Hello, dear Adam Courtemanche,
thank you for your contribution.
What about having an extended TimeKeeper, completely written in KbMaestro, that takes as input source a MidiKeyboard and produces a sequence of OnOffNoteEvents, shown in the ExtendedTimeKeeperWindow:
On/Off, MidiNumber, Volume, Time. ...........................................................
Such a KbMaestroMidiMonitor would allow making KbMaestro into a valuable CmdInterface increasing the user value KbMaestro.
At moment we can use something similar with KbHotstrings. Unfortunately, those HotStrings produce a StringOutput, restricting the hotkeys to text input (otherwise those emitted chars could produce side effects in other
contexts than TextInputFields).
Using a MidiKeyboard, you can use it e.g. as a mnemonic InputCommandInterface.
E.g. Map the Alphabet to the following KeyboardKeys
c2=c, c2#=i, d2=d, d2#=s, e2=e, f2=f, f2#=j, g2=g, g2#=k, a2=a, a2#=b2 (in German for h flat), h2=h, c3=l, c3#=m, d3=n, d3#=o, e3=p, f3=q, f#=r, g3=s ( the map doesn't need to be injective) ,
g3#=t, a3=u, a3#=v, b3=w, c3=x, c3#=y, d3=z
If the volume is about a threshold, then make the letter an uppercase, else lowercase.
Sketch:
lastDifference = the time difference between On and Off of the last note timeThreshold = time threshold accumulatedString = string of accumulated notes newString = accumulatedString accumulatedString = "" If delta < lastDifference { <take newString as command> else <use it for typing> }
""" q: When and how will you answer as a Youtube Comment?
f: After having created this AiPedia page :)
work in progress ///