ATTN Abes: Bad Skin Colors

Discuss music production with Ableton Live.
clipperer
Posts: 593
Joined: Tue Jan 11, 2005 4:24 pm

Post by clipperer » Wed Dec 14, 2005 12:11 am

there should be skin editor,so we could make our own color combinations..
it isnt too hard to implement i quess

Machinate
Posts: 11648
Joined: Thu Jun 24, 2004 2:15 pm
Location: Denmark

Post by Machinate » Wed Dec 14, 2005 12:32 am

well isn't there enough interested heads with programming experience in here to make a joint effor and rev.eng. the damned thing? You can do it! :twisted:
mbp 2.66, osx 10.6.8, 8GB ram.

dm
Posts: 173
Joined: Mon May 16, 2005 5:29 am
Location: Matsumoto, Japan

Post by dm » Wed Dec 14, 2005 12:49 am

i used to think aura was the clearest, especially in pre-5 for waveforms. but its a bit weird in 5 what with the new colour appearance. im using clay now.

MrYellow
Posts: 1887
Joined: Mon Dec 15, 2003 7:10 am
Contact:

Post by MrYellow » Wed Dec 14, 2005 1:14 am

It's all there to reverse engineer, just it will take a whole bunch of trial and
error opening and closing live and the like. Don't know where the color
codes start counting from and stuff like that, and don't want to destroy my
copy of live or break any terms.

Would be much easier if someone at Ableton just prettied up the code they
use to generate the skins.

-Ben

sqook
Posts: 2430
Joined: Mon Oct 04, 2004 8:14 pm
Location: Sweden
Contact:

Post by sqook » Wed Dec 14, 2005 1:19 am

Machinate wrote:well isn't there enough interested heads with programming experience in here to make a joint effor and rev.eng. the damned thing? You can do it! :twisted:

I think that unless this project is ableton "approved" (ie, they offer us some help in the skin format), the project is going to be an uphill battle. The application writing process is cake; it's the reverse engineering process that is both a general waste of time, and skins generated from this process risk being unstable to live itself.

I've seen user contributed skins on this forum, though. If someone wants to point me in the right direction, I might be willing to take a stab at it. :)

Angstrom
Posts: 14987
Joined: Mon Oct 04, 2004 2:22 pm
Contact:

Post by Angstrom » Wed Dec 14, 2005 2:47 am

I've had a go in a hex editor, also had a quick look at it in a disasembler. I am useless at ASM though, so Ableton neednt f34r my l337 hacking prowess. I get a bit of a bad feeling opening wdasm on apps I bought, a feeling like "am I contravening some agreement or other here". Answer probably being YES!

See what you have driven us to! Ableton, give us some textual access to the variables and you will soon see skin editors galore. What have you got to lose and you might gain some better skins for your product.

Anyway...
My experiments in hex returned a few clues and a few even uglier skins than the ones we get with the app (most of which are just unusable IMO).
I managed to set my own new and hideous clip colours (the settable colours in the clip menu) alter the wave colour, etc. basically change all the colours. But without much sense. Well I have a few clues but they dont add up to much.
One thing - you dont need to restart live, just flip back and forth from your test skin to an official one. If you get a 'restart' error - ignore it and fix up your ask file it will be fine.

If anyone wants a lime green, shitty-brown and purple skin with and black text on a black background and all the menus unusable ... well I've got one for ya!


you can clearly see the variable declarations, but the value assignment doesnt translate so well (of course)

converted to ascii we get

Code: Select all

