I wondered if there were any kids out there savvy enough with Python to help me do a few edits the the existing APC40 script.
I was thinking it would be neat to split the APC40’s clip launch grid in two, and have two selection boxes. You could move the left hand 4x5 clips with the arrow keys, and the right by holding shift and also using the arrow keys.
So yeah, if anyone has an idea of how to achieve this, or has actually done that I’d love to find out.
It’s complicated, I have not been savy enough to do any major edits. HOWEVER, Hanz Pertov’s blog is a good place to get some info. He has like 4 pages of info on getting started with remote scripting using an APC40. Also he has posted decompiled scripts for the APC40.
Do you have the code? Those are compiled binaries and aren’t really all that editable. I don’t think I have a python decompiler around, and I’m busy enough that I don’t feel like looking for one. I think I remember what you want being possible…but I don’t have the time this week to spend all my time finding the pieces.
Nah…I’m just doing a lot of stuff this week. IIRC, it’s not terrible code to read. I used to have Will Marshall’s code (and might somewhere). But I should be able to tell you if it’s possible. I don’t own an APC40, though, so I’m not sure about testing it.
Plus, I’ve been half curious about adding a red box to my LPD8 if I decide to incorporate Live at any point. And that code is the easiest place to start…just been too lazy to find it on my own.
pretty interesting the ableton remote scripting functionality. may actually be the thing that makes me finally upgrade to live8 - to be able to mess about with this stuff. only ever really tinkered with python, seems pretty straightforward as far as languages go but i wish it used brackets instead of indenting
ya im trying to get a simple red box in ableton for my UC-33…just so i know what 8 tracks I am controlling with the faders and mouseless navigation would be cool to
would anyone like to help me out? sorry if I am thread jacking
Straightforward is not what I’d call it. I remember adapting some code I wrote for a netsec class (OTP decryption) to turn in for an actual python class……and half the variables ended up with empty array indexes after them. I changed the implementation, hoping to make it simpler to read……and I still have no idea where they were coming from.
I wish it were strongly, explicitly typed, used brackets, and, well…basically was c++. But it’s fine for what it is.
i did say it only seemed straightforward maybe i’ll realise more how good/bad it is once i upgrade to live8 and try some remote scripts coding. i do much prefer C-like languages. most of my time has been spent in C/C++, Perl and Javascript tho these days a lot on PHP too (which isn’t really all that bad… maybe…)
i’m a big fan of Perl tho so i can appreciate python not being strictly typed. always fancied trying to get into either ruby or python a bit just never had the reason or motivation for it.
Same here. Had to do it for one class and I figured using it for something completely different would be a good way to learn it so I didn’t have to think in there.
I’m a huge fan of C++, Perl, and Haskell. But, it seems like all I do is Java.
what i’ve seen of haskell looks cunning - but i’ve never used it. of the more esoteric languages i’ve used i guess are ML, LISP and Prolog. ML is the only functional language i guess i’ve used at all…
as for java… meh have a real loathing for it for some reason. i did have to do quite a bit of java+jsp work a long time ago - never again tho…
Java sucks because it makes you basically vomit up crap tons of code to do really basic things because of the ways it handles inheritance and organization.
Haskell is awesome…really similar to Lisp in a lot of ways. And really straightforward for a lot of things if you understand set theory. In some ways Haskell is to set theory as Lisp is to lambda calculus. The canonical “Haskell is awesome” example is the merge sort…it’s 3 lines. And it reads like you were defining the sort as two sets that are applied recursively plus one line to restrict the input to ordinals and give it a name.
lisp was a lot of fun but only used it at uni apart from some emacs stuff, but i’ve always been a massive fan of vi over emacs anyway. never use any kind of integrated coding environments. all i need is a ‘screen’ session over ssh, vim in one and one or two for testing. always loved the basic gdb for debug.
must admit my mind is a bit vague these days on set theory and lambda calculus. my degree was in maths with a sprinkling of computing chucked in for good measure. but it’s been a while…
chatting about this stuff does make me want to have a decent look at haskell tho, plus there’s an implementation of perl6 written in it called plugs (had to google the name ). perl6 would have been awesome but feels almost like vapourware now - or at least maybe never production ready and/or going to have mass appeal. it has some very cool features tho from what i’ve read.
vim fan here to. I used emacs for a long time…mostly because OS X responds system-wide to the basic emacs movement commands and because every time I saw a professor using vim in class as a demo, he was just futzing around and never getting anything done.
Then I had a group project with someone who actually knew how to use it.
Now, I use vimperator in firefox. And I don’t remember the last time I used an IDE. Still haven’t found a good completion plugin for vim, but…meh.
I should really get around to looking at that code for the apc. Unfortunately, it seems like all I’m dong is coding this week…and when I do choose to zone out instead of working more……more coding is the last thing I want to do.
cool i’ve been a die hard vi fan for over twenty years now - i can just do stuff so much faster in it. frustrates the hell out of me when i see people taking forever using their mouse and cutting and pasting and stuff when i know some ranges or regex stuff in vi would be so much quicker. steeper learning curve tho i guess.
sure ive read about this - maybe from this forum. i only use chrome these days tho apart from website testing.
i know the feeling midimasher is fun for me tho as i don’t get a chance usually to use C++ in my work these days and LUA is just really fun to code in. hadn’t used it before looking for a lightweight embeddable language - and think it’s pretty cool for what it is. no brackets in LUA but at least it doesn’t depend on your indent level either it’s also handy that stuff like “function blah() end” is actually only syntactic sugar for “blah = function() end” which is ideal for creating dynamic functions at startup time in midimasher.