XBMC Community Forum
[WIP] The Paper Street Soap Company (mockups and development of a new skin concept) - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Skin Development (/forumdisplay.php?fid=12)
+---- Forum: WIP Skins (/forumdisplay.php?fid=160)
+---- Thread: [WIP] The Paper Street Soap Company (mockups and development of a new skin concept) (/showthread.php?tid=86501)



- blacklist - 2011-02-18 22:48

clock2113 Wrote:I don't know anything about scripting, but I could make source sounds...

I'd love to hear what you come up with Smile

It looks like XBMC needs them in .wav format.


- joebrady - 2011-02-19 01:37

clock2113 Wrote:If there is a page turn sound, there needs to be like 10 subtly different ones that round robin; hearing the exact same .wav file EVERY TIME would get old really fast...

Agreed

http://www.soundjay.com/page-flip-sounds-1.html


10 pretty subtle ones for ya.


- blacklist - 2011-02-19 03:44

joebrady Wrote:Agreed

http://www.soundjay.com/page-flip-sounds-1.html


10 pretty subtle ones for ya.

Nice find Mr. Brady. Thank you, Sir.

These are actually working out quite nicely.


- joebrady - 2011-02-19 03:53

I surprised myself on that find. Nod

"I really like what you're doing, great job doing it!"

Super stoked about this skin, can't wait to get a crack at it.


- blacklist - 2011-02-19 04:43

joebrady Wrote:I surprised myself on that find. Nod

"I really like what you're doing, great job doing it!"

Super stoked about this skin, can't wait to get a crack at it.

Just loaded a few in at random and they sound pretty tight. Might have to go in and drop the level on them (they seem a little loud to me) but otherwise I think these are probably what we're going with.

As far as randomizing goes... not 100% sure if we can or not, going to see what can be done with sounds.xml. We have a random number python script we use elsewhere, so I'm thinking we might be able to bring that into play to pick one of the sounds at random.


- blacklist - 2011-02-19 06:43

Just did a bunch of research in optimizing XBMC's database. Seeing HUGE improvements in speed here, so I thought I would gather the info together. Of course, this is for the MySQL database solution (which I highly, HIGHLY recommend).

Music Indexes:
ALTER TABLE SONG ADD INDEX idArtist(idArtist);
ALTER TABLE SONG ADD INDEX idGenre(idGenre);
CREATE INDEX idAlbum_idx ON song(idAlbum);
CREATE INDEX idArtist_idx ON song(idArtist);
CREATE INDEX idArtist_idx ON album(idArtist);
CREATE INDEX idArtist_idx ON exartistsong(idArtist);
CREATE INDEX idArtist_idx ON exartistalbum(idArtist);

Movie Indexes:
Movies: ALTER TABLE movie ADD INDEX ix_idFile(idFile);
TV: ALTER TABLE episode ADD INDEX ix_idFile(idFile);
(I made up that last one my self, but it stands to reason that it would work as well)

Still looking for more optimizations of the video database.


- garyi - 2011-02-19 09:16

I wish I knew what you were on about.


- blacklist - 2011-02-19 09:23

garyi Wrote:I wish I knew what you were on about.

Ha!

I'm trying to find a way to reduce the database bottleneck in xbmc to make up for loading this skin so full of python, etc. I already use MySQL as the database instead of sqlite that XBMC ships with. Running those SQL commands will create new index keys that result in a pretty healthy speed increase for database calls, therefore making the whole interface a bit snappier.

Make more sense now?


- ronie - 2011-02-19 16:08

blacklist Wrote:this is for the MySQL database solution (which I highly, HIGHLY recommend).

just wondering....why?
is MySQL faster than sqlite?

blacklist Wrote:Music Indexes:
ALTER TABLE SONG ADD INDEX idArtist(idArtist);
ALTER TABLE SONG ADD INDEX idGenre(idGenre);
CREATE INDEX idAlbum_idx ON song(idAlbum);
CREATE INDEX idArtist_idx ON song(idArtist);
CREATE INDEX idArtist_idx ON album(idArtist);
CREATE INDEX idArtist_idx ON exartistsong(idArtist);
CREATE INDEX idArtist_idx ON exartistalbum(idArtist);

