

Skins Pack 1 for Clipmax v1.2.0

===============================




This pack of 3 alternate skins may not do or look like much, but it's a showcase and it proves a point. While Clipmax itself is not a very interesting product to skin, it did teach me a lot about the whole process which might come in handy sometime in the future...



The way Clipmax is currently skinned is not very intelligent, you can swap out a couple of pictures and that's it. But I'm sure I'll find the time to extend the skinning functionality further. :)







Wot skins?

==========




Skins are "alternate appearances" for programs or plugins, you can either use images by others to pimp your Clipmax installation, or you can create your own and help others individualise theirs.



Clipmax currently contains a default skin, it's pre-loaded and can't be altered, at least not without hacking its resources. But why go that far, when all you need to do is copy a couple of files to a special location, and the plugin deals with everything from there on automatically.







Hows dat?

=========




So the idea is that you have one certain folder on your hard drive, this folder contains several sub-folders with all sorts of skins or individual GUI elements. You copy (or symlink) either entire skins or single elements out of those sub-folders into that special root folder until you have your "Frankenskin" ready.



When Clipmax opens, it will sniff through that root folder and treat itself to the new looks that you put together for it. You won't even have to restart your host to see the changes, just close the plugin GUI and re-open it.



On Windows, that special directory is here:


	C:\Users\YOUR_USERNAME\AppData\Roaming\Rob Chokehold\Clipmax\Skins\



And on OSX, it's here:

	
Macintosh HD/Users/YOUR_USERNAME/Library/Application Support/Rob Chokehold/Clipmax/Skins




So if you want to change the background and the knobs, all you need to do is copy a "faceplate.png" and a "knob.png" with correct dimensions and pleasing looks into that special Skins folder, like so:



	C:\Users\YOUR_USERNAME\AppData\Roaming\Rob Chokehold\Clipmax\Skins\faceplate.png

	C:\Users\YOUR_USERNAME\AppData\Roaming\Rob Chokehold\Clipmax\Skins\knob.png



...and when you next open Clipmax, it will look different.


If you put those resources into subfolders, like so...


	
C:\Users\YOUR_USERNAME\AppData\Roaming\Rob Chokehold\Clipmax\Skins\shiznat\faceplate.png
	
C:\Users\YOUR_USERNAME\AppData\Roaming\Rob Chokehold\Clipmax\Skins\shiznat\knob.png



...then Clipmax will *not* find those images there. You need to copy them up one level to the \Skins\ folder first or create shortcuts/symlinks there (Mac: ln -s ./shiznat/faceplate.png etc.) before it will be able to find them.



Got it?







Qwel, tuts plz?

===============




I have included a "template" skin folder with this pack that contains one version of all skinnable elements on the GUI, so you should be able to find out all about the various dimensions and formats on your own.





For the lazier among you, here's a list of all currently supported GUI resources:



Background:	faceplate.png		150*525px

Knobs:		knob.png		60~80px wide, square frames, vert stitched

		knob_pregain.png	60~80px wide, square frames, vert stitched

		knob_ceiling.png	60~80px wide, square frames, vert stitched

		knob_postgain.png	60~80px wide, square frames, vert stitched

AGC switch:	switch_agc_on.png	41*41px, single square frame

		switch_agc_off.png	41*41px, single square frame

CUT switch:	switch_cut_on.png	41*41px, single square frame

		switch_cut_off.png	41*41px, single square frame

SOF switch:	switch_sof_on.png	41*41px, single square frame

		switch_sof_off.png	41*41px, single square frame

RUF switch:	switch_ruf_on.png	41*41px, single square frame

		switch_ruf_off.png	41*41px, single square frame

Clipping LED:	clipping_led.png	25*6025px, square frames, vert stitched
		clipping_led_off.png	25*25px, single square frames





The knobs will react "rather kindly" to odd source material. Other elements like the LED or other buttons will probably screw up the entire GUI behaviour if you get them wrong, so study the "template" skin well.



I know it's overkill, but my buttons (and the LED) have 241 stitched images. Most of the values range in multiples of 24, so having 120 in either direction seemed like a smooth idea. Plus there needs to be a zero position in the middle which isn't possible with even numbered image strips.



In future versions, I hope to be able to implement a "skin config file" where you can specify the number of frames per stitched image -- but for now, it's 241 frames.



Knobs are both skinnable all at once as well as on their own. If you supply just one knob.png, then Clipmax will use that for all knobs. You then can (but don't have to) supply all knob_pregain/knob_ceiling/knob_postgain PNGs or just individuals, those present will replace the knob.png.



The version number is dynamically printed onto the background, and the website link in the top left corner is also not skinnable.







Nut moar?

=========




I might be extending the functionality of this plugin when I find the time or inspiration, so more tweakability will probably be added along the way. But let's first see how this round goes.




Most of all - have fun.


I hope you can find use for this little experiment of mine. :)



Cheers,

Rob
