Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Twitter

Base and Aftertouch...

edited March 2014 in Hardware

i'm trying to get aftertouch to work with the Base. I'm using Ableton 9 and running the midi input from the Base into Kontakt 5, where I have assigned aftertouch to control a filter cutoff.


If I play my Qunexus, the aftertouch pressure on the pads modulates the cutoff with both the poly and mono aftetouch settings in Kontakt. 

I've reassigned the pads on the Base to send aftertouch, saved the new mapping to the controller etc. This does at least stop the pads randomly modulating parameters on any third party synth that has it's functions preassigned to midi numbers... but no aftertouch behaviour. 

Is this something to do with the Live script? Or am I setting something wrong here?

Comments

  • Confirmed same results in reaper. Kontakt with aftertouch assigned to a filter, midi in set to omni from all controllers, qunexus triggers aftertouch behaviour on notes played, base just plays notes, no aftertouch...


    No documentation, nothing on the wiki, anyone got any idea? Do i have a faulty unit here?
  • Ok. I'm making progress!


    I've used Clyphx to assign a bunch of the pads on the first user page to useful functions 

    First row is record quantise on/off and values

    Second row is note repeat on/off and values

    Third row controls the degree of swing applied to the note repeat

    fourth row has tap tempo, focus buttons etc.

    I've also set all the pads to all send aftertouch.

    Now, when I activate the beat repeat function, I get push-like behaviour where the pressure on the pad defines the velocity of the repeats (so you can hold the pad down to get perfectly even 16ths, but define the velocity just with finger pressure). Genius!

    So the aftertouch is clearly working. It must be something to do with the way live is passing it on or something. I'll keep playing.

    How would I tweak the base script to colour the pads in user mode 1 to different colours? Quite fancy putting some visual clues on there for my new settings buttons!


  • I've explained how to do it for another user here:



    Let me know if you need some clarification ;)

    a

  • Hey A,

    Thanks for the link. Having some trouble getting it working. Everything I do just breaks the script totally. 

    Here's the layer 3 block from my base.py with the added lines:

    def _set_layer3(self, shifted = False):
    with self.component_guard():
    for pad in self._pad:
    pad.send_value(0, True)
    self._display_mode()
    self._deassign_all()
    self._send_midi(USERBUTTONMODE)
    for index in range(8):
    self._mixer.channel_strip(index).set_select_button(self._touchpad[index])
    self._touchpad[index]._descriptor = 'Select'
    self._touchpad[index].set_on_off_values(CHAN_SELECT, 0)
    self._mixer.master_strip().set_volume_control(self._fader[8])
    for button in self._button[4:8]:
    button.set_on_off_values(USERMODE, 0)
    self._user_mode_selector.set_enabled(True)
    self._assign_alternate_mappings(self._user_layer+12)
    self._send_midi(tuple([240, 0, 1, 97, 12, 61, 1, 1, 1, 1, 1, 1, 1, 1, 2, 247]))
    self._send_midi(tuple([191, 122, 72])) #turn local ON for CapFaders
    self._notify_descriptors()

    #self.set_chain_selector(self._user_mode_selector._mode_index)
    PAD_COLORS = (1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
    for pad in self._pad:
    pad.send_value(PAD_COLORS[self._pad.index(pad)], True)

    Can you clarify whether I am getting the indenting structure right, and whether the PAD_COLORS function should come before or after the #self.set.chain function? I've tried both with no luck so far.


  • It's hard to tell with the forum formatting, I'll send you my email via pm and you can send me a copy of what you've got.  


    Generally, to see what is breaking the script you'll want to keep an eye on your log.txt file, it will tell you where the errors are  (http://www.aumhaa.com/wiki/index.php?title=Log.txt).

    As a general rule, you indent things in Python when they are enclosed in a conditional statement (i.e. there's a colon).  

    So, for instance:

    def some_func(self):
        if something:
            do some_function
        elif something_else:
            do some_other_function
        
    It looks like you may have everything right except for the PAD_COLORS variable, which should be indented the same as for pad in self._pad.
  • Ok. Great. That's probably it.


    Currently having a problem where, in spite of having reinstalled the base scripts from scratch, live is refusing to act with my base at all. Not sure why. Once i get basic functionality back, I'll giver it a go.


  • Hmm. Launchpad not working either (was running launchpad 95 on it). Notice that my copy of live has updated itself to 9.1.2... Which I seem to remember chat about bringing a lot of changes. Do i need to download a new version of the script?

  • Yes. I've just pushed new versions to my Monomodular repo....you can get them there and install them manually, or you can download the installer.

    Monomodular: https://github.com/aumhaa/monomodular

    Installer: http://lividinstruments.com/dl/LividLive912RemoteScripts.dmg

    That should sort you out. Just FYI, if you are using custom scripts or third party scripts and don't want Live to Autoupdate you (as they have been breaking lots of scripts lately), you may want to turn Autoupdates off in your preferences. I just did ;)

    a

  • Ha. Yes. So did I. Hadn't even realised it was on by default...


    That's great. Thanks. I'll install the new scripts and go from there!
  • Beautiful! All Working and fully functional!. Very fine. Thanks for the python tutorial.

Sign In or Register to comment.