Movie Indexes:
Movies: ALTER TABLE movie ADD INDEX ix_idFile(idFile);
TV: ALTER TABLE episode ADD INDEX ix_idFile(idFile);
(I made up that last one my self, but it stands to reason that it would work as well)

Still looking for more optimizations of the video database.

so one can speed things up by altering some tables?


- blacklist - 2011-02-19 16:53

ronie Wrote:just wondering....why?
is MySQL faster than sqlite?



so one can speed things up by altering some tables?

1. I do find it faster.
2. Its a heck of a lot easier to deal with from a development point of view. I use a program called HeidiSQL that lets me explore tables, build querys, etc to dig into what's going on behind the scenes.
3. Its networked, so all three of my TVs use the same database.

And yes, by altering the tables and adding an index for some of the key fields, it speeds up querys. I've seen a very noticeable change in my music and movies after executing those changes.

Plus, its extra nerdy to be running a SQL server rather than a bunch of boring flat files Smile


- garyi - 2011-02-19 19:32

blacklist Wrote:Ha!

I'm trying to find a way to reduce the database bottleneck in xbmc to make up for loading this skin so full of python, etc. I already use MySQL as the database instead of sqlite that XBMC ships with. Running those SQL commands will create new index keys that result in a pretty healthy speed increase for database calls, therefore making the whole interface a bit snappier.

Make more sense now?

Well I guess, how do I change my database?


- Advocate - 2011-02-19 19:40

blacklist Wrote:1. I do find it faster.
2. Its a heck of a lot easier to deal with from a development point of view. I use a program called HeidiSQL that lets me explore tables, build querys, etc to dig into what's going on behind the scenes.
3. Its networked, so all three of my TVs use the same database.

And yes, by altering the tables and adding an index for some of the key fields, it speeds up querys. I've seen a very noticeable change in my music and movies after executing those changes.

Plus, its extra nerdy to be running a SQL server rather than a bunch of boring flat files Smile


Blacklist I'm a bit of a MySQL n00b, can you tell me where and how I enter those commands on OS X please?


- blacklist - 2011-02-19 20:25

Advocate Wrote:Blacklist I'm a bit of a MySQL n00b, can you tell me where and how I enter those commands on OS X please?

Um, not a clue Smile

I don't know OSX at ALL myself. MySQL has a command line fuction that allows you to directly issue querys, or you may want to see if there is a graphical mysql toold (like HeidiSQL) for OSX.


- blacklist - 2011-02-19 20:28

garyi Wrote:Well I guess, how do I change my database?

http://forum.xbmc.org/showthread.php?tid=70603&highlight=nas

That thread has all the information I used to make it happen on my machine. There are a lot of knowledgable people over there who can help you if you get stuck.

A couple words of warning:

1. This is not for everyone, there is quite a bit of configuration required to make it work properly.
2. There is no easy migration tool for your existing database, so you will most likely have to rescrape your library. To make this is easy as possible, export your library to individual files (available in XBMC settings) to make the re-scrape as easy and painless as possible.

PS. Sorry for going so far off topic, let get this back to Paper Street Smile (Totally my fault, I admit)


- theuni - 2011-02-19 21:08

blacklist Wrote:Ha!

I'm trying to find a way to reduce the database bottleneck in xbmc to make up for loading this skin so full of python, etc. I already use MySQL as the database instead of sqlite that XBMC ships with. Running those SQL commands will create new index keys that result in a pretty healthy speed increase for database calls, therefore making the whole interface a bit snappier.

Yikes. I'm coming into this conversation late, and admittedly breaking the rule by not reading the entire thread first, but I feel like I should chime in here. The fact that the skin is that heavy and loaded with scripts is troublesome in terms of the official repo. I really hope you're planning to submit the skin there when it's finished, it looks beautiful so far!

Looking at the download numbers, I would hope that all skinners would target our repo, it gives a massive amount of exposure.

So, could you enlighten me as to whether you are including scripts with the skin, or if you're using other scripts from the repo? I'd like to get a dialog going to avoid any confusion later.

Keep up the good work!

TheUni