GithubHelp home page GithubHelp logo

abletonlive11_midiremotescripts's People

Contributors

gluon avatar structurevoid0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

abletonlive11_midiremotescripts's Issues

Scripts need to be updated

Firstly, thanks for putting this up.

It seems the scripts involving ableton.v3 have changed in 11.3 (watching it 11.3.13).
For instance, the Minilab_3 header now looks like this

from ableton.v3.base import SlotGroup, depends, listens from ableton.v3.control_surface import Component, find_instrument_devices, find_instrument_meeting_requirement from ableton.v3.live import is_track_armed, liveobj_valid

whereas in 11.2 it looks like that

from ableton.v3.base import SlotGroup, depends, is_track_armed, listens, liveobj_valid from ableton.v3.control_surface import Component, find_instrument_devices, find_instrument_meeting_requirement

and it doesn't compile in 11.3
It would be nice to have an up to date version before we move on to Live 12.

Bad call and import on Novation Launchpad Scripts. Decompile error?

Trying to execute Novation Launchpad Mini MK3 Script, I have experimented a few errors.

2022-06-30T19:35:55.705937: info: RemoteScriptError:   File "<string>", line 1, in <module>
2022-06-30T19:35:55.706239: info: RemoteScriptError:   File "C:\Users\banshee\Documents\Ableton\User Library\Remote Scripts\Launchpad\__init__.py", line 9, in <module>

2022-06-30T19:35:55.706477: info: RemoteScriptError:
2022-06-30T19:35:55.706536: info: RemoteScriptError: from .launchpad_mini_mk3 import Launchpad_Mini_MK3
2022-06-30T19:35:55.706589: info: RemoteScriptError:

2022-06-30T19:35:55.706645: info: RemoteScriptError:   File "C:\Users\banshee\Documents\Ableton\User Library\Remote Scripts\Launchpad\launchpad_mini_mk3.py", line 19, in <module>

2022-06-30T19:35:55.706851: info: RemoteScriptError:
2022-06-30T19:35:55.706906: info: RemoteScriptError: from .skin import skin
2022-06-30T19:35:55.706958: info: RemoteScriptError:

2022-06-30T19:35:55.707014: info: RemoteScriptError:   File "C:\Users\banshee\Documents\Ableton\User Library\Remote Scripts\Launchpad\skin.py", line 33, in <module>

2022-06-30T19:35:55.707211: info: RemoteScriptError:
2022-06-30T19:35:55.707266: info: RemoteScriptError: skin = merge_skins(base_skin, Skin(Colors)*())
2022-06-30T19:35:55.707316: info: RemoteScriptError:

2022-06-30T19:35:55.707376: info: RemoteScriptError: TypeError
2022-06-30T19:35:55.707428: info: RemoteScriptError: :
2022-06-30T19:35:55.707478: info: RemoteScriptError: can't multiply sequence by non-int of type 'Skin'
2022-06-30T19:35:55.707527: info: RemoteScriptError:

Apparently the operation Skin(Colors)*() doesn't works.
I thought it can be a mismatch Python core version on mi local Ableton Installation and the target of this source code. So I decompile mi local Ableton Scripts and compare them. Both are equals.

I'm not a Python expert and I have no excesive time so, I look and change the merge_skings call from Ableton10 repository.

Changing in file Launchpad_Mini_MK3/skin.py from this

skin = merge_skins(base_skin, Skin(Colors)*())

to this

skin = merge_skins(*(base_skin, Skin(Colors)))

After that I obtained another error.

2022-06-30T20:17:03.929307: info: RemoteScriptError:   File "C:\Users\banshee\Documents\Ableton\User Library\Remote Scripts\Launchpad\launchpad_mini_mk3.py", line 19, in <module>

2022-06-30T20:17:03.929511: info: RemoteScriptError:
2022-06-30T20:17:03.929567: info: RemoteScriptError: from .skin import skin
2022-06-30T20:17:03.929619: info: RemoteScriptError:

2022-06-30T20:17:03.929675: info: RemoteScriptError:   File "C:\Users\banshee\Documents\Ableton\User Library\Remote Scripts\Launchpad\skin.py", line 34, in <module>

2022-06-30T20:17:03.929873: info: RemoteScriptError:
2022-06-30T20:17:03.929928: info: RemoteScriptError: skin = merge_skins(*(base_skin, Skin(Colors)))
2022-06-30T20:17:03.929979: info: RemoteScriptError20
2022-06-30T20:17:03.930035: info: RemoteScriptError:   File "..\..\..\output\Live\win_64_static\Release\python-bundle\MIDI Remote Scripts\ableton\v2\control_surface\skin.py", line 75, in merge_skins

2022-06-30T20:17:03.930353: info: RemoteScriptError:   File "..\..\..\output\Live\win_64_static\Release\python-bundle\MIDI Remote Scripts\ableton\v2\control_surface\skin.py", line 75, in <lambda>