SkinManager     RemoteableColor       R  	UserFloat    G  	UserFloat    B  	UserFloat    A l p h a  	UserFloat  SkinManager   G    C o n t r o l F o r e g r o u n d  RemoteableColor    C o n t r o l D i s a b l e d  RemoteableColor    M e t e r B a c k g r o u n d  RemoteableColor    S u r f a c e H i g h l i g h t  RemoteableColor    S u r f a c e A r e a  RemoteableColor    D e s k t o p  RemoteableColor    D e s k t o p C h o o s e r S e l e c t e d  RemoteableColor    S e l e c t i o n F r a m e  RemoteableColor    C o n t r o l B a c k g r o u n d  RemoteableColor    C h o o s e n D e f a u l t  RemoteableColor   
 C h o o s e n R e c o r d  RemoteableColor    C h o o s e n P r e L i s t e n  RemoteableColor    R a n g e D e f a u l t  RemoteableColor   
 R a n g e D i s a b l e d  RemoteableColor   
 R a n g e S e n d 1  RemoteableColor   
 R a n g e S e n d 2  RemoteableColor   
 R a n g e S e n d 3  RemoteableColor   
 R a n g e S e n d 4  RemoteableColor   	 R a n g e L e f t  RemoteableColor   
 R a n g e R i g h t  RemoteableColor   	 L e a r n M i d i  RemoteableColor    L e a r n K e y  RemoteableColor    C l i p 1  RemoteableColor    C l i p 2  RemoteableColor    C l i p 3  RemoteableColor    C l i p 4  RemoteableColor    C l i p 5  RemoteableColor    C l i p 6  RemoteableColor    C l i p 7  RemoteableColor    C l i p 8  RemoteableColor    C l i p 9  RemoteableColor    C l i p 1 0  RemoteableColor    C l i p 1 1  RemoteableColor    C l i p 1 2  RemoteableColor    C l i p 1 3  RemoteableColor    C l i p 1 4  RemoteableColor    C l i p 1 5  RemoteableColor    C l i p 1 6  RemoteableColor    S e l e c t i o n P a i n t  RemoteableColor    S e l e c t i o n P a i n t S t a n d b y  RemoteableColor    S u r f a c e B a c k g r o u n d  RemoteableColor    A u t o m a t i o n C o l o r  RemoteableColor   	 L o o p C o l o r  RemoteableColor   
 S h a d o w D a r k  RemoteableColor    S h a d o w L i g h t  RemoteableColor    D i s p l a y B a c k g r o u n d  RemoteableColor    A b l e t o n C o l o r  RemoteableColor   
 W a v e f o r m C o l o r  RemoteableColor    A l e r t  RemoteableColor    C o n t r o l O n F o r e g r o u n d  RemoteableColor    C o n t r o l O f f F o r e g r o u n d  RemoteableColor    C o n t r o l T e x t B a c k  RemoteableColor    C o n t r o l C o n t r a s t F r a m e  RemoteableColor    C o n t r o l C o n t r a s t T r a n s p o r t  RemoteableColor    A u t o m a t i o n D i s a b l e d  RemoteableColor    A u t o m a t i o n M o u s e O v e r  RemoteableColor    M i d i N o t e M i n V e l o c i t y  RemoteableColor    M i d i N o t e M a x V e l o c i t y  RemoteableColor    R e t r o D i s p l a y B a c k g r o u n d  RemoteableColor    R e t r o D i s p l a y F o r e g r o u n d  RemoteableColor    R e t r o D i s p l a y F o r e g r o u n d D i s a b l e d  RemoteableColor    R e t r o D i s p l a y G r e e n  RemoteableColor    R e t r o D i s p l a y R e d  RemoteableColor   	 O p e r a t o r 1  RemoteableColor   	 O p e r a t o r 2  RemoteableColor   	 O p e r a t o r 3  RemoteableColor   	 O p e r a t o r 4  RemoteableColor    R e t r o D i s p l a y B a c k g r o u n d L i n e  RemoteableColor    S u r f a c e A r e a F o c u s  RemoteableColor    F r e e z e L a y e r  RemoteableColor   	 G r i d L a b e l  RemoteableColor  	UserFloat       V a l u e            ?€  ?RÒÓ?RÒÓ?JÊË?€  =  ¡=  o=  o?€  ?p  ?r  ?z  ?€  >ÒÒÓ>ääå>ààá?€  ="Š)= €

sqook
Posts: 2430
Joined: Mon Oct 04, 2004 8:14 pm
Location: Sweden
Contact:

Post by sqook » Wed Dec 14, 2005 3:59 am

