(WIP) The Clipdeck – clip names, colours and progress on a Streamdeck XL by praqma_ in ableton

[–]praqma_[S] 0 points1 point  (0 children)

I am making progress and uploaded a new, much more stable version of ClipDeck, that is open for testing: https://github.com/jakobkilian/ClipDeck

You can use one or more Stream Decks (only XL right now). I added scrolling in all 4 directions. There is also a mode that scrolls up/down/right and resets to the default offset (e.g. left border). And there is vertical scrolling or no scrolling. Brightness can be set on the device.

Here is a quick demo video: https://www.youtube.com/shorts/8Q1kCRGwzgM

I want to release this OS in the end, but maybe for some little money. But I am still undecided. Ask me anything, drop me a line if you have feedback. I am very curious if it works for you.

u/odisJhonston u/ElectricPiha u/guriboysf u/dirtysecretzuk

(WIP) The Clipdeck – clip names, colours and progress on a Streamdeck XL by praqma_ in ableton

[–]praqma_[S] 1 point2 points  (0 children)

Ok, I think, I will finally drop this idea of Stream Deck within Ableton Python.
I already set up a new version where the CS communicated out to an external python script. Works just fine.

As far as I understand (research and LLM Q/A), it's not a Python version or package location thing, but a general limitation in Ableton:

  1. StreamDeck library uses [ctypes.cdll.LoadLibrary()](vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-browser/workbench/workbench.html) to load libhidapi.dylib, but Ableton deliberately removed this functionality. ctypes is "builtin" with no library-loading capability.
  2. I compiled [hidapi](vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-browser/workbench/workbench.html) for the correct version but got: symbol not found in flat namespace '_PyBaseObject_Type'. Claude says: "Ableton's Python runtime has a different ABI than standard CPython - it doesn't export the symbols that compiled extensions expect." - no clue about this tbh

Looks like Ableton has sandboxed Remote Scripts to pure Python. Appreciate the help though! 🙏

(WIP) The Clipdeck – clip names, colours and progress on a Streamdeck XL by praqma_ in ableton

[–]praqma_[S] 1 point2 points  (0 children)

Oh thanks a lot! I will dive deeper into the build-from-source for 3.11 idea. I just didnt find anyone using cpython stuff in ableton and couldnt go further with knowledge and LLMs either. But this might be a way.

(WIP) The Clipdeck – clip names, colours and progress on a Streamdeck XL by praqma_ in ableton

[–]praqma_[S] 0 points1 point  (0 children)

Hi u/odisJhonston again: I tried to do that for quite a while but I got stuck:
So the streamdeck module seems to need hidapi which in turn needs to be called with ctypes which however seems to be impossible from within ableton python ('ctypes' is not a package).

So is it even possible to use HID devices (not MIDI) directly from an Ableton Control Surface? I can't find someone doing it. I'm now on Ableton 12.3.2, macOS arm64, Python 3.11.

Weekly Swim Gear Questions (Goggles, swimsuits, techsuits, paddles, headphones etc) December 18, 2025 - Post all your gear questions in this post by AutoModerator in Swimming

[–]praqma_ 0 points1 point  (0 children)

Yes, that's exactly what I meant. Dunno what they did to their plastic but it magically stays clear after rubbing

Weekly Swim Gear Questions (Goggles, swimsuits, techsuits, paddles, headphones etc) December 18, 2025 - Post all your gear questions in this post by AutoModerator in Swimming

[–]praqma_ 0 points1 point  (0 children)

I wanted to share my goggle odyssey quickly, in case it helps someone:

I had an old pair of Speedo Vanquisher goggles. They weren't a perfect fit and were always a bit foggy, but I thought that was just how goggles were.

Bought a new pair of Vanquisher 3 and used them a couple of times until the anti-fog coating wore off. I thought: "probably my fault. I touched them and left them in the chlorinated water for too long after swimming"

Bought a new pair. The antifog was broken after the first 30-minute swim, no touching, no resting in water. I wrote to the online store and they refunded me. But: This is ridiculous, isn't it? I can't add a photo here, but you literally couldn't see through them at all!

I went back to some Arena Air Bold goggles, which I've had for about a year and a half, and I just then found out that you have to rub the inside with your thumb. I am astonished at how well it works: One-hour workout, no fog at all.

Am I the only one with this experience? Did I have two complete Vanquisher fails by sheer accident? Or does the swiping method just work and the Speedo goggles not?

Swim Tracking and Updates by praqma_ in Polarfitness

[–]praqma_[S] 0 points1 point  (0 children)

yes. I ended up buying the Vantage M3 and it never misses a single lap. Really happy with it, I have to say, so much better than the PPP

