A 'real' "My Songs"

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
keiths Offline
Junior Member
Posts: 4
Joined: Feb 2005
Reputation: 0
Location: USA
Post: #1
few things:

1. currently the "my songs" window in xbmc really behaves more like a "file explorer" type window than a true "my songs" type window. i, personally, would prefer something more along the lines of how "my songs" behaves in ms mce (i.e. just one big list of all the songs you have with ability to sort by song title or artist). so first question is: is this ability already in xbmc and maybe i've just been missing it?

2. if it's not already in xbmc, would anyone else be interested in having something like this?

3. perhaps there is a reason that this behavior is not already in xbmc? (i.e. perhaps such a long list would just be too resource intensive? or perhaps it just wasn't ever pursued since the current "my music" windows along with the "search" feature already provide a good deal of this functionality?)


for the sake of "completeness", it does seem like a "real" my songs window would be a nice addition (unless, of course, there are resource issues that would make it infeasible, etc.).

if there is an interest, i would be willing to volunteer to take a stab at adding a "true" my songs window and/or help in any other ways (i.e. testing, ideas, etc.) if someone else wanted to implement it.


ps. i posted this in "development" rather than "feature requests" since i am offering to "develop" this functionality if desired. if this was not the right forum to post in, please accept my appology and move appropriately.
find quote
Mental Block Offline
Senior Member
Posts: 107
Joined: Oct 2003
Reputation: 0
Location: Kent, UK
Post: #2
the thread below was a discussion about making my music act more like an mp3 player (eg ipod) in the way it displays the songs you have... dunno if this would be of use for possible ideas

http://www.xboxmediaplayer.de/cgi-bin....48;st=0
find quote
jmarshall Online
Team-XBMC Developer
Posts: 25,694
Joined: Oct 2003
Reputation: 169
Post: #3
keiths:

we welcome any and all development offers Smile

sounds like a nice addition, and would be reasonably easy to implement i should say. not sure how fast you could get it to run with very large song collections - most of the work i'd say would be to get it running smoothly, given the large lists of data.

cheers,
jonathan

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


[Image: badge.gif]
find quote
keiths Offline
Junior Member
Posts: 4
Joined: Feb 2005
Reputation: 0
Location: USA
Post: #4
cool. already started working on it. and you're right. so far, everything wound up being reasonably easy to implement thanks to the clean, easy to follow code i was able to follow in the other units (i.e. mymusictop100, mymusicgenres, etc.).

so far, for the new file / class for it i've been using the name "mymusicallsongs" (obviously, being that "mymusicsongs" is already taken). and i've been using the id number of 506 since that would be the next available one in line for the mymusic stuff. obviously, this would be easy enough to change in the future, but if you'd prefer that i use a different name or id number, just let me know sooner rather than later just to save some time.
find quote
kraqh3d Offline
Retired Developer
Posts: 7,172
Joined: Dec 2003
Reputation: 4
Location: New York City, USA
Post: #5
please dont use 506. i'm in the middle of mucking with window id 506 for the ipod style navigation. (i'm actually compiling it right now!Wink and it will have an "all songs" listing.

root level is

[songs]
[artists]
[albums]
[genres]

i've been having trouble keeping track of the state so that the ".." item works correctly. hopefully, i fixed it.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
keiths Offline
Junior Member
Posts: 4
Joined: Feb 2005
Reputation: 0
Location: USA
Post: #6
i've gone ahead and uploaded what i have so far to cvs:
sourceforge.net/tracker/index.php?func=detail&aid=1121652&group_id=87054&atid=581840

for people to look at, test, comment on, etc. i look forward to any feedback.


kraqh3d,

as it turned out, i had to use 506 since the code already in the xbmc for the selectbutton determines the window id to activate based on it's position in the list and doesn't allow you to skip a number. but continue on with using 506 in what you're doing anyway (actually, you'll have no choice either) and then, when you're done, i'll change mine to 507. it's only like 3 lines of code that i would have to change anyway so it's not a big deal at all.

ps. kraqh3d, i'm really looking forward to using what you are working on. i would love xbmc navigation in my music to work like my ipod like you're doing. can't wait 'till you're done! Smile
find quote
kraqh3d Offline
Retired Developer
Posts: 7,172
Joined: Dec 2003
Reputation: 4
Location: New York City, USA
Post: #7
you're right, it based on the offset so you have to use 506. and like you said, its no big deal to change later. i think i've over complicated my situation by allowing arbitrary branching. ie:

root -> genres -> "all genres" takes you to the same place as
root -> artists

(ie, list all artists matching all genres)

this is making it very difficult to keep track of state. i worked out a binary schema but im having some trouble. as a test, i may remove the artists, albums, and songs shortcuts from the root and force it to always go through the entire tree.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
kraqh3d Offline
Retired Developer
Posts: 7,172
Joined: Dec 2003
Reputation: 4
Location: New York City, USA
Post: #8
i am so close!!! but the database schema and the version of sqlite are presenting problems. grrr...

