ISO: m4l genius - Behringer FCB1010 users - please check this:

  • Hi guys,

    I borrowed a FCB-1010 from a friend to try some Live-looping with it.
    As it´s not mine, I don´t want to re-programm the midi-controller, so I stumbled upon this:

    http://www.maxforlive.com/library/device.php?id=396
    (needs Max Abstractions from here: http://www.samgreene.com/drupal_samgreene/M4L-abstractions)

    You have to set the track´s input to"IN", then this little m4l device changes your footcontroler into a Live-Controler.
    It is just what I was looking for.

    Only problem:
    The track-volume controller just sets the selected track volume to max. I can´t lower the volume.

    Volume control works fine if I manually map a fader to the pedal.

    Please can any m4l genius have a look at this problem?
    Please can any Behringer FCB-1010 user confirm this bug?

  • That is strange. I don't have the FCB-1010, but I can probably poke around their code after work (if I remember) and see if anything's overtly broken.

    Meanwhile, you should be able to post comments on the device page itself, which I imagine will alert the developer to your problem. (if this issue affects other people, he'll probably want to fix it and replace the faulty version that's up for download...)

    (and if this issue does not affect other people, I'm guessing your friend reprogrammed his own midi controller. The app only supports factory-default settings, so you may need to tweak the app a bit if the controller isn't at factory-default...)

  • Thanks, GTZ.
    That would be really nice.

    I´ll check again, but the controller should still be factory-defaulted.
    I already wrote to the guy, not on m4l-devices but on his blog instead.

  • I just found out that a guy called danny s has found the solution to my volume-gets-maxed-problem:
    "i added a basic math operation to divide the input of the pedal by 100, to get a floating fraction value instead of integer, which is what the fader is looking for (0.85, vs 85, for the 0db position)"

    Unfortnunately i can´t contact him (no email) and doubt that my reply on the m4l-device page or at his blog will get any reaction.

    As it seems to be a minor task to fix the volume problem, would some m4l programmer be so kind and have a look at the app?

    Peace!
    Trppng

  • I haven't yet installed the Max Abstractions, and of course I don't have the actual pedal, but...

    Open the patch. Look at bottom-right, for this:

    [ctlin 27]
    |
    [M4L.api.SetTrackVolume]


    Drag those two boxes further apart from each other to create a little space. Click on the wire connecting them. Delete that wire.

    Now you have no volume control at all. Ha ha.

    Kidding.

    You're looking at two objects. The first one isolates the output of MIDI CC #27, which is your volume pedal. The second one sends its signal to change Live's volume. Based on your description, we need to add an object between those two which divides the output of your pedal by 100 before passing it along to Live.

    That's as straightforward as it sounds. Almost. There is one twist. Possibly two.


    Press "n" to create a new object, and type "* 0.01". Press enter.

    Drag a new wire from the outlet of [ctlin 27] into the leftmost inlet of [* 0.01], and from the outlet of [* 0.01] into M4L.api.setTrackVolume's only inlet.

    So, it'll look like this:

    [ctlin 27]
    |
    [* 0.01]
    |
    [M4L.api.setTrackVolume]

    Unless the description was wrong, that's all you need.



    First twist:
    You already tried this, and it didn't work. Why??

    Because you used [/ 100] instead of [* 0.01]

    Why would that matter?

    It doesn't, really. But 100 is an integer. For that to work, you would have had to use [/ 100.0], or [/ 100.]

    (this tricks everybody. 1 * 0.5 = 1, not 0.5, because 1 is an integer and max isn't always very clever)


    Second twist:
    Danny's math is wrong.

    (unless it isn't)

    I'd bet pretty good money that the pedal is not outputting a value from 0-100, but rather, from 0-127. You need a value from 0-1, not 0-1.27. If I had to guess, I'd say it's ignoring those top numbers, and the volume pedal is missing a third of its range now.

    To change this, double-click on our [* 0.01] object and replace "* 0.01" with "scale 0 127 0. 1."

    so...


    [ctlin 27]
    |
    [scale 0 127 0. 1]
    |
    [M4L.api.setTrackVolume]


    And that should give you the full range of your pedal back.

    That said, you may well find that the upper volumes are distorting beyond recognition. You might have been better off without that change.

  • In fairness, the Max Abstraction could probably be more flexible than it is. We can fix this in there as well.


    Again, I haven't looked at Sam's code, but...



    There's likely an inlet, and a wire connecting that to something.

    so...

    [i]
    |
    [something]



    Break the wire between those.

    Add "route float int" between.

    Connect [i] to [route int float].

    Connect the leftmost outlet of [route float int] to [something], but leave some space to add another object between there.

    Add "scale 0 127 0. 1" above [something].

    Connect the middle outlet of [route float int] to [scale 0 127 0. 1.]

    Connect [scale 0 127 0. 1.] to [something]
    (the wires from both outlets go to the same inlet)


    So...

    [i]
    |
    [route int float]
    |
    | [scale 127 0. 1.]
    V
    [something]


    From there, the patch should be able to accept data in either 0-127 MIDI format, or the much higher resolution 0.-1. format it was expecting.

  • I should add that those abstractions look fantastically useful, and that I'm looking forward to playing with them.

    That might not have come across in my cold technical explanations.

  • @ GTZ:
    Thanks so much. I followed the steps described in your first post (scale 127 0. 1) and it´s working.
    I changed 1 to 0.85, so now my volume goes to 0 and not to +6dB. Perfect!

    I didn´t try manipulating the externals as descibed in your second post (inlet, route in float,...) as i just use a midi-controller.
    i don´t think it´s much useful to have a higher resolution, unless i get an arc?

    Thanks a lot again, you made my day.

  • No worries.

    Modifying the abstraction wouldn't grant you more resolution, it'd just have been an alternate approach to doing the same thing. The idea being to fix it at the source of the problem, so you don't have to modify other apps.

    ...but since you're scaling to .85 instead of 1, doing it where you did it was better anyway. (changing the abstraction to that might interfere with other apps. No need.)

  • I seem to remember having some volume pedal problems with these patches I made up. Nice to some someone used them and sorted the issue out. I'll have to take a look and put that fix in. Thanks folks!

  • updated version, if anyone's interested:
    [[http://www.maxforlive.com/library/device.php?id=396|here]]

  • Too cool trppng. Love the graphic.