Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Thank You for your continued support and contributions!

+  Rockbox Technical Forums
|-+  Rockbox General
| |-+  Rockbox General Discussion
| | |-+  Why does playlist insert replace the current playlist when stopped?
« previous next »
  • Print
Pages: 1 [2] 3 4 ... 6

Author Topic: Why does playlist insert replace the current playlist when stopped?  (Read 25352 times)

Offline cc

  • Member
  • *
  • Posts: 51
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #15 on: October 02, 2007, 04:41:53 AM »

I agree with fml2. The confusion stems from the current side-effect of stop - a side effect that no-one would guess happened. Clearing the playlist on stop might be easier to understand, but it is also a side-effect and I think it would be pretty annoying. As a user the only difference I see between pause and stop is that the player will shut itself off when stopped, but not when paused. This is fine by me.

All the confusion could be removed by having the same menu whether you are stopped or not:

 - Insert Next
 - Insert Last
 - Insert Shuffled
 - Queue Next
 - Queue Last
 - Queue Shuffled
 - Replace
 - Replace Shuffled

As fml2 says the only slight difference in behaviour while stopped would be that Replace would not leave the current song queued. But people wouldn't have to know that to use it effectively.

After adding something, two more menu items would be shown "Insert Again" and "Queu Again" which would insert/queue after whatever had been added previously.

This is easier to understand - you can figure it out just be looking at the menu*. And the code would be shorter and cleaner.

I would do a patch for this if I thought there was any chance it would be accepted.

(* well except for knowing the special significance given to word "Queue", maybe that could be replaced with "Play Once")
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #16 on: October 02, 2007, 04:54:50 AM »
Quote
If you're in STOP, there is no current song, so the list will contain just the inserted song.
This contradicts your earlier arguments that "Stopped" playlists still exist. While the song isn't playing, pressing "Play" will resume in the middle of the song, so it's still the "Current" song, at least as much as the stopped playlist is the "Current" playlist, so this removes any logical consistency you think you're earning.

Seriously, if you've read the manual all this behaviour should be fairly clear. If it's not explained clearly in the manual, the solution is to clarify it, but "Stop" removes the playlist from memory, and this IS IMPORTANT, both functionally (other things can use the memory, such as plugins) and conceptually (Insert creates a new playlist).

It is "Stop", the playback engine is shut down. This is the difference between it and "Pause." It's like quitting Winamp, the music code is no longer running. While "Pause" is like clicking the Pause key in winamp. The program's still running, and still maintains control of memory, you just don't hear audio.

I'm not sure why this is so conceptually confusing...

If you don't want the playlist cleared, why don't you just Pause? I mean, I don't see why both "Pause" and "Stop" should be 100% functionally identical except whether they leave the WPS: If this is true, why even HAVE two different buttons?
Logged

Offline fml2

  • Member
  • *
  • Posts: 157
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #17 on: October 02, 2007, 05:05:04 AM »
Quote from: Llorean on October 02, 2007, 04:54:50 AM
Quote
If you're in STOP, there is no current song, so the list will contain just the inserted song.
This contradicts your earlier arguments that "Stopped" playlists still exist.

I meant 'current song' as in 'song being played back', not the stored position (which indeed exists even if we're in STOP.) So there's no contradiction IMHO.
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #18 on: October 02, 2007, 05:06:04 AM »
Well, by your standard if we "Stop" the playlist is still there, but the song that was being played isn't... I don't understand this, it's even more contradictory than "Neither still exists in memory, but can be reloaded"
Logged

Offline fml2

  • Member
  • *
  • Posts: 157
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #19 on: October 02, 2007, 05:18:42 AM »
Quote from: Llorean on October 02, 2007, 05:06:04 AM
Well, by your standard if we "Stop" the playlist is still there, but the song that was being played isn't... I don't understand this, it's even more contradictory than "Neither still exists in memory, but can be reloaded"

I mean that if we Stop, no song is being played back. The song is of course still in the playlist, and the playlist still exists. If we Pause, this counts as the song still being played back, just paused (I mean mentally; technically in the depth of RB it might count as not being played). Where is the contradiction?

And even if we stop, the last playback position is stored somewhere so that after pressing Play the playback will resume from the last position.
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #20 on: October 02, 2007, 05:21:53 AM »
Okay, here's where I'm confused.

Basically, you suggest that "Insert, Queue, and Play Next" treat the current playlist as if it were still active, but the current song as if it were not active.

The current method treats both the playlist and the song as if they're not active. You're making "Insert" and "Play" treat things differently, especially in the case of a single-song playlist. It seems to be adding more inconsistency, because you're NOT playing a single song, you're playing (and have buffered) several songs, or at least, one whole playlist (that can be one or multiple songs).

To me, "consistency" means "If playback is stopped, there is no active song or playlist, it playback is happening, both are active", it seems strange that you can stop, and the song isn't active but despite that the playlist *is* active, but not loaded (it can't be loaded / in RAM or it prevents several other things from ever being usable).
« Last Edit: October 02, 2007, 05:24:20 AM by Llorean »
Logged