i fixed the navigation problems. it was stupid. after further testing, i saw that everything worked when using the actual ".." item. i looked at the base class and figured out i needed to add a goparentfolder() method to my new class. doh.

unfortunately, now i'm down to a technical problem related to the database schema and sqlite. i have problems when filtering by genre in albums view.

i've tried a few things with distinct and in to work around the issue, but nothing has worked. i've spent so much time on this that i cant think straight now. i need to take a rest, and come back to it later.

(the same holds true for artists, but since i only needed a single field off the returned rows, distinct worked fine.)

if any sql guru's out there who may be reading this, please pm me. this is driving me nuts.

@keiths...

songs off the root of my nav window does exactly what you did -- it gets all songs. in my testing, it took about 30 seconds to load up the items list with 1196 songs.

i also added a fake folder called "all songs" with the intention that this will eventually be used to play everything in the
current list.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
keiths Offline
Junior Member
Posts: 4
Joined: Feb 2005
Reputation: 0
Location: USA
Post: #9
kraqh3d,

the more i think about what we are both working on, as well as re-reading mental block's post, it seems that what we are both working on have more in common than i originally thought. basically, you're ipod-style navigation will need an "all songs" window at the end anyway. (i.e. genres -> "all" -> artists -> "all" -> albums -> "all" takes you to "all songs").

i'm starting to think that my "all songs" window would actually be better as being a part of your ipod-style navigation project rather than just as a stand-alone window like i currently have it. on that note, would you be interested in working together on your ipod-style navigation project?

if you want, i could help out with the database stuff you mentioned. of the top of my head, it seems like we would need queries for stuff like "getallartistsbygenre", "getallalbumsbyartistandgenre", "getallsongsbyalbumandgenre", etc. or something along those lines. several of the other queries that would be needed are already in xbmc code so it really shouldn't be too bad.

on a side note, as far as the gui, it seems that the my artists window currently in xbmc is pretty close to what you want to do already and may serve as a good starting pointing. (i.e. in the my artists window, you can pick an artist then you will see a list of all albums by that artist as well as a list item for "all songs by selected artist"). so prolly shouldn't be too hard to expand on that to actually start at genres instead of artists and also add in an item for "all albums for selected genre", etc. just some thoughts.

let me know what you think since, like i said, i personally see more value in you ipod-style navigation project than in my "all songs" single window only project and would definately be interested in collaborating with you on it if you're interested.
find quote
kraqh3d Offline
Retired Developer
Posts: 7,172
Joined: Dec 2003
Reputation: 4
Location: New York City, USA
Post: #10
keiths,

that's exactly what i did... if you follow thru the "all" options, it presents the same listing you got.

the navigation is finally completed. charly helped me out with that final query on irc.

i took a different approach and didnt create every possible "get something by something" method in musicdatabase.cpp. i have only for each "level", and it has a bunch of if-thens to build the proper query based on the passed arguments.

its still rough. i need to fix the sorting aspects at each layer, and add the viewas settings. im just using the settings from mymusicartists for now. (artists view was my starting point. it helped me work out the details of the navigation and maintaining the correct state.)

i also stole the skin xml from mymusicartists so i need to clean that up so that the strings are correct.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
Striker Offline
Fan
Posts: 474
Joined: Mar 2004
Reputation: 0
Post: #11
all sql done then?
kraqh3d if you want pm me your queries and i might be able to give a different/better solution
find quote
jcage89 Offline
Junior Member
Posts: 48
Joined: Jan 2005
Reputation: 0
Post: #12
thanks for all the time everyone is spending on this. i think it will be a well worthwhile nut to crack!

jc
find quote
BigBellyBilly Offline
Skilled Python Coder
Posts: 900
Joined: Feb 2005
Reputation: 2
Location: UK
Post: #13
kraqh3d,

i'm (and others i suspect) are really interested in this, has there been any progress on it recently ?
find quote
vnm Offline
Senior Member
Posts: 182
Joined: Oct 2004
Reputation: 0
Location: Norway
Post: #14
(bigbellybilly @ feb. 24 2005,14:17 Wrote:i'm (and others i suspect) are really interested in this
oh yes!!! :o

I'm the one currently maintaning the Norwegian translation. Please drop me a message if you find errors or room for improvement.
find quote
jcage89 Offline
Junior Member
Posts: 48
Joined: Jan 2005
Reputation: 0
Post: #15
it sounds like a real snafu, but i'm sure they will get it done!

hey, on a different note, is it just me or does the "my music" functions have no key mapping on the regular xbox controller to fast forward/rewind music and to skip tracks back and forth?

i believe i have explored everything and cannot find a way to do it. i use xbmc in my car for audio with the logitec wireless controller.

jc
find quote
Post Reply