Extended the .SID Music-Format support
#1
Thumbs Up 
i know sid isn't exactly a high-ranking media type but the support for sid is only limited by what you have listed as a filename/extension. there is so much more to sid than you have listed - *.sid.

yes, xbmc has sid support but there are other sid files beside *.sid; other sid files are *.mus and *.str - which are not on here.

my two cents to this problem, add those file extensions to the mix - *.mus and *.str. that's not all though. there is also another interesting point to this matter that you may like (or hate). sid was made to be in stereo with this method. here is the basic overlay:

-- filename.mus file alone (without a matching filename.sid in that directory) plays in mono since there is only 3 channels to sid.

-- however if both filename.mus and filename.sid are in the directory then they play together. mus on the left side speakers and sid on the right side speakers. they have to be played exactly at the same time (mixed at the same time) to sound correct.

that's only 1 aspect. if you listen to a sid file and don't stop it manually, it'll play silence for a long long time (until you stop the song - the silence is infinite).

solution: have it monitor the output db, if it's quiet for more than 5 seconds (or an option settable length) then go to the next song on the list. i really don't know any sid songs that have a quiet space in them for more than 2 seconds.

i know the old school fans will thank me for saying something and i am sure the q-link fans will have a ball with this as well.

thanks!

chris
Reply
#2
Big Grin 
i was one of the people who pushed hard for this format to be added to the line-up, i was very excited when i saw:

* added: a .sid codec for paplayer (commodore 64 music). based on libsidplay2+resid.

though after a few hours with tinkering i have noticed a few things that i should bring to light so you guys can add to this great medium later on.

1) .sid is not the only extension for sid music.  before the days of .sid it was .mus.  a lot of music was made in simple .mus style before .sid was built on fancy additions to make it more flexible like a mod.  i digress; there was also another extension that is left out of the mix, .str (the stereo counterpart, allowing 3 more channels of music).  libsidplay2 (ref as sidplay) is able to work with .mus and .str files just fine, just that not many people are familiar with the "q-link days" of sid.

i believe the solution is if it loads the .mus then it sees if there is a .str and loads that.  then it plays both of them, the .mus on the left channel and the .str on the right channel.  byte check the .str with the .mus to make sure it is not going too fast by using the .mus as your guide.  maybe libsidplay2 has a way to combine and play them, but i have yet to see it used and sound correct.

a few examples to help you out are:
http://www.kkwow.com/files/axel_f.mus
http://www.kkwow.com/files/axel_f.str
http://www.kkwow.com/files/axel_f.mp3 (for comparison)

2) file termination under sid is set at a timelimit, which is great for intro music that has an infinite loop.  sure, it sounds pretty, but i agree after 4 or 5 minutes it gets boring.  however, this is not the case for mus/str.  songs have a sof and an eof but sidplay somehow doesn't know how to cut at the eof and this may only be able in a real commodore 64 format.  

there is a useful link on this at sourceforge: http://sourceforge.net/docman....id=9266

here is some examples of a longer mus files:
http://www.kkwow.com/files/abbey_ro.mus
http://www.kkwow.com/files/abbey_ro.str
http://www.kkwow.com/files/huey_lew.mus
http://www.kkwow.com/files/van_hale.mus

how to combat this is easy, just do what a visualization does and watch for the db change.  if the db drops to infinite (or the lowest point, like -60 db) for 5 seconds then cut the song.  in most cases this will allow for the song to be finished and it will go to the next song.  

this doesn't solve the fact that some songs are infinite loops, but does solve the fact that some songs end at the 2 minute mark and you have to wait for the next song or press next.  maybe there can be a combination of choices of time stopping and db watching could play a part.  also, of course, the user can just press next, though some people listen to their xbox from another room, like i do.

3) directory loading of sids is slow, in fact it didn't even pop up the loading box, just stalled there with nothing functional except the music.  i had 900 sid files in a directory on the smb workgroup, which didn't help i guess, but the fact is that it did take awhile to load up.  loading mp3 directories that were vast didn't take this long.

if you want to test some more, you can test against these files below which also have mus/str and mp3 for comparison (and also are seasonably festive):
http://www.haslage.net/features/c64holiday.html

thanks for listening me out and i hope that we can have full-function sid very soon!

chris



