Help with workflow for skinning

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
Balinus Offline
Skilled Skinner
Posts: 1,118
Joined: Jul 2011
Reputation: 19
Location: Montréal
Post: #1
Hello!

I have a question about the workflow that is used to maintain and develop a skin.

I have 2 objectives :
  • Set up a repository which will be updated with svn
  • Develop locally the skin

Right now, I understand how to develop the skin locally, by just using a text editor and then "svn commit", etc... The skin repo is then composed of the usual 720p directory, media, etc....

My problem comes when I try to figure out how to set up the repository that could be used inside XBMC, where the skin would be updated automatically. By looking at Hitcher and Pecinkos repository, the skins are zipped inside their own directory.

So, I guess my question is how do you develop locally (i.e. text editor), then create a zip file (through the use of svn command?) and then commit ("svn commit") this zip file to your repository?

Thanks!

edit - Also, how do one create an addons.xml.md5 ? Is there a command?

edit 2- Alternatively, could the skin in the repos for XBMC be with the usual skin directory layout, not in a zip file?
(This post was last modified: 2013-02-19 01:47 by Balinus.)
find quote
pecinko Offline
Donor
Posts: 3,671
Joined: Dec 2008
Reputation: 48
Location: Prague / Belgrade
Post: #2
Yes basically as you said, I develop locally, make a ZIP when finished and upload it to repo. I don't use SVN.

My skins:

Amber
Quartz

find quote
Jezz_X Offline
Team-XBMC Skinner
Posts: 5,284
Joined: Jun 2006
Reputation: 57
Location: Earth
Post: #3
As much as I hate to say it TheUni was right, I prefer GIT these days when developing skins because it basically lets you have a local repository on your PC with all the changes committed locally and separated and being able to be reverted (undo) one at a time or all together. If you decide later you don't like something.

You can even "branch" your skin of locally do some real crazy stuff to it while keeping the original "master" version untouched, then either merge the changes back into master or dump the whole lot. All locally on your PC.

Then when your ready you can push it somewhere on the web like github.

This is how I maintain the PVR versions of my skin I have the Master branch which is the main skin in the eden repos and then a pvr branch that has the changes I need for pvr and every time I push a new version to eden I merge all the changes I did from master into the pvr branch. And its pretty much all auto and I don't have to worry about any of it none of this pesky copy and paste stuff then guessing where to put it git knows Smile
find quote
Jezz_X Offline
Team-XBMC Skinner
Posts: 5,284
Joined: Jun 2006
Reputation: 57
Location: Earth
Post: #4
P.S you don't use zips in your svn/git repo you use the original images the zip files are just for people too download like this https://github.com/JezzX/skin.pm3-hd
find quote
Hitcher Offline
Skilled Skinner
Posts: 10,269
Joined: Aug 2007
Reputation: 80
Location: Eastleigh, UK
Post: #5
I use a batch file for creating the skin folder (with Texture.xbt) and changelog.txt.

Here's XeeBo's -

Code:
@echo off
COLOR 02
ECHO ------------------------------
echo Creating xeebo Build Folder
rmdir BUILD /S /Q
md BUILD

ECHO ------------------------------
ECHO Creating XBT Files...
CALL media\TexturePacker.bat

ECHO ------------------------------
ECHO Copying XBT Files...
xcopy "media\*.xbt" "BUILD\skin.xeebo\media\" /Q /I /Y

ECHO ------------------------------
ECHO Cleaning Up...
del "media\Textures.xbt"

ECHO ------------------------------
ECHO Building Skin Directory...
xcopy "720p" "BUILD\skin.xeebo\720p" /E /Q /I /Y
xcopy "colors" "BUILD\skin.xeebo\colors" /E /Q /I /Y
xcopy "fonts" "BUILD\skin.xeebo\fonts" /E /Q /I /Y
xcopy "sounds" "BUILD\skin.xeebo\sounds" /E /Q /I /Y
xcopy "language" "BUILD\skin.xeebo\language" /E /Q /I /Y
xcopy "*.xml" "BUILD\skin.xeebo\" /Q /I /Y