Ok, you guys officially suckered me into reverse engineering this. I hasten to say this, but I think I understand at least part of the format now. I'm not going to post the output of this command here, because it's really friggin big, but any mac users out there might be interested to peruse the output of "hexdump -C" on one of the skins.....

sqook
Posts: 2430
Joined: Mon Oct 04, 2004 8:14 pm
Location: Sweden
Contact:

Post by sqook » Wed Dec 14, 2005 10:59 am

*bump*


After a long night of hacking, I think I have reverse-engineered the entire skin format. I will be releasing a skinning app sometime in the near future. Keep your eyes posted. :)

robin
Posts: 2141
Joined: Tue Jan 27, 2004 2:43 pm
Location: UK

Post by robin » Wed Dec 14, 2005 11:16 am

woo! good work sqook.

forge
Posts: 17422
Joined: Wed Apr 21, 2004 9:47 am
Location: Queensland, AU
Contact:

Post by forge » Wed Dec 14, 2005 12:13 pm

sqook wrote:*bump*


After a long night of hacking, I think I have reverse-engineered the entire skin format. I will be releasing a skinning app sometime in the near future. Keep your eyes posted. :)
you f)(&)*&king LEGEND!!!!

I HATE THE SKINS!!!! never found any I've liked, every songle one is NEARLY there but something about it shits me.

Even roberts home spun ones and the other contributions around arent quite right for me.

Machinate
Posts: 11648
Joined: Thu Jun 24, 2004 2:15 pm
Location: Denmark

Post by Machinate » Wed Dec 14, 2005 2:11 pm

sqook wrote:*bump*


After a long night of hacking, I think I have reverse-engineered the entire skin format. I will be releasing a skinning app sometime in the near future. Keep your eyes posted. :)
you fuckin what? Brilliant man!!! :-D
mbp 2.66, osx 10.6.8, 8GB ram.

Tarekith
Posts: 19140
Joined: Fri Jan 07, 2005 11:46 pm
Contact:

Post by Tarekith » Wed Dec 14, 2005 2:32 pm

Thanks Sqook, this was a pain on my eyes as well.

Angstrom
Posts: 14987
Joined: Mon Oct 04, 2004 2:22 pm
Contact:

Post by Angstrom » Wed Dec 14, 2005 3:13 pm

if anyone wants to have a go while they wait on Sqook's application, on PC I used ultra-edit and opened as hex, then simply do a binary file compare from the file menu which will show you the variations in the variable section between say Aubergine and calcium.
file compare will highlight the changes and you can make a copy of one, save it as "my skin" and then open Live.

change stuff in your hex editor in the appropriate places, save, then simple flick the skin menu back and forth in Live and it will re-load your skin.

as far as I could tell, within the variable value assigning section of the .ask - 3F 80, 3E 80 and 3D 80 are delineators between lines of float values, best keep them in place I found. The numbers in between those delineators relate to the assignments that are visible in the text and assignment portion toward the top of the file.

I had an idea that the numbers within the float declaration section are ASM JMP hex targets which target the lower variable values. I didnt try to narrow this down much. Although simple chopping and changing will get you some kind of results.

perhaps sqook could enlighten us further on this.

smutek
Posts: 4490
Joined: Sun Mar 02, 2003 3:30 pm
Location: Baltimore,United States

Post by smutek » Wed Dec 14, 2005 3:27 pm

bravo sqook!

sweetjesus
Posts: 8803
Joined: Wed Mar 31, 2004 3:12 pm
Location: www.fridge.net.au
Contact:

Post by sweetjesus » Wed Dec 14, 2005 5:52 pm

Angstrom wrote: Sweet jesus is the type of guy that might have some clues on this. I bet he has rummaged around in those files, you paying attention SJ ?
Hi Angstrom,

Been flying but now I'm back home I am paying close attention with frustration.

This is not the kind of shit we should have to resort to as a community. It's actually illegal to decompile any commercial app under the DMCA... thank god im in Australia.


I'll load the stuff up into UltraEdit and see what I can pick out.

Post Reply