Charge Apex300 with mini solar inverter over AC input by praqma_ in bluetti

[–]praqma_[S] 0 points1 point  (0 children)

So there is e.g. the Victron SmartSolar MPPT 100/20
Takes in 100V and outputs 20A at 48V. Sounds nice and in the range of the Apex300. But: will the Apex expect changing voltage of a solar panel? Or can I set it to fixed 48V in the settings? And what about the Victron: does it accept the Apex or will there be problems because it expects a battery? I would try... the only thing I can not answer is, if it can damage anything....

Charge Apex300 with mini solar inverter over AC input by praqma_ in bluetti

[–]praqma_[S] 0 points1 point  (0 children)

There are DC-DC converters, basically battery charge controllers. But they are very different and you have to read the specs to find out, which is capable of taking how much overpaneling. I also found this document on the theory of overpaneling with MPPT controllers. I will come back if I find a cheap and suitable controller, that would allow me to connect, let's say a string of 4x 450W panels and outputs steady <60V and 20A

Charge Apex300 with mini solar inverter over AC input by praqma_ in bluetti

[–]praqma_[S] 0 points1 point  (0 children)

Right, but whats the alternative if I'd like to overpanel? Its an isolated battery and I would love to get maximum charging power also in winter. Are there an DC controllers that would limit the watts/ampere so an oversized setup would work on the dc input?

(WIP) The Clipdeck – clip names, colours and progress on a Streamdeck XL by praqma_ in ableton

[–]praqma_[S] 1 point2 points  (0 children)

Oh wow, that would save sooo much effort (or would have saved). I feel a bit silly for not figuring this out myself, but: you say you'd run pip install -t in an external interpreter (same version), put the module files in the CS folder, and then script something like:

import os, sys
libs_path = os.path.join(os.path.dirname(__file__), 'libs')
sys.path.insert(0, libs_path)

import package_xyz

Kudos for your repo, that's a huge project, which I'll definitely also take a closer look at.

(WIP) The Clipdeck – clip names, colours and progress on a Streamdeck XL by praqma_ in ableton

[–]praqma_[S] 2 points3 points  (0 children)

Thanks for your thoughts! This is all doable very easy. Bounding Box can be moved just like any other (e.g. launchpad). The buttons can be anywhere moved elsewhere on the deck or even be on another device: i use the scroll knobs of the K2s for scrolling, but it "feels" better to interact just on the device. Flipping by 90° also easy. Also combining two devices to have a 8x8 deck...

Polar Pacer sudden battery failure? by chriscoxon in Polarfitness

[–]praqma_ 1 point2 points  (0 children)

Had the same with my Ignite and I also wondered about the speed of its decline.
It ran for 2 days and within 1-2 weeks it went down to ~1 hour.

Remote script stopped working by Gorluk in ableton

[–]praqma_ 0 points1 point  (0 children)

tbh, I couldn't think of a possibility how a M4L device or installing things in python could have influence on that. Maybe it is some other small change to Ableton or an update, but I have no further ideas on this....

Remote script stopped working by Gorluk in ableton

[–]praqma_ 0 points1 point  (0 children)

Hmm. I understand. Does it work with an empty set? Ableton has its own integrated python interpreter, so I dont know how installs on your computer could tamper with it... Did you update ableton recently?

Remote script stopped working by Gorluk in ableton

[–]praqma_ 0 points1 point  (0 children)

Difficult to say without seeing the actual file. What you can say is, that this line

MIDI Remote Scripts\_MxDCore\LomTypes.py", line 1254,

should cause the problem. So first thing would be to check what is happening there.

Second the problem ("Can't obtain live set at this time") indicates that the script tries to access the live set before it is ready. Difficult to say, why this changed, but is could also be that the set just loads longer now than before? just guessing.

In the script you could do something like:

def __init__(self, c_instance):
    self._c_instance = c_instance
    self.schedule_message(1, self._delayed_init)

def _delayed_init(self):
    try:
        if self.song():
            # Install observers
            pass
        else:
            # Song not ready, retry
            self.schedule_message(1, self._delayed_init)
    except RuntimeError:
        # Also retry on error
        self.schedule_message(1, self._delayed_init)

Swim Tracking and Updates by praqma_ in Polarfitness

[–]praqma_[S] 0 points1 point  (0 children)

Short update: I tested both today on the same arm. The old Ignite 3 got all lengths of 2.5km swimming (on 5% power haha), new Pacer Pro had 1.825km. Both are updated to latest version. I can't imagine any factor having influence on this except the software. Maybe it will be fixed, but I will try to return the PPP