hdavid / Launchpad95

Improved Novation Launchpad scripts for Ableton Live
http://motscousus.com/stuff/2011-07_Novation_Launchpad_Ableton_Live_Scripts/
GNU General Public License v3.0
352 stars 82 forks source link

Default User Mode 2 not working in LP Mini MK3 #70

Closed darkmarthur closed 1 year ago

darkmarthur commented 1 year ago

https://github.com/hdavid/Launchpad95/blob/ec21fc546b50ddddacc217d609dbb8de08e3218a/Settings.py#L26

Default User Modes not working

After uncommenting the following lines, the default Launchpad User Mode 2 is not working since it is not displaying the default keyboard notes with Novation format (see image attached), instead, the LP matrix is turned off with single pad flashing in green.

    USER_MODES_1 = [
            "instrument"
            ,"device"
            ,"user 1"
    ]
    USER_MODES_2 = [
             "drum stepseq"
             ,"melodic stepseq"
             ,"user 2"
    ]

The "User Mode 1 - Drum Rack " works fine, although it does not respect the original grid colors: https://www.youtube.com/watch?v=mHvqwH0xQq8

Expected User Mode 2

hdavid commented 1 year ago

user mode 1 and 2 are a relic of the original launchpad. LP95 does not support the new custom modes introduced with the last generation of Launchpads.

darkmarthur commented 1 year ago

Oh! That explains it.

I am going to make a new branch trying to implement the new generation keyboard layout.

PS: awesome project!!!!!! love it

hdavid commented 1 year ago

Oh wow, thanks Mario. I never investigated, because i never used these new modes. note that for LP95, i switch the newer lauchpads into a "programmer mode" by sending a sysex. i am not sure the custom modes are avalable in this mode. maybe you can switch back and forth...

On Thu, 5 Jan 2023 at 13:41, Mario Ricardo Dominguez Quiroz < @.***> wrote:

Oh! That explains it.

I am going to make a new branch trying to implement the new generation keyboard layout.

PS: awesome project!!!!!! love it

— Reply to this email directly, view it on GitHub https://github.com/hdavid/Launchpad95/issues/70#issuecomment-1372457254, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEKKGWWC54AM7FIL7634G3WQ32SLANCNFSM6AAAAAATNCYEGI . You are receiving this because you modified the open/close state.Message ID: @.***>

dbanshee commented 11 months ago

Hello @hdavid any progress with this?

I have managed to change to the original user modes. Adding the following code to MainSelectorComponent.py on def _setup_sub_mode(self, mode): method:

elif mode == "user 1":
    self._control_surface.show_message("USER 1 MODE" )
    self._setup_session(not as_active, not as_enabled)
    self._setup_step_sequencer(not as_active)
    self._setup_step_sequencer2(not as_active)
    self._setup_mixer(not as_active)
    self._setup_device_controller(not as_active)
    self._setup_instrument_controller(not as_active)
    self._setup_user_mode(True, True, False, True)
    self._update_control_channels()
    self._mode_index = 1
    self._osd.clear()
    self._osd.mode = "User 1"

    sys.stderr.write('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> User 1')
    self._launchpad._send_midi(STD_MSG_HEADER + (LP_MINI_MK3_ID, STANDALONE_MODE, 6, SYSEX_END))

    self._osd.update()

In particular sending de syxex message to enter mode (similar in user modes 2 and 3)

self._launchpad._send_midi(STD_MSG_HEADER + (LP_MINI_MK3_ID, STANDALONE_MODE, 6, SYSEX_END))

Aditional code to reference _send_midi from MainSelectorComponent is required but I don't have time to make it prettier

But to return to programmer mode again by clicking on the mode buttons, I have not been able to detect the event. The controller does not emit any MIDI messages, but looking at the code of the original LaunchPads I think that from the Live libraries through the object BackgroundComponent it is possible to do so. Although I haven't been able to get it to work at the moment. Maybe it will neccesary save and restore the context of Launchpad95.

hdavid commented 11 months ago

honestly, i dont use the user modes at all. so i am not really looking into this one. especially because it would be launchpad model specific. (old launchpad dont need this programmer mode).

also, i do not remember how all this sysex stuff works. i hacked that years ago...

feel free to have a go at it, but i wont be able to support you on that one.

dbanshee commented 11 months ago

Sorry @hdavid , really my question was directed to @darkmarthur

BigBtz commented 1 month ago

Hey @dbanshee , can you elaborate how you managed to make it partly work? It seems that nothing changes if i add your lines of code, user mode 1 works exactly the same way that it was before. What code for _send_midi is required? And what should be added for user mode 2? Have you looked into programmers reference for launchapd mini mk3? Maybe it can help? Sorry, i'm a complete script noob