2022-06-30T20:17:03.930641: info: RemoteScriptError: AttributeError
2022-06-30T20:17:03.930697: info: RemoteScriptError: :
2022-06-30T20:17:03.930750: info: RemoteScriptError: module 'novation.skin' has no attribute '_colors'

Cheking for the types of function args on Launchpad_Mini_MK3/skin.py

sys.stderr.write(str(type(base_skin)))
sys.stderr.write(str(type(Skin(Colors))))

#skin = merge_skins(base_skin, Skin(Colors)*())
skin = merge_skins(*(base_skin, Skin(Colors)))

Result

2022-06-30T20:17:03.934386: info: RemoteScriptError: <class 'module'>
2022-06-30T20:17:03.934499: info: RemoteScriptError: <class 'ableton.v2.control_surface.skin.Skin'>

I check the first argument is not a Skin, it's a module. Analyzing the source code and comparing with Ableton9 i found a bad import.

Changing from this

import novation.skin as base_skin

to this:

from novation.skin import skin as base_skin

Now the Script works succesfully.

At least all Launchpad MK3 scripts has the same issue, but I only tested on Launchpad Mini MK3.

As I said, I decompiled my own Ableton Local Scripts and i check the same error so I suposse the main problem are in the decompilation process.

I used :

decompyle3 --version
decompyle3, version 3.9.0

Ableton.v2 does not match imports

Hey! Happy new year!
I have done JavaScript lessons for 1.5 year but I'm still having basic questions I think... I hope that I posted here correctly because i can't find any other place that you discuss about these decompiled scripts.
I'm trying to learn from scripts and take arts of them.
I'm trying to import stuff that is related with device control (encoders to parameters), but ableton.v2 versions is different than the script imports...
With _framework folder I have no problem, but here... Only problems. Like:

from ableton.v2.control_surface import ParameterInfo //everything doesn't even look in a module..but in a whole folder. But it still works as I see so maybe python work this way and searching all modules within that folder. I 99% sure that I don't have an error there.

The error is here:

from future import absolute_import, print_function, unicode_literals
from ableton.v2.base import clamp, listens, liveobj_valid
from ableton.v2.control_surface import ParameterInfo
import ableton.v2.control_surface.components as DeviceComponentBase
from ableton.v2.control_surface.control import ButtonControl, TextDisplayControl, ToggleButtonControl

class DeviceComponent(DeviceComponentBase):

If you see it says ''''import ableton.v2.control_surface.components as DeviceComponentBase''''

Well in other scripts I had to turn "import as" to "from import" to work but if I change it, it can't find a class DeviceComponentBase.
What's wrong with this class...? I opened every file in v2.controlsurface.components folder but can't find anything. The only similar is in the device.py which is class "class DeviceComponent(ParameterProvider, Component):" and in the script I saw it is class DeviceComponent(DeviceComponentBase):
So it can't be the same with child class...
I'm confused

You've committed a lot of merge conflicts

<<<<<<< HEAD
=======
# decompyle3 version 3.8.0
# Python bytecode 3.7.0 (3394)
# Decompiled from: Python 3.8.9 (default, Mar 30 2022, 13:51:17)
# [Clang 13.1.6 (clang-1316.0.21.2.3)]
# Embedded file name: output/Live/mac_64_static/Release/python-bundle/MIDI Remote Scripts/Push2/track_selection.py
# Compiled at: 2022-01-27 16:28:16
# Size of source mod 2**32: 12771 bytes
>>>>>>> d4a7b269eef325b60d6e8b8cc6298fd52c04fa34
from __future__ import absolute_import, print_function, unicode_literals
from functools import partial
import Live
from ableton.v2.base import EventObject, ObservablePropertyAlias, const, depends, flatten, listenable_property, listens, listens_group, liveobj_changed, liveobj_valid, nop, old_hasattr
from ableton.v2.control_surface import find_instrument_devices
from ableton.v2.control_surface.components import ItemProvider, RightAlignTracksTrackAssigner, SessionRingComponent
<<<<<<< HEAD
from ableton.v2.control_surface.components.view_control import TrackScroller as TrackScrollerBase
from ableton.v2.control_surface.components.view_control import ViewControlComponent as ViewControlComponentBase
=======
import ableton.v2.control_surface.components.view_control as TrackScrollerBase
import ableton.v2.control_surface.components.view_control as ViewControlComponentBase
>>>>>>> d4a7b269eef325b60d6e8b8cc6298fd52c04fa34

Failed code section in channel strip component

There appears to be a decompilation error in the 11.1 channel strip component, which results in broken syntax.

