INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Playlist: complex objective  (Read 3025 times)

alpaca

  • Recent member
  • *
  • Posts: 6
Playlist: complex objective
« on: January 26, 2008, 12:21:39 pm »

I'm new to MC and to this forum, and apologize in advance if this question has already been answered. I was not able to find an answer.

Let's suppose I have ten CDs worth of songs that I want to combine into a playlist. No problem doing that, no problem having the songs play in a random order.

However, I have listened to one of the CDs so much that the order of the songs is stuck in my head as the "right" order, and if I hear one song from that CD I want to hear the rest of the songs on the CD--and in their proper order.

So I want my playlist, which consists of the ten CDs worth of songs, to randomly mix the songs from nine CDs, but treat that tenth CD as a single unit--which is to say it should be played randomly like the other songs, but (a) it always starts with song #1 from the CD, and (b) always plays entirely through the CD in its original order.

I've tried to find this capability in other jukebox programs--WMP, MusicMatch, WinAMP--but have been unsuccessful; as far as I can tell, those other players cannot accomplish this kind of ordering. Can any of you MC users/experts tell me if it is possible with MC?

Any comments/feedback/recommendations would be most welcome; thanks to anybody who answers.

And if anybody from J River reads this post, how about you put something in the help file explaining how this is done, or that it is not possible to do?

Logged

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
Re: Playlist: complex objective
« Reply #1 on: January 26, 2008, 02:05:24 pm »

There's no automatic way to do what you're looking for. The best you can do is manually set the order for that album when you listen to it.

However, I am currently working on a plugin for Media Center that will do this for you automatically. I only just started working on it, so I have no idea if or when it will be available. I also can't say for sure what versions of Media Jukebox / Media Center it will be compatible with.
Logged

alpaca

  • Recent member
  • *
  • Posts: 6
Re: Playlist: complex objective
« Reply #2 on: January 26, 2008, 08:04:22 pm »

Thanks for the reply.

I'm glad to hear that the problem/idea occurred to somebody besides me.

If I may suggest an approach: use nested playlists. If Playlist-B is playing along handling individual songs, then all the attributes of Playlist-B apply. But when it comes to PlayList-A, then all the attributes for Playlist-A take priority and control the sequence of things until Playlist-A finishes, then Playlist-B resumes.

Just a thought....
Logged

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
Re: Playlist: complex objective
« Reply #3 on: January 27, 2008, 01:00:58 pm »

If I may suggest an approach: use nested playlists. If Playlist-B is playing along handling individual songs, then all the attributes of Playlist-B apply. But when it comes to PlayList-A, then all the attributes for Playlist-A take priority and control the sequence of things until Playlist-A finishes, then Playlist-B resumes.

Can you elaborate a little more? I've already got a framework in place to get this to work, but before I get too far down one path it would be nice to hear more about your idea in case it's a more elegant solution than the one I was working on.
Logged

alpaca

  • Recent member
  • *
  • Posts: 6
Re: Playlist: complex objective
« Reply #4 on: January 28, 2008, 12:24:33 am »

As mentioned earlier, I'm fairly new to MC and am not terribly familiar with playlists and how they work--or anything else, for that matter. It's sounds like you've given the matter some serious thought, and probably have a more fully-developed idea than me.

But here's what I was thinking.

I create a playlist called Playlist-A. It has twenty songs arranged in a particular order.

I create Playlist-B, to which I add 40 other songs.

Just routine playlist business so far.

But now, I grab Playlist-A with the mouse, drag and drop it onto Playlist-B.

Playlist-A is still Playlist-A, and it's still in the list of playlists. But also, it has been placed AS A UNIT in Playlist-B. So now, when I look at Playlist-B, I see the 40 songs I had previously placed in it, and my last entry says "Playlist-A." All of the fields on the line (in Playlist-B) where the track info goes are blank, except possibly "Duration," because none of the other fields have a single value.

Playlist-A, in other words, is now an element, a line item, in Playlist-B. All the other line items are songs, so I guess Playlist-A is a "pseudo-song." In has all the characteristics of a song/track when being processed by the playlist processor, and the user can therefore move it around within Playlist-B (to change where it plays in B). And when the user turns on "shuffle," A gets played in a random order just like any song in B.

But when it comes time to actually play Playlist-A (within B), then control is passed to Playlist-A, and the playlist processor completely ignores Playlist-B while A is playing. Playlist-A has a fixed order, like all playlists, and so is played through from start to finish; that may be five songs or 500. Only when A gets done does control pass back to Playlist-B, which plays the next song after the pseudo-song of Playlist-A.

Note that "shuffle" does not apply when playlist-A is playing within Playlist-B. If you play Playlist-A by itself, then shuffle works as expected. But if you're playing Playlist-B, and shuffle is turned on, then that shuffle mode is suspended while when Playlist-A is played. When A gets finished, regular processing of Playlist-B, including shuffle if applicable, resumes.