copy *changelog.txt "BUILD"
copy *fanart.jpg "BUILD\skin.xeebo\"
copy *icon.png "BUILD\skin.xeebo\"
copy *License.txt "BUILD\skin.xeebo\"
copy *changelog.txt "BUILD\skin.xeebo\"

ECHO ------------------------------
ECHO Removing SVN directories from build
FOR /R BUILD %%d IN (SVN) DO @RD /S /Q "%%d" 2>NUL

echo Build Complete - Scroll Up to check for errors.
echo Final build is located in the BUILD directory
pause

I then ZIP up the skin folder (note: must be ZIP) and add the revision number to them (ie skin.xeebo-3.0.0.zip and changelog-3.0.0.txt). [This can probably be done through the batch file but I don't know that much.]

Just run something like Little MD5-Creator on the addons.xml
find quote
Jezz_X Offline
Team-XBMC Skinner
Posts: 5,284
Joined: Jun 2006
Reputation: 57
Location: Earth
Post: #6
heh I went a little more generic and advanced I guess than that hitcher my folder layout looks like this
[Image: 10eeuu0.png]
where each one of the ticks is the git a separate git repo https://github.com/JezzX
and the texturepacker dir holds the exe files to make the xbt.

The shortcuts like "Build PM3.HD" is a shortcut to build.bat with the folder name passed as a paramater eg:
[Image: 15mfiw5.png]
but you could easily type "BuildSkin.bat PM3.HD" at the command line and it would do the same, I'm just lazy and do the double click in windows Smile

And anyway in the end out pops a folder inside "BUILD" with the compiled skin

here is the bat file
Code:
@echo off

Echo .git>exclude.txt
Echo %1\media>>exclude.txt
Echo %1\themes>>exclude.txt

if exist BUILD\%1 rmdir BUILD\%1 /S /Q
md BUILD\%1\media\

ECHO ----------------------------------------
Echo Building main skin XBT
ECHO ----------------------------------------
START /B /WAIT TexturePacker\TexturePacker -dupecheck -input %1\media -output BUILD\%1\media\Textures.xbt

ECHO ----------------------------------------
Echo Finished building main skin XBT
if exist %1\themes (
    Echo Building theme skin XBT Files
    ECHO ----------------------------------------
    for /f "tokens=*" %%f in ('dir /b/ad %1\themes') do START /B /WAIT TexturePacker\TexturePacker -dupecheck -input %1\themes\%%f -output BUILD\%1\media\%%f.xbt
    Echo Finished Building theme skin XBT Files
)
ECHO ----------------------------------------
Echo Copying other files
ECHO ----------------------------------------

for /f "tokens=*" %%c in ('dir /b/ad %1') do xcopy "%1\%%c" "BUILD\%1\%%c" /Q /S /I /Y /EXCLUDE:exclude.txt
for /f "tokens=*" %%c in ('dir /b/a-d %1') do copy %1\%%c "BUILD\%1\%%c"

del exclude.txt
pause
find quote
Balinus Offline
Skilled Skinner
Posts: 1,118
Joined: Jul 2011
Reputation: 19
Location: Montréal
Post: #7
Wow, nice posts guys! I think this kind of information should be more visible on the forums or the wiki. The workflow of a project can be hard on newcomers. I've spent 3-4 days just to learn all the small technical steps needed to publish code (through svn in my case) and now I see that some of you don't even use these tools!

Having this information could be an incentive to some people that are not confident on this kind of matter.

So much to learn before even beginning to do some small skinning! When I complete my workflow, I'll post what I do! I'm pretty sure I'll be less advanced than what you guys do.

By looking at your scripts, it seems that you all develop on Windows right?

Thanks again! That's useful information imho.
find quote
pecinko Offline
Donor
Posts: 3,671
Joined: Dec 2008
Reputation: 48
Location: Prague / Belgrade
Post: #8
Balinus Wrote:By looking at your scripts, it seems that you all develop on Windows right?

Black and myself are on OS X. Feel free to ask if you have any platform specific questions, but it does not matter really.

Well almost since texture packer can not be used as on Win platform Sad

My skins:

Amber
Quartz

find quote
Martijn Offline
Team-XBMC
Posts: 10,272
Joined: Jul 2011
Reputation: 154
Location: Dawn of time
Post: #9
pecinko Wrote:Well almost since texture packer can not be used as on Win platform Sad

Hmm i thought Jeroen used it on windows.

Also when building the win32 version it does use the texture packer for the confluence skin

Always read the XBMC online-manual, FAQ and search the forums before posting.
Do NOT e-mail Team-XBMC members asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting, make sure you read this first

For your mediacenter artwork go to
[Image: fanarttv.png]
(This post was last modified: 2012-03-09 16:46 by Martijn.)
find quote
pecinko Offline
Donor
Posts: 3,671
Joined: Dec 2008
Reputation: 48
Location: Prague / Belgrade
Post: #10
pecinko Wrote:Black and myself are on OS X. Feel free to ask if you have any platform specific questions, but it does not matter really.

Well almost since texture packer can not be used as on Win platform Sad

Martijn Wrote:Hmm i thought Jeroen used it on windows

I should have said "Well almost since texture packer can not be used on OS X in same way as on Win platform"

i.e. you have to DL 5GB of developers tools and compile whole XBMC in order to be able to use it.

My skins:

Amber
Quartz

find quote
Balinus Offline
Skilled Skinner
Posts: 1,118
Joined: Jul 2011
Reputation: 19
Location: Montréal
Post: #11
I guess Texture Packer doesn't work well under Linux. (?). edit - There is : http://www.texturepacker.com/texturepack...ast-a-bit/

Anyway, for now I'm more a coder than an artist. My short-term aim is to slowly learn skinning through maintaining igotdvds's Shade skin and update it correctly for Eden.
(This post was last modified: 2012-03-09 17:49 by Balinus.)
find quote
pecinko Offline
Donor
Posts: 3,671
Joined: Dec 2008
Reputation: 48
Location: Prague / Belgrade
Post: #12
Balinus Wrote:I guess Texture Packer doesn't work well under Linux. (?). edit - There is : http://www.texturepacker.com/texturepack...ast-a-bit/

It does, but (AFAIK) same rule apply as to OS X - you'll need to compile XBMC to get to it. Not artist friendly in any way, but that's how it stands ATM.

My skins:

Amber
Quartz

find quote
BigNoid Offline
Team-XBMC Member
Posts: 2,923
Joined: Jul 2010
Reputation: 90
Location: Below sea level
Post: #13
Compiling is a piece of cake if you follow the included readme files.
find quote
pecinko Offline
Donor
Posts: 3,671
Joined: Dec 2008
Reputation: 48
Location: Prague / Belgrade
Post: #14
Big_Noid Wrote:Compiling is a piece of cake if you follow the included readme files.

It might be easy (though I wasn't able to set up environment on OSX last time I tried) but it sure isn't convenient at all.

My skins:

Amber
Quartz

find quote
BigNoid Offline
Team-XBMC Member
Posts: 2,923
Joined: Jul 2010
Reputation: 90
Location: Below sea level
Post: #15
Jezz_X Wrote:This is how I maintain the PVR versions of my skin I have the Master branch which is the main skin in the eden repos and then a pvr branch that has the changes I need for pvr and every time I push a new version to eden I merge all the changes I did from master into the pvr branch. And its pretty much all auto and I don't have to worry about any of it none of this pesky copy and paste stuff then guessing where to put it git knows Smile

So you're saying that we shouldn't add pvr xml's to the skins in the official repo?
find quote
Post Reply