Offline fml2

  • Member
  • *
  • Posts: 157
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #21 on: October 02, 2007, 06:33:30 AM »
Quote from: Llorean on October 02, 2007, 05:21:53 AM
Basically, you suggest that "Insert, Queue, and Play Next" treat the current playlist as if it were still active...
'present' would be a better word.

Quote
...but the current song as if it were not active.
again: present. And current song in the sense of the song currently being played back, not the song whose position is stored somewhere for later resume. (I hope you agree that if we're in STOP there is no song being played.)

With these definitions, I don't see any contradiction. 'Play next' retains the current song (in the above sense) if it's present and makes it queued (instead of firmly inserted). If there's no current song, there is also nothin to retain.

Since the playlist is still present, Insert can also be made. It's only not quite clear what the insertion point would be. I'd suppose it to be where it would be if no STOP had been made (since STOP does not impact the playlist in any way).

Quote
You're making "Insert" and "Play" treat things differently
As they usually are

Quote
To me, "consistency" means "If playback is stopped, there is no active song or playlist, it playback is happening, both are active"

Here lies the difference in our points of view. I consider the playlist as still present. And I don't even want to introduce the word 'active.'

Anyway, I'd suggest others to write their opinions. It seems that I'm not the only person in the world with the reasoning I presented here.
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #22 on: October 02, 2007, 06:42:16 AM »
You seem to have missed my point. You're using words like "present" and "current" as if they had different meanings

Let's use "Previous" both for the last playlist played, and the last song played. Neither of them is in RAM, so neither is "active" and you want to treat the playlist as if it WERE active (honoring the current position within it, and inserting tracks into it as if the playlist were active) while treating the song as if it were not active (removing it if you choose play next, and ignoring the fact that a resume position exists). This is my point: You want to treat them differently, though when you are Stopped NEITHER is 'active' and when you're Paused, both are.

You've especially not addressed the fact that this
A) Makes the Pause and Stop buttons essentially identical in function, removing the usefulness of one of them entirely
B) Requires that the Insert function ignore whether the playlist is stopped or Paused, but the Play Next function dependent upon the playback status, rather than simply admitting globally that there is a difference between "Stop" and "Pause." You basically just want a stopped playlist to be treated differently by a different option than what treats it differently now, which is just moving the inconsistency you claim is there, while making "Stop" semantically useless in the process.
C) You ignore the fact that Stop removes the playlist from RAM, so it is an entirely different function. The playlist is not "Current" or "Active" or any other word you want: It's NOT THERE. Rockbox just remembers what WAS there, and can bring it back. It NEEDS to not be there for a variety of technical reasons, so suggesting that there be no way to stop, is silly.

Instead of re-stating your idea, why not specifically address the points such as "Why you think nobody should ever be able to actually clear their playlist" considering the fact that people frequently ask how to, and "What should we do about the fact that some plugins can't be used unless the audio buffer is freed and playback is completely stopped" and why "An empty buffer, and shutdown of the audio engine" shouldn't mean "an empty playlist".
« Last Edit: October 02, 2007, 06:46:58 AM by Llorean »
Logged

Offline cc

  • Member
  • *
  • Posts: 51
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #23 on: October 02, 2007, 06:58:38 AM »

Hmm, maybe the problem is that rockbox does such a good job of pretending the playlist is there  :D

I mean, if I stop and then go to "View Current Playlist", there it is!
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #24 on: October 02, 2007, 07:06:51 AM »
This was added on Aug 25th, as part of the ability to replay a playlist after it ended.

The playlist still isn't buffered. Would a more acceptable solution be to remove any and all capability of viewing the playlist when it's stopped, because it's not in RAM?

You've still neglected to answer several of my points, and I would very much appreciate it if you would actually address the problems your solution would introduce rather than simply quibbling over existing inconsistencies. Just because they exist doesn't mean that your solution is the only method for fixing them, nor does it mean they're necessarily bad since I strongly feel it's better to actually have functionality that lets you perform all the actions you want than to arbitrarily restrict the user's actions in favour of an artificial "consistency" that exists only in the minds of some people in the first place.
« Last Edit: October 02, 2007, 07:10:32 AM by Llorean »
Logged

Offline petur

  • Developer
  • Member
  • *
  • Posts: 769
  • wtb: time
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #25 on: October 02, 2007, 07:40:27 AM »
well count me to the confused ones as well....
I have never understood how playlist handling works.