The PURPOSE of having Playlist-A (or many such playlists) embedded in Playlist-B is to allow the user to create one big playlist that has "randomizable" elements--all the tracks and playlists in B--combined with smaller groups of songs that occur only in a fixed order. Obviously, if I wanted all the songs to be in the same order all the time, there would be no need for these nested playlists. Equally obviously, there would be no need for them if I wanted no order; just put them all in a big list and turn on shuffle. But the need for fixed seqments within larger "shuffle-able" elements creates the need for the nested playlists.

I hope this is helpful, or at least clear. If not, please send an email to ty/at/microsabio.com. I'll be happy to continue this discussion by email or phone.
Logged

alpaca

  • Recent member
  • *
  • Posts: 6
Re: Playlist: complex objective
« Reply #5 on: January 28, 2008, 01:25:36 am »

It occurs to me that although my suggestion above covers the general case, the actual specific case that needs covering is--in probably the vast majority of cases, at least mine--that all the tracks of a given album/CD to stay together. So perhaps my approach is more inclusive than it needs to be. If there was a way to treat an album/CD as a unit (like "Playlist A" in my previous comment) within Playlist-B, then that would accomplish most of what needed accomplishing.

Or, if you want to take the very deluxe and quite brilliant approach, you could allow both other playlists AND albums/CDs as indivisible entries to a playlist--although I'm not sure how you would differentiate "regular" albums (okay to mix up) from "indivisible" albums (fixed order) when adding them to the playlist.

But of course, if you've gotten this far, I'm sure you'll figure out a way!

Logged

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
Re: Playlist: complex objective
« Reply #6 on: January 28, 2008, 08:51:51 am »

Ok, I understand what you're saying now. And that would be nice. Unfortunately, there really isn't any way for a plugin author to accomplish all of that, short of writing their own Playing Now replacement.

There is actually a way to accomplish what you're after now. When you rip a CD in MC, in the advanced ripping options you can specify that MC rip the CD to a single file. This will create a single MP3 (or whatever format you choose) and a CUE file. The CUE file stores information about the individual tracks. If you import the CUE file into MC (it will happen automatically if you use MC to rip a CD in this manner), then you will have individual tracks like you have now. But you can also import that single MP3 file, which consists of the entire album.

When you want to hear just a song or two off that album, queue up just those tracks. If you want to include the entire CD in a shuffled playlist like you mention above, then you'd queue up that one big MP3.

What I was aiming to do was to shoot somewhere in the middle. My plugin will allow you to define a set of songs. And then on a timed basis, it will check Playing Now to see if those songs are present. If so, it will re-arrange just those files so that they play in the order you specify.

Unfortunately, with this approach, it's kind of an all or nothing thing. You won't be able to have certain songs that stay in order sometimes, but then be able to shuffle them in a different time without some form of manual intervention. I'm still trying to figure out what form that should take.

What you suggest above is certainly doable, but it would mean that the user would have to abandon the built-in Playing Now in favor of this new one. And do that would mean that this replacement would have to be able to do everything the current Playing Now does. And that's unfortunately not possible from my end. Not to mention the fact that plugins get buried a level deeper than the real Playing Now.

I definitely like your idea better than the plan I have in place. Unfortunately MC doesn't expose enough of its insides to really make it practical. You've given me some food for thought, though. I'll have to think on it a while and see if there's some way I could make it work.
Logged

alpaca

  • Recent member
  • *
  • Posts: 6
Re: Playlist: complex objective
« Reply #7 on: January 29, 2008, 12:16:19 am »

I think your idea sounds worthwhile and clever. You're right, it won't exactly accomplish what I was after, but it sounds like it will be a good solution for whatever problem/objective you're dealing with. Plus, of course, the fact that it's possible to do is a big selling point...

Good luck with it's development, and thanks for the interesting discussion.
Logged

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
Re: Playlist: complex objective
« Reply #8 on: January 29, 2008, 08:49:21 am »

Last night I had the idea of using some sort of really short, silent, "marker" file. Like a half second, silent MP3, that could be included in the set of files you want to stay unshuffled. So if you wanted to make sure they stayed together, you'd make sure to include this marker file into Playing Now along with the others in the set, and my plugin would know to keep them all together. Exclude this file and they will shuffle normally. It wouldn't be a requirement of using my plugin, but it might help to achieve both goals for the interested person.
Logged

alpaca

  • Recent member
  • *
  • Posts: 6
Re: Playlist: complex objective
« Reply #9 on: January 31, 2008, 11:15:33 am »

Well, I admire your creativity in coming up with this, but I'd recommend a little caution. It seems very special-purpose and a little odd. But you know the context of your tool/add-on better than I do, so go ahead if you think it works!
Logged

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
Re: Playlist: complex objective
« Reply #10 on: February 01, 2008, 08:16:44 am »

Yeah, its weird. When I decided to build it, it was for a very specific purpose. I have a few live albums and a couple of other tracks that just blend into each other. I wanted to be able to play them in a shuffled playlist, but keep those together. But other times I knew I'd want to play just one of the songs, so I didn't want to combine them into a single file. Plus doing that means you have to remember that you need to pick that file instead of those other files.

But the question remains, how do sometimes play files shuffled and other times insure that they stick together? I don't think there is any way to do it without some sort of manual intervention. So the question is what form does that intervention take?
Logged
Pages: [1]   Go Up