Reply
#3
Quote:directory loading of sids is slow, in fact it didn't even pop up the loading box, just stalled there with nothing functional except the music.  i had 900 sid files in a directory on the smb workgroup, which didn't help i guess, but the fact is that it did take awhile to load up.  loading mp3 directories that were vast didn't take this long.

yeah, i'm sure 900 mp3s load fine. but again, that is totally unrelated. mp3s only needs to be listed. sids needs to be opened since there are/might be multiple tracks per file (so we can present multi-track files as a virtual directory).

Quote:thanks for listening me out and i hope that we can have full-function sid very soon!
remember. you said 'we'. so you do something about it.

my main focus has always been decent hvsc support. i think it works quite good now (you do know that you can put stil.txt and sidlist.csv in $home/albums, and then the sid tagloader will use them...) this will also use the proper playtime for sids, if the playtime is listed in one of the lists. never seen any of the other file formats, and quite frankly i'm not interested in doing any work on them either.. seing that i'm the guy responsible for most of the 'nostalgic' stuff in xbmc, don't get your hopes up... 'if you want something done right, do it yourself'
Reply
#4
(spiff @ nov. 07 2005,09:44 Wrote:yeah, i'm sure 900 mp3s load fine. but again, that is totally unrelated. mp3s only needs to be listed. sids needs to be opened since there are/might be multiple tracks per file (so we can present multi-track files as a virtual directory).
no problem there, but there is no "loading" pop-up (like for the mp3 sort) and that is what i was mentioning.  mp3 has to load id3 tags as well, so if there is a loading screen there then why isn't there one popping up for sid.  was giving you a heads up on that so when it loads sid it will give a loading screen.

(spiff @ nov. 07 2005,09:44 Wrote:my main focus has always been decent hvsc support. i think it works quite good now (you do know that you can put stil.txt and sidlist.csv in $home/albums, and then the sid tagloader will use them...) this will also use the proper playtime for sids, if the playtime is listed in one of the lists. never seen any of the other file formats, and quite frankly i'm not interested in doing any work on them either.. seing that i'm the guy responsible for most of the 'nostalgic' stuff in xbmc, don't get your hopes up... 'if you want something done right, do it yourself'
remember this saying because it will tie into my post:  give a person a fish and he will eat for a day.  teach him how to fish and he will eat for the rest of his life.

i am approaching my latter years and was there for the original sid movement in the early 80's and through q-link when 9/10 of the people reading this were not alive.  i have seen beautiful works made in sid and then i saw the new wave come in and took people like dc star & cpr, steak, michael french, bobbye, dr. j5 (rest his soul) and myself and cast them away like we are 2nd rate.  those people who feel that sid is just for the people who like the "high voltage" hard techno side of sid.  there are countless others out there who like the classics and were around to enjoy them, which goes back to my point...

i am giving you the rod and reel (with my posts and explanation of what sid is) to help you continue on your work already.  i see you found my older post, which i couldn't find originally.  remember the comment above about feeling 2nd rate?  well, that's how your post made me feel because you felt there was no need to change because you perfer one format or intention of sid over another.

(spiff @ nov. 07 2005,09:44 Wrote:remember. you said 'we'. so you do something about it.
i do want to focus on this statement because it does tie into my main point about helping out.  i have been in many consortiums in many different parts of the world.  the most recent one was for creating a international radio station program in south africa that is produced globally.  i don't own it; i am just another person on its board. when i say "we" it means that i am still apart of it and try to give the best feedback and the most in-depth answers i can come up with.  sure, i am not batting a thousand but i do my fair share to help better it, i am still on the board and i am valued trustee.  my years in producing music and radio pay off.

this does go back to xbmc and how i offer my services (or how i "do something about it").  i don't spend a few minutes typing out a quick answer to help but i invest time in the product and my response.  when you say "send us your feedback" or "we want your reports" i am one of the people who respond.  on my last response i spent about 2 hours making examples, digging in my archives and trying to help your efforts as much as i could.  i am sure that you don't get as much feedback as you did from me.

no, i don't expect kudos and i don't expect my name in lights.  that's not what i want.  i want to help, better xbmc and help you along the way.  if you are going to be a professional computer programmer or a game developer when (or if you are already, congratulations) take time to listen to feedback and criticism; if there is a new aspect to the situation that you don't know or understand then take a few minutes to analyze the product at hand.  when i was younger i didn't do that and missed many oppertunites because i didn't step up to the plate and felt my solution was the best out there.  i turned out good but i could've been much better off than where i am now.  that is why i instill my wisdom with my children and that is why i am giving some of my wisdom to you.

if you took my posts as attacks to your programming skills then please accept my apology, i did not intend any malice.  i just wanted to recapture a bit of my youth, i guess, by helping you with what i knew.  i don't pretend to know how to code because i don't.  what i do know how to do is offer advice, services and my many years of experience in the telecommunications industry.  my advice usually comes for a price but i believe in this project and i believe in what it can do and how it will branch out to the xbox 360 and be just as wonderful as it is now.  i just ask you to take a few steps back, breathe, and look at things from my point of view.  when you have done so then please reply to my post.  i would be glad to help any way i can.

sincerely,

chris

p.s. the rival of the hvsc, and the original sid archive, is located at http://www.c64music.co.uk/.  if you are a fan of nostalgia, while you are taking a few steps back, take a listen to these q-link archives.  it's a great collection from the original sid format in the 80's and 90's.  also an interesting footnote is that sid was the original "karaoke" format and there were word sheets and pictures made for that exact reason.  real karaoke came around and the fad of using sid to sing to died off soon after.
Reply
#5
Quote:no problem there, but there is no "loading" pop-up (like for the mp3 sort) and that is what i was mentioning. mp3 has to load id3 tags as well, so if there is a loading screen there then why isn't there one popping up for sid. was giving you a heads up on that so when it loads sid it will give a loading screen.

will add it. btw, mp3's don't have to load id3 tags (option in settings), that was my main point actually. but you have to load every sid to extract the number of tracks in it (i don't know the fileformat that well, could probably just read one offset in the file for a slight speedup).

Quote:i am giving you the rod and reel (with my posts and explanation of what sid is) to help you continue on your work already. i see you found my older post, which i couldn't find originally. remember the comment above about feeling 2nd rate? well, that's how your post made me feel because you felt there was no need to change because you perfer one format or intention of sid over another.

preferations really has nothing to do with this. tbh, the main problem is 'much want more' mentality, i put a lot of work into the sid stuff and the only response i got was 'add more'. it's also quite depressing to see that lazyness of most ppl reading these forums. i realize that most ppl can't code, and that is okay. but i (and even more so jmarshall) have repeatedly asked ppl to update the manual page when we help them in the forums. this has yet to happen afaik (atleast for me). not exactly very inspiring, i mean the main 'rush' of doing oss stuff is feeling like your part of something 'big', not the opportunity to do work for other ppl.

finally, as much as i personally enjoy sid, i know that the 'market' is very small, and that the invested time could probably be used for something more mainstream Smile so this has nothing with you being '2nd rate', it's just plain realism.

Quote:if you took my posts as attacks to your programming skills then please accept my apology, i did not intend any malice. i just wanted to recapture a bit of my youth, i guess, by helping you with what i knew. i don't pretend to know how to code because i don't. what i do know how to do

let me emphasize that this has nothing to do with it. i'm used to taking creative critisism of my code from my professor all the time, and i'm well aware that i'm certainly no 'champion of coding'..

as it is, the ppl actually doing coding/skinning/etc on xbmc is probably countable on two hands, while the amounts of ppl requesting features is way higher (and i bet lots of those doing the requests could easily add them themself if they got off their lazy asses..)
hence i respond with the do-it-yourself sentence once in a while, i might actually get a positive reponse (it happened on friday Smile). basically, you took a 'beating' that wasn't directed at you in special.. so if you're offended; i'm sorry.

my work has claimed most of my time lately. i have a couple of exams coming up and i'm just finishing my first time ever as a lecturer. the little time i've been able/willing to invest in xbmc lately, has been spent working on a much needed update to the rar libraries (and i've countless other small or big ideas in mind), so still, don't get your hopes up but perhaps i'll get the inspiration one day..

final comment: please realize that i sound very ranty in this post. i usually don't (i hope), but the stage was kinda set.. Smile

btw: i renamed a .mus file to .sid. atleast it plays..

spiff
Reply

Logout Mark Read Team Forum Stats Members Help
Extended the .SID Music-Format support0