Josine wrote:I would like the alpha not to react on the fader until the fader has the same value as the alpha. Would this be possible by writing a module? How can I do that..?

. yes - you would want to create a module using the module editor.

. in the past, i've dabbled w/this and my solution was to create a dictionary of the control, layer and value. then when a MIDI knob or slider was assigned to a UI element, i'd determine the name and active layer then change the associated element in the code

Hi,as James already mentioned - you need to to this in a module. The midi-mapping feature in M8 is - well lets say 'fuzzy', if not worse...I posted a solution for your problem a while ago here:http://forum.garagecube.com/viewtopic.php?f=12&t=7900No need to do this with a dictionary (I find dictionaries more complicated to understand...)Lutz

Have the same problem constantly and really unpleasant in the middle of a show, I end up using the mouse and keyboard and its not nice.

Would Osculator work for establishing a more stable midi mapping? I dont know anything about writing scripts, so I am pretty much in the dark. How do I tell M8 not to use its automatic midi mapping structure and have my own for example, at least to establish a more stable mapping?

lamepantallas wrote:How do I tell M8 not to use its automatic midi mapping structure and have my own for example, at least to establish a more stable mapping?

What solutions are there?

Thanks and cheers!

. not sure what you're asking in the question above... you can assign MIDI mapping via the main interface or you can write a module that listens for MIDI in DirectEvent()..

. a module seems to be the best way to go b/c you will be able to read all of the current values for everything (?) in modul8 and transmit them to your controller (if it is capable of receiving the information) so it shows the current state (for things like TouchOSC, maschine, etc.).

. if the controller doesn't have any way of showing the 'state' of the current parameter you're changing, then a module will know the current value and you can 'listen' to the incoming MIDI/OSC messages and not actually update the values in modul8 until it is in sync... so, don't create a one to one relationship w/a slider and and ctrl_layer_alpha from the main window... instead, create a module that has a slider in it and assign the MIDI controller to it. then in the module, you can compare the incoming value to the current stored value and only start changing it once you've passed the relevant threshold.

. as a rough example : . using ctrl_layer_alpha on three layers - layer 1 at 1.00 (100%), layer 2 at 0.50 (50%) and layer 3 at 0.75 (75%)

. and you have one slider (current value is 0.25) in your module. you change your module to update layer 2 ctrl_layer_alpha.... you could use something like this pseudo code (which i'm sure a more adept programmer could implement better - this is meant as more of illustration):

lockedOn = False # not a one to one relationship yet...lastCheck = '' # the last known state of the MIDI controller vs. modul8 value ('high' or 'low')

myM8Val = modul8.getValue(keyword and layer we're changing)myMidiVal = module.getValue(element in the module and layer that is assigned to your MIDI controller)

if lockedOn == False : # they are not in sync if myMidiVal < myM8Val : if lastCheck == 'high' : lockedOn = True # if the MIDI was less than the m8 value and now it is more - we've crossed our threshold lastCheck ='low' elif myMidiVal > myM8Val : if lastCheck == 'low' : lockedOn = True # if the MIDI was greater than the m8 value and now it is less - we've crossed our threshold lastCheck = 'high'

. so, when you start moving your MIDI controller (@ 0.25 ) lastCheck will equal 'low' until it becomes greater than the value for the ctrl_layer_alpha (0.50 in this example) then when you hit 0.51 - myMidiVal will be greater than myM8Val, lastCheck will equal 'low' -so lockedOn would get set to 'True' - and in the second logic block it should assign the current slider value to the modul8 parameter.

. i'm sure this could use some tweaking, but this is they way i've always approached it.

But it isn't working.. the value of the slider in the module doesn't get updated to the first layer in modul8..I tried a few things, but i'm quite new to programming.. any ideas on what i have to change to get this working?

Just shared a modified version of UDART Two way module in public library, see (raylab) Hybrid Two Way MIDI (UDART).Original version requires devices that support MIDI feedback, this one also works with any cheap controller by locking the sloder/knob values until match.

Added:1. Extensions to handle devices or controls that do not support MIDI feedback: module will lock the incoming values until they match the current value of Modul8 control (sliders en knobs), so they wan’t jump when switching between layers. Use ‘feedback’ checkbox to choose. If checked, feedback is sent to control (original behaviour). If unchecked, module will lock the incoming value until match.2. Togggle option for buttons (very useful)3. Save/Load current midi map to/from file. Loading simply overwrites the current map.

In Windows Embedded 8 Standard (Standard , you can create custom modules to easily and automatically deploy custom software and device drivers to your device. By creating modules in Module Designer (MOD), you can add files and programs to your module and specify how these files are installed on the device. After you create your custom module, you can import the module directly into Image Configuration Editor (ICE) and Image Builder Wizard (IBW) so that you can easily incorporate your software with the other operating system modules that make up your device configuration.