Jump to content

TK.

Administrators
  • Posts

    15,198
  • Joined

Posts posted by TK.

  1. I've no experiences with this topic, and won't be able to help you on the mechanical part.

     

    But: MIDIbox NG allows to control digital outputs with PWM quite easily.

    See also the "first steps" section in the user manual: http://www.ucapps.de/midibox_ng_manual_fs.html

    search for "Dim me!"

     

     

    While previously the LED was only switched between on and off state depending on the incoming MIDI value, now we want to control the brightness level with the received velocity value instead:
    EVENT_BUTTON id=1 fwd_id=LED:1 dimmed=1 type=NoteOn key=36 lcd_pos=1:1:1 label="Button #%3i: %3d" 

    Only the dimmed=1 parameter has been added. The LED will change the brightness over the 0..127 value range in 16 levels.

     

    Note that more than 16 velocity levels are not supported by the MBNG firmware, but this could already be enough?

    (I doubt that you will get a noticeable change with a higher resolution)

     

    Best Regards, Thorsten.

  2. I agree, it was a bad decision to invert the mute LED behaviour.

     

    Please try v4_088_pre4:

    http://www.ucapps.de/mios32/midibox_seq_v4_088_pre4.zip

     

         LED Colour coding:
         - LED off: Track neither muted nor soloed
         - LED green: Track muted
         - LED yellow: Track soloed
         - LED red: Track muted and soloed - solo has higher priority, therefore track will be played
    

    As you can see, the red colour makes it easier to identify muted tracks in solo mode.

     

    Best Regards, Thorsten.

  3. The warnings can be ignored

     

    Your other questions actually need your source code as reference for an accurate answer, and some time for the guy who analysis your code and gives you proposals...

     

    However, all those memory limitations and C compiler quirks where a strong reason why I moved to the MIOS32 platform more than 5 years ago (!) which is much more comfortable to use :smile:

    It was your idea to use the old PIC based platform ;)

     

    Best Regards, Thorsten.

  4. Here something for testing:

    http://www.ucapps.de/mios32/midibox_seq_v4_088_pre3.zip

     

    From the ChangeLog:

       o BLM16x16+X support for Mute and Solo
         The new functions are available at Extra Row Button #3 and #4
         (if a BLM16x8+X is connected, they replace Start/Stop at Extra Row Button #1 and #2)
    
         If Mute active: the extra column buttons mute/unmute tracks
         If Solo active: the extra column buttons solo/unsolo tracks
    
         LED Colour coding:
         - LED off: Track won't play (due to Mute or Solo)
         - LED green: Solo not active and track not muted
         - LED yellow: Track soloed
    
         Special Key combinations:
         - ALT+Mute clears all mutes
         - ALT+Solo clears all solos
    

     

    Updated emulation app (V1.4) can be downloaded from:

    http://www.ucapps.de/midibox_seq_manual_blm.html

     

    Documentation hasn't been updated yet...

     

    Note that the Solo function wasn't available this way before.

    The legacy Solo function only soloes the selected tracks.

    The new Solo function (which is only accessible via the BLM) soloes the tracks independent from the track selection.

    It also has a higher priority than Mute

     

    Best Regards, Thorsten.

  5. Noch eine Verständnisfrage: jedes DIN hat 4 SR, fortlaufend nummeriert? Dh. mit SR 9 = J3 vom dritten DIN?

     

    ja

     

     

    Das mit den LEDs verstehe ich noch nicht.

     

    Angenommen, DOUT SR 5 und 6 sind noch frei, dann schreibe:

    TRACKS_DOUT_L_SR 5
    TRACKS_DOUT_R_SR 6

     

    Nun zeigen folgende Ausgaenge die selektierten Tracks an.

    DOUT SR5, D7: Track 1

    DOUT SR5, D6: Track 2

    DOUT SR5, D5: Track 3

    DOUT SR5, D4: Track 4

    DOUT SR5, D3: Track 5

    DOUT SR5, D2: Track 6

    DOUT SR5, D1: Track 7

    DOUT SR5, D0: Track 8

    DOUT SR6, D7: Track 9

    DOUT SR6, D6: Track 10

    DOUT SR6, D5: Track 11

    DOUT SR6, D4: Track 12

    DOUT SR6, D3: Track 13

    DOUT SR6, D2: Track 14

    DOUT SR6, D1: Track 15

    DOUT SR6, D0: Track 16

     
    Gruss, Thorsten.
     
  6. Ich muss mich korrigieren: es gibt bereits BUTTON_DIRECT_TRACK[1..16] buttons, und auch LEDs (TRACKS_DOUT_L_SR und R_SR - die LEDs muessen direkt an zwei SR angeschlossen werden)

     

    Generell ist mir aufgefallen, dass Du noch keine LEDs vorgesehen hast - absicht?

     

    Gruss, Thorsten.

  7. Hi,

     

     

    So, is there a reason, why you did define already meta-events to the encoders? 

     

    Because I wanted to test predefined SendEvent commands.

    LearnEvent will also work without pre-definitions.

     

    Yes, the described scenario is almost correct.

    But the button is working in momentary mode.

    Means: learning is active as long as the button is pushed, and will be finished once the button has been released.

     

    Best Regards, Thorsten.

  8. I missed your message...

     

    Are you using a MBHP_CORE_STM32 or MBHP_CORE_LPC17/MBHP_CORE_STM32F4 module?

     

    For MBHP_CORE_STM32 the MIOS32_SPI_PIN_DRIVER_STRONG_OD mode would be correct.

    But MBHP_CORE_STM32F4/LPC17 require MIOS32_SPI_PIN_DRIVER_STRONG_PP

     

    Best Regards, Thorsten.

  9. The assigned (learnt) events will be part of the EVENT_* definition of the ModWheel, hence they are not part of a snapshot.
    Instead they are part of the configuration (.ngc)

    So: in the SCS Disk menu you could store the configuration to a new .ngc file, and restore it later.
    This also allows to give each configuration a name.

    However, each .NGC file will result into a dedicated snapshot, .NGR and .NGL file - that's probably not what you want, but this is the way how the MBNG firmware architecture is constructed.


    The "SendEvent" meta command is implemented now, it allows to send multiple events from a single controller.
    -> http://www.ucapps.de/mios32/midibox_ng_v1_033_pre3.zip

    Here a configuration example which I've used for testing:
    http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmetalrn.ngc

    Encoder #1 sends CCs of Encoder 3/4/5/6 in different ranges and directions
    Encoder #2 sends CCs of Encoder 7/8/9/10 in different ranges and directions

    LED rings and LCD messages are correctly updated -> seems to work! :-)

    The learn function isn't implemented yet - this was only a proof of concept.

    Best Regards, Thorsten.

  10. During a long walk in the snow I got following idea - hope that it's matching with yours:

     

    Let's assume all learnable MIDI messages are already defined as EVENTs and assigned to control elements.

    Then they could be "remote controlled" from another EVENT within a specified range with a new meta command.

    Since it's possible to assign multiple meta commands to a single EVENT, this would also allow to remote control multiple EVENTs from one.

     

    If this mechanism would help, I could also provide a "MetaLearn" command which has to be assigned to a dedicated button.

    Press the button to start learning, move all controllers which should be assigned to the "meta controller" within the desired range. Release the button -> done.

     

    More concrete usage example (based on yours)

    You've one EVENT which sends the CC for CutOff, another one which sends the CC for volume. Both are assigned to encoders.

    Another EVENT assigned to the ModWheel.

     

    Prepare the CutOff and Volume encoders for the start position which is sent when ModWheel is at 0%

    Then press the MetaLearn button.

    Move CutOff and Volume to the end position, the values are sent when ModWheel is at 100%

    Release the MetaLearn button.

     

    Now you could remote-control the CutOff and Volume encoder with the ModWheel within the range that you entered during MetaLearn.

     

    Would this solve your request?

    I find it useful  :smile:

     

    Best Regards, Thorsten.

  11. Hi Mattia,

     

    please try v1.033_pre1 which is linked in this thread: 

     

    If the matrix is still not working properly, I need your .NGC file for further analysis.

     

    There are no known problems with multiple button/LED matrices (with v1.033_pre1, there was a problem with v1.033)

    Older versions can be found here: http://www.ucapps.de/mios32/backup/

    But again: it's unlikely that the problem is related to the firmware itself.

     

    Best Regards, Thorsten.

  12. Hi Chris,

     

    a MIDI learn mode is implemented, did you already try it out?

    It can be enabled from the SCS menu, or alternatively with a meta event assigned to a dedicated button.

    See also http://www.ucapps.de/midibox_ng_manual_ngc.html, search for "MidiLearn"

     

    It learns the CC (or optionally a NRPN) + the value range - as suggested.

    It doesn't allow to learn multiple MIDI events for the same control element, instead the first assignment will be replaced by the learnt one.

     

    If learning multiple events is mandatory, we've to think about the best strategy how to do this.

     

    Best Regards, Thorsten.

×
×
  • Create New...