A long stack trace appears in the file, beginning with:

    def _arm_value--- This code section failed: ---

 L. 412         0  LOAD_FAST                'self'
                2  LOAD_METHOD              is_enabled
                4  CALL_METHOD_0         0  '0 positional arguments'
                6  POP_JUMP_IF_FALSE   202  'to 202'

 L. 413         8  LOAD_GLOBAL              liveobj_valid
               10  LOAD_FAST                'self'
               12  LOAD_ATTR                _track
               14  CALL_FUNCTION_1       1  '1 positional argument'
               16  POP_JUMP_IF_FALSE   202  'to 202'
               18  LOAD_FAST                'self'
               20  LOAD_ATTR                _track
               22  LOAD_ATTR                can_be_armed
               24  POP_JUMP_IF_FALSE   202  'to 202'

The full error is here:

def _arm_value--- This code section failed: ---

Thanks!

An outcry for help from a former Push 1 owner

Hi :) this is a very sad former Push 1 owner, who purchased an AkaiPro Force six months before Ableton Push 3 was released.

Sadly I came to realize that the Force control surface Script (perhaps even the sysex stuff) has been nerfed by Akai/Ableton on purpose, so that the Push 1/2 market still has the upper hand in DAW control, while them and Akai were working on the Push 3 behind curtains, with no announcements to people who were looking for standalone Ableton Push and purchased the Force at full price, with only gift being a 50% off code for mpc sample packs, no synths/plugins -_-

Stuff missing is: drum rack mode, sequencer, scale mode and note mode. All these features are there in standalone mode, but in Ableton Control Mode they were taken out. Since we know the code has been there on the Akai/Ableton partnership since the Push one, it is safe to assume the functionalities were stripped on purpose.

The pad matrix has been basically limited to be fixed to clip launching, when controlling Ableton, which requires a the Live Contol mode to be activated anyhow to work as a controller. The device has step sequencing for external hardware.... Can accept also midi in from the USB-A ports if I read the most recent changeover right. I wish I could use this like the far less expensive Push 1, completely without having to use another controller for note input or for basic rhythm patterns.

I can link you to all resources I know and people who know the internals, could give you SSH access to the device if needed, and integrated screen capture seems to be feasible as well.

Have checked the usual suspects, nativeKontrol, Isotonik. They have done something for the Akai Fire but not for the Force. Only thing they did for the Force was while utilizing a second piece of hardware in parallel. I do have midi to USB somewhere, it's crazy that Akai opted for Network Integration of the hardware as a controller. Midi via supplied USB connection does not seem to be an option, driver/board wise.

People have root access on it and are able to execute code... But no owner is as much of an Ableton Push fanatic as I am.

Been years since I wrote proper stuff in python and this requires a ton of internals knowledge that I do not have the time to obtain, juggling between multiple jobs.

Best wishes... By the way latest Ableton changelog a couple of days ago mentions Script updates.

akai apc64

hello, i pull rrequest herre to add the akai apc 64's script if possible :D great conntroller <with bad software i have to do something

Questions re decompilation

Hi,

  1. how do you get the docstrings? When I decompile, there are no docstrings whatsoever?
  2. A couple of decompilations fail (mostly Novation, but also some control_surface stuff. Which decompiler do you use?
  3. Ableton ever had a problem with you publishing? Probably different for betas?
  4. I (mostly successfully) decompiled live 11.02 using uncompyle6, interested?

SyntaxError in __init__.py line 1

sorry, I know very little about Python (but not new to programming) but I never got any of the scripts to run in Ableton.

The ones I tried now give me a syntax error at line one in init.py.

<<<<<<< HEAD

What is that supposed to mean, do I need to edit the files before they will 'compile' in Ableton?

Thanks

error using in __init__.py in Push2 folder

First of all thanks for your amazing work.

When replacing the init.pyc in the MIDI Remote Scripts/Push2 folder, using your init.py, it does not start, there is a RemoteScriptError. Here the logfile:

2022-05-05T23:36:08.127872: info: RemoteScriptError:   File "C:\ProgramData\Ableton\Live 11 Suite\Resources\MIDI Remote Scripts\Push2\__init__.py", line 22, in create_instance
2022-05-05T23:36:08.128066: info: RemoteScriptError:     
2022-05-05T23:36:08.128114: info: RemoteScriptError: root = Root(sender=Sender(message_sink=(c_instance.send_model_update),
2022-05-05T23:36:08.128154: info: RemoteScriptError: 
2022-05-05T23:36:08.128197: info: RemoteScriptError: AttributeError
2022-05-05T23:36:08.128236: info: RemoteScriptError: : 
2022-05-05T23:36:08.128276: info: RemoteScriptError: 'MidiRemoteScript' object has no attribute 'send_model_update'

I run Live 11.1.1 on Windows 11. Lot of 1s here ;-)

This seems to be a general problem with Live 11.1.1. I decompiled the init.pyc with uncompyle6 and also decompyle3. Both return the same py-file that is in this repository.

Any idea why this is? I want to get ubermap to work on my machine, but the init.py in that repository is pretty much the same as yours except for two lines.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.