Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

The Ekdahl FAR - Command language: Difference between revisions

From KNAS Wiki
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 136: Line 136:
== MIDI mapping ==
== MIDI mapping ==
The way ''MIDI'' works int the Ekdahl FAR is that each ''MIDI message'' is associated with a certain ''command string'' and the ''MIDI message'' will also update some of the internal ''variables''. Any time the associated ''MIDI message'' is received the Ekdahl FAR will execute the ''commands'' that have been associated with that ''MIDI message''. Several ''MIDI configurations'' can be stored and recalled at any time, each with a different set of ''commands'' associated with each ''MIDI message''.  
The way ''MIDI'' works int the Ekdahl FAR is that each ''MIDI message'' is associated with a certain ''command string'' and the ''MIDI message'' will also update some of the internal ''variables''. Any time the associated ''MIDI message'' is received the Ekdahl FAR will execute the ''commands'' that have been associated with that ''MIDI message''. Several ''MIDI configurations'' can be stored and recalled at any time, each with a different set of ''commands'' associated with each ''MIDI message''.  
'''FAR < 1.1:'''


  '''FAR < 1.1'''
  '''FAR < 1.1'''
Line 232: Line 230:


== CV Mapping ==
== CV Mapping ==
''CV Mapping'' works exactly like the ''MIDI mapping'' with the difference that the command for setting the ''CV mapping'' is different and that <u>all</u> events pertaining to this <u>only</u> change the ''value''-variable. The ''command'' for changing the ''CV mapping'' is ''adccommandmap'' or ''acm'', it take two ''parameters''; ''channel'' and ''command string''. We retrieve the ''command string'' for channel ''0'' which reads the sum of the ''harm. v/oct''-jack and the ''harmonic''-knob by sending a command of<pre>
''CV Mapping'' works exactly like the ''MIDI mapping'' with the difference that the command(s) for setting the ''CV mapping'' is different and that they all modify (and thus share) the "value"-''variable''. These ''events'' are triggered whenever the analog-to-digital converter senses a change in a control or modulation jack, if you use something like an LFO with the modulation jacks here you will get a LOT of events and subsequent ''commands'' being sent.
rqi:acm:0
'''FAR < 1.1:'''
</pre>The <u>default</u> response will be something like
<pre>[irq]acm:0:'bcha:value/1327.716667-20'</pre>
The command for changing the CV mapping is "adccommandmap" or "acm", it take two parameters; channel and command string. The channels on the original Edkahl FAR Control box are as
 
{{docnav
* 0 - The "Harmonic" knob and jack
* 1 - The "Harmonic shift" knob and jack
* 2 - The "Fine tune" knob
* 3 - The "Pressure" knob and jack
* 4 - The "Hammertrig" button and jack
* 5 - The "Gate" switch and jack
* 6 - The "Hammer Scale" knob
* 7 - The "Mute" knob and jack
'''FAR 1.1:'''
The commands responsible for changing the CV mapping are located in the "controlbox"-module, these are
* '''harmonic''' '''/ har''' - Sets the ''commands'' executed when the "Harmonic"-knob or modulation changes
* '''harmonicshift''' '''/ has''' - Sets the ''commands'' executed when the "Harmonic shift"-knob or modulation changes
* '''finetune / fin''' - Sets the ''commands'' executed when the "Fine tune"-knob changes
* '''pressure''' '''/ pre''' - Sets the ''commands'' executed when the "Pressure"-knob or modulation changes
* '''mute''' '''/ mut''' - Sets the ''commands'' executed when the "Mute"-knob or modulation changes
* '''hammerscale / hms''' - Sets the ''commands'' executed when the "Hammer scale"-knob changes
* '''gate / gt''' - Sets the ''commands'' executed when the "Gate"-switch or modulation changes
* '''hammertrig''' '''/ hmt''' - Sets the ''commands'' executed when the "Hammer Trig"-button or modulation changes
In order to set/retrieve ''mapping data'' we just use a regular "rqi"-''command''. To for instance get the ''command string'' executed when the "pressure" knob or modulation is sent we can do the following
'''FAR < 1.1:'''
[send] rqi:acm:3
[returns] [irq]acm:3:'bpb:value'
'''FAR 1.1:'''
[send] rqi:controlbox.pressure
[returns] [irq]cb[0].pre:'bw.bp.ba:value'
As can be seen, when the ''pressure'' knob or modulation changes, the new data read by the ADC (stored in the "value"-''variable'') is sent to the ''command'' controlling the ''bow pressure baseline.'' Hopefully at this point it is obvious that making the knob and jack on the ''control box'' that is labeled as "Pressure" do something completely different, is quite easy - just remap the ''command string''.{{docnav
|[[The Ekdahl FAR - Service|Service]]
|[[The Ekdahl FAR - Service|Service]]
|[[The Ekdahl FAR - Command reference|Command reference]]
|[[The Ekdahl FAR - Command reference|Command reference]]
}}
}}