If you say that the playlist is gone when you pressed stop, then why can I power down, boot and play, and see that 'vanished' playlist back again? Not quite how 'closing winamp' is explained...
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #26 on: October 02, 2007, 07:42:14 AM »
Well, I don't know about winamp (haven't used it in ages), but I've used music playing applications that reload the last playlist when you reload the application. It's gone while the application is closed, but reloaded when you launch it again...
Logged

Offline cc

  • Member
  • *
  • Posts: 51
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #27 on: October 02, 2007, 07:46:14 AM »

OK, I can see where you are coming from now!

Let me do those points you had above:

Quote from: Llorean on October 02, 2007, 06:42:16 AM
A) Makes the Pause and Stop buttons essentially identical in function, removing the usefulness of one of them entirely

Stop still has the useful unloading features you talk about above. It just doesn't prevent you inserting into the current playlist while resuming.

Quote
B) Requires that the Insert function ignore whether the playlist is stopped or Paused, but the Play Next function dependent upon the playback status, rather than simply admitting globally that there is a difference between "Stop" and "Pause." You basically just want a stopped playlist to be treated differently by a different option than what treats it differently now, which is just moving the inconsistency you claim is there, while making "Stop" semantically useless in the process.

From the point of view of the code it is treated differently. The user just sees "Play next" playing their songs next, which if there is nothing playing is straight away. No-one is going to be surprised by that.

Quote
C) You ignore the fact that Stop removes the playlist from RAM, so it is an entirely different function. The playlist is not "Current" or "Active" or any other word you want: It's NOT THERE. Rockbox just remembers what WAS there, and can bring it back. It NEEDS to not be there for a variety of technical reasons, so suggesting that there be no way to stop, is silly.

I guess convincing people it is not there is pretty hard now there is the resume functionality, which is why this has come up now. I certainly would not have been asking any of these questions if pressing stop destroyed the current playlist (which it sounds like was the old behaviour).

Quote
Instead of re-stating your idea, why not specifically address the points such as "Why you think nobody should ever be able to actually clear their playlist" considering the fact that people frequently ask how to,

I don't think they would ask if there was a "Replace" option in the playlist menu.

Quote
and "What should we do about the fact that some plugins can't be used unless the audio buffer is freed and playback is completely stopped"

Well, stop still frees the buffers, it is just an extension of the resume playlist functionality - at the moment you can resume the previous playlist, why not allow inserting into the previous playlist, while resuming?

Quote
why "An empty buffer, and shutdown of the audio engine" shouldn't mean "an empty playlist".

Because the current playlist is pretending not the be empty now.

Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #28 on: October 02, 2007, 07:53:19 AM »
If we're going to allow any playlist manipulation while stopped, shouldn't there then be an option to clear a playlist, or start a new playlist without starting playback then?

I mean so far, all you've suggested is making "Starting an empty playlist" require more keypresses than before, while not actually adding any new functionality, so I still really don't see any benefit to your method other than what can be interpreted as "Consistency."

Another way to be consistent, simply, would be to remove the "Insert" option entirely when playback is stopped, and put "Play Next" (perhaps renamed to "Play Now") at the top.
Logged

Offline cc

  • Member
  • *
  • Posts: 51
Re: Why does playlist insert replace the current playlist when stopped?
« Reply #29 on: October 02, 2007, 08:13:43 AM »
Quote from: Llorean on October 02, 2007, 07:53:19 AM
If we're going to allow any playlist manipulation while stopped, shouldn't there then be an option to clear a playlist, or start a new playlist without starting playback then?

I mean so far, all you've suggested is making "Starting an empty playlist" require more keypresses than before, while not actually adding any new functionality, so I still really don't see any benefit to your method other than what can be interpreted as "Consistency."

You have lost me here, why would someone want to start an empty playlist, or clear a playlist? I was assuming that what they want to do is replace the current playlist with some new songs.

And yes, to be complete there would be an option to edit without starting playback. But not having this option is not going to confuse anyone.

Quote
Another way to be consistent, simply, would be to remove the "Insert" option entirely when playback is stopped, and put "Play Next" (perhaps renamed to "Play Now") at the top.

Yes, that idea is what got me started on this whole thing. I put "Play Next" in the stopped menu and then wondered why all the other things weren't there too... asked the question and here we are... pages later  :D

Actually at the moment there is also "insert shuffled" when stopped, so I did "Play Next shuffled" too.

Logged

  • Print
Pages: 1 [2] 3 4 ... 6
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox General
| |-+  Rockbox General Discussion
| | |-+  Why does playlist insert replace the current playlist when stopped?
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.088 seconds with 15 queries.