Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: [fb2k v2] Playlist Attributes (foo_playlist_attributes) (Read 174355 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_playlist_attributes

Reply #25
My request: Adding integration of "stop after current" behavior for individual playlists.
It ist not very useful IMHO. It will only produce playlists which will stop after each track. What can be done with this?

I might use it with my streaming playlist to stop playback if a stream breaks or if my internet connection is interrupted. In that case I don't want foobar to try playing other streams.

In addition to that, I think the "Playback follows cursor", "Cursor follows playback" and both options off as an option could be useful, especially for all my maintenance autoplaylists. Often I'm editing tags or something and disable the cursor focus or set it to playback follows cursor.
Can't wait for a HD-AAC encoder :P

Re: foo_playlist_attributes

Reply #26
Very nice component!

Besides the request for "stop after current" behavior for individual playlists, I would like to see "Monitor Playing Tracks" for individual playlists. Sometimes I do not want Foobar to monitor the playing tracks. It would be nice when I play those songs in a specific playlist, "Monitor Playing Tracks" would automatically turn off (and of course would turn on when playing other playlists). It does occur from time to time, that I forget to put "Monitor Playing Tracks" on or off and this can be fixed with your component.

One other thing. When switching the playback order via "Playback -> Playlist playback attributes -> Playback order", the playback order will only change after the playlist is manually started. One would think that when changing the playback order via the menu, the playback order will change immediately especially when the playlist is playing.


Another thing that I came up with. What about separate volume control per playlist? Some playlists are only used with a headphone (low volume) while other playlists are through an amplifier (max volume, volume controlled further with the amplifier).

Re: foo_playlist_attributes

Reply #27
Besides the request for "stop after current" behavior for individual playlists, I would like to see "Monitor Playing Tracks" for individual playlists. Sometimes I do not want Foobar to monitor the playing tracks. It would be nice when I play those songs in a specific playlist, "Monitor Playing Tracks" would automatically turn off (and of course would turn on when playing other playlists). It does occur from time to time, that I forget to put "Monitor Playing Tracks" on or off and this can be fixed with your component.
This is not possible, because "Monitor Playing Tracks" is provided by foo_playcount not by the core, so I have no access to it.

One other thing. When switching the playback order via "Playback -> Playlist playback attributes -> Playback order", the playback order will only change after the playlist is manually started. One would think that when changing the playback order via the menu, the playback order will change immediately especially when the playlist is playing.

This is the way it works. To quote myself:
Changing the attributes for the playing playlist will take affect on the following playback session.


Well, I am a radio DJ at my college and I use foobar to play tracks... Typically I like to have "stop after current" activated and have my tracks for the night all lined up. I normally don't use this feature while listening to music regularly, so having a specific "radio" playlist would be nice to have default play order and stop after current.
I might use it with my streaming playlist to stop playback if a stream breaks or if my internet connection is interrupted. In that case I don't want foobar to try playing other streams.
This makes sense to me. I will think about it.

In addition to that, I think the "Playback follows cursor", "Cursor follows playback" and both options off as an option could be useful, especially for all my maintenance autoplaylists. Often I'm editing tags or something and disable the cursor focus or set it to playback follows cursor.
I first planned to implement this, but then I decided against it, they are more global options.

"Playback follows cursor" is not pinned to one playlist. If you are starting playback on one playlist with this option set, then switch to another playlist and to something with this playlist, the next track will be played from this playlist, even if this playlist may have this option not set. It does not make much sense to me, to have some playlists, which will behave in the one way and others which will behave in the other way.

"Cursor follows playback" only affects the playling playlist. I you are doing something on another playlist it, you will not be bothered by this setting. If you are doing something on the playing playlist, you will either always bothered by this and switch if off, or you don't care. I currently can't image a situation, where you are bothered by this setting on one playlist, but not be bothered on another playlist.

Another thing that I came up with. What about separate volume control per playlist? Some playlists are only used with a headphone (low volume) while other playlists are through an amplifier (max volume, volume controlled further with the amplifier).
Generally it is possible. I will think about it.

Re: foo_playlist_attributes

Reply #28
1. Could you use the new case sentence style for the name of the commands?
No. Althought I don't no what you exactly mean with "new case sentence style" ...


I mean the convention that almost all parts of commands name begin with a capital letter. This is the vista case sentence style and already a convention in foobar. You may consider that as pedantic if not neurotic but this case sentence style is friendlier not only to my eyes.

Here a screenshot:

[a href="http://img19.imageshack.us/i/casesentence.jpg/" target="_blank"]

Re: foo_playlist_attributes

Reply #29
I mean the convention that almost all parts of commands name begin with a capital letter. This is the vista case sentence style and already a convention in foobar.
That's wrong. What you mean is title style not case sentence style, which is what I use and is suggested by the Vista style guide for menus. Further, I already explained why it is here a problem for me to use title style.

Re: foo_playlist_attributes

Reply #30
Sorry for confusion as i used the wrong names.

What i really don't understand is your problem: you wrote your nice component for foobar2000 and you see that foobar2000 uses title-style capitalization for menu items.  Why do you refuse to achieve consistency in that point? Is that something that is nothing worth for you?

Re: foo_playlist_attributes

Reply #31
He's being consistent with the OS.
It's really up to both the core and 3rd party components to follow the vista style guide conventions.

Since the relevant parts of the menu haven't been rewritten in forever in fb2k's menu, it's only natural they're still in XP style.
elevatorladylevitateme

Re: foo_playlist_attributes

Reply #32
Why do you refuse to achieve consistency in that point? Is that something that is nothing worth for you?
Is it so hard to read my first answer to your question completely? So for you, here I quote myself:
Quote
The problem is that the commands are available via the menu and via a dropdown box in the preferences. According to an older style guide menu commands should use book title style and dropdown box entries should use sentence style. According to a new style guide (the actual?) even menu commands should use sentence style, which is currently inconsistent with the menus in foobar2000. But consistency within the component is more important for me, so I use sentence style for all entries. It also fits better to the replaygain processing modes, which are also written in sentence style.



Re: foo_playlist_attributes

Reply #33
I really like your component and use it too. It really needs some quick enable/disable button somewhere. I didn't want a preconfigured playlist to remove tracks and play random, but possibly just for today. Can you create a global (for all playlistsettings) on/off operator or something, that can be bound to a keystroke or button?

Re: foo_playlist_attributes

Reply #34
Here's a feature I'd like to see.

I would like an option to retain the position of a playlist so I can listen to a something else, and then later return to the same position in the playlist.

Re: foo_playlist_attributes

Reply #35
I would like an option to retain the position of a playlist so I can listen to a something else, and then later return to the same position in the playlist.

I don't really see the relevance of such function with this component, but I guess it's a feasable feature...

It sounds somewhat like bookmarks, but for tracks instead of positions in songs. Did you try the bookmarks component to see if it could satisfy your needs?

Otherwise, maybe you might change the way you use foobar2000. You know it has a really nice queue function and recently a great queue manager has been developed

@fbuser
I only have one request for change to it: Instead of choosing specific playlists, it would be great if you could assign attributes with wildcards, just like in columnsui options. I believe this could be done with a combo-box, in style with the "Send to" playlist selection, so it wouldn't affect people that want it the way it is today.

It would be great if you would consider implementing this. I have a large bunch of playlists/autoplaylists I mark and use for i.e. maintenance-purposes. It would be great if I was able to manipulate playback attributes to follow the same rules
Can't wait for a HD-AAC encoder :P

Re: foo_playlist_attributes

Reply #36
This is not possible, because "Monitor Playing Tracks" is provided by foo_playcount not by the core, so I have no access to it.
O RLY.
Code: [Select]
void setPlayCountMonitoringState(bool state)
{
  pfc::string8_fast_aggressive name;
  mainmenu_commands::ptr cmds;
  for(service_enum_t<mainmenu_commands> e; e.next(cmds); ) {
    for(t_uint32 count=cmds->get_command_count(),i=0; i<count; i++) {
      t_uint32 flags;
      if (cmds->get_display(i, name, flags) && stricmp_utf8(name, "Monitor Playing Tracks") == 0) {
        if (!!(flags & mainmenu_commands::flag_checked) != state)
          cmds->execute(i, NULL);
        return;
      }
    }
  }
}
Full-quoting makes you scroll past the same junk over and over.

Re: foo_playlist_attributes

Reply #37
I really like your component and use it too. It really needs some quick enable/disable button somewhere. I didn't want a preconfigured playlist to remove tracks and play random, but possibly just for today. Can you create a global (for all playlistsettings) on/off operator or something, that can be bound to a keystroke or button?
Generally it would be possible, but wouldn't it be better to use a playlist without any special attributes and change the global settings according to your needs?

I would like an option to retain the position of a playlist so I can listen to a something else, and then later return to the same position in the playlist.

I don't really see the relevance of such function with this component
I agree here completely with odyssey

I only have one request for change to it: Instead of choosing specific playlists, it would be great if you could assign attributes with wildcards, just like in columnsui options. I believe this could be done with a combo-box, in style with the "Send to" playlist selection, so it wouldn't affect people that want it the way it is today.

It would be great if you would consider implementing this. I have a large bunch of playlists/autoplaylists I mark and use for i.e. maintenance-purposes. It would be great if I was able to manipulate playback attributes to follow the same rules
I didn't miss it, but a similar request was already answered here.

This is not possible, because "Monitor Playing Tracks" is provided by foo_playcount not by the core, so I have no access to it.
O RLY.
Code: [Select]
void setPlayCountMonitoringState(bool state)
{
...
}

Ok, my answer was a little bit simplified. I'm aware of the possibility to use mainmenu_commands for this purpose, but I'm a little bit cautious  here to implement such a feature only relying on a menu label, which may not be unique. Further, I'm not using foo_playcount, so it would be totally going out of my scope during daily use of the component.

Re: foo_playlist_attributes

Reply #38
I really like your component and use it too. It really needs some quick enable/disable button somewhere. I didn't want a preconfigured playlist to remove tracks and play random, but possibly just for today. Can you create a global (for all playlistsettings) on/off operator or something, that can be bound to a keystroke or button?
Generally it would be possible, but wouldn't it be better to use a playlist without any special attributes and change the global settings according to your needs?


Of course that would be better. What I ask is just an emergency-exit out of it. copying a playlist to an unaffected playlist is of course easy. clicking a button or hotkey is easier.

Playbackorder can be overridden by clicking the playbackorder-taskbar and choose another order, but there is not an easy way to stop your component removing tracks, that's ctrl-p, focus on place in preferences, mouseclick, mouseclick, mouseclick. (I'd also like to be able to do that without maximizing foob, for example, when gaming.

For a fact, I'd like to have all components that have some static influence on my playback/playlists/behaviour to have an on/off button. (scrobbling, playcounting,replaygainoverride, replaygain, some dsp's).

Re: foo_playlist_attributes

Reply #39
Playbackorder can be overridden by clicking the playbackorder-taskbar and choose another order, but there is not an easy way to stop your component removing tracks, that's ctrl-p, focus on place in preferences, mouseclick, mouseclick, mouseclick. (I'd also like to be able to do that without maximizing foob, for example, when gaming.
You could bind a global hotkey to "[main] -> Playback -> Playlist playback attributes -> Remove played tracks" for this purpose, to toggle that on and off. But I see your point and will think about it.


 

Re: foo_playlist_attributes

Reply #41
(As my point is not related to functionality of foo_playlist_playback_attributes and also could mention other components it may be makes sense to split that part)

Is it so hard to read my first answer to your question completely?
No, it isn't. That's why i already read and understood it since you gave me the link for the vista style guide. I know your reasons: consistency within the component and within the OS. Maybe i should have better asked: What is your desired consistency good for and  why is it more important than consistency within fb2k?


He's being consistent with the OS.
It's really up to both the core and 3rd party components to follow the vista style guide conventions.

Since the relevant parts of the menu haven't been rewritten in forever in fb2k's menu, it's only natural they're still in XP style.


I didn't know that it would also be up to foobar2000 to follow the style conventions - thanks for the clarification. But however, the title-style capitalization is used since years and it doesn't seem that the menu items will be rewritten. Not only fb2k uses that style, all official components and the major part of 3rd-party use it. A rewriting would not encourage consistency within the program but increase a messy appearance of both styles. What is easier than taking the program and its official components as criterion for consistency foremost because the majority of components authors do that already?

I am very aware that many users don't care about such a topic, but in my eyes such points seperate a perfect component from a good one. To come back to the second post of my initial post: i still believe that the edit-submenu is a better place for assigning playback attributes of the active plalist. Now you have global playback options mixed with options related to active playlist in one submenu.  Another point i didn't mention so far: can't commands that doesn't make sense in a certain context ("remove played tracks" in autoplaylists) be disabled by greying them out just to show the user that they are not available? As you see: each point is just a small point - but sum up all this points inside one component and multiply this sum with all components that don't care about such things. The result will be that quality of usability will decrease. The most sad thing about this is: this quality can be achieved so easily if devs and users just would care.





Re: foo_playlist_attributes

Reply #42
Another point i didn't mention so far: can't commands that doesn't make sense in a certain context ("remove played tracks" in autoplaylists) be disabled by greying them out just to show the user that they are not available?
Sure, I totally agree with you here. I just missed it and will fix it for the next release.

Re: foo_playlist_attributes

Reply #43
"Stop after current album" might also be relevant for certain playlists? E.g. album-lists, if you don't want/expect another album to continue after playing the current one. That emulates a little more the way physical mediums are handled.
Can't wait for a HD-AAC encoder :P

Re: foo_playlist_attributes

Reply #44
This is probably an idea nobody but me want  I think it could be well fitted in this component, however I'm not sure if it's even possible...:

Prevent playback on playlist

Sometimes I accidentally double click my mouse on tracks and start playing something that I absolutely didn't want to, just because I was editing things in my maintenance autoplaylists. This would effectively stop that.

Another use for it could be "party-play", if certain playback actions could be customized for a playlist, to prevent that stupid people mess with playback during a party.
Can't wait for a HD-AAC encoder :P

Re: foo_playlist_attributes

Reply #45
Another thing that I came up with. What about separate volume control per playlist? Some playlists are only used with a headphone (low volume) while other playlists are through an amplifier (max volume, volume controlled further with the amplifier).

Maybe I'm just ignorant, but I fail to see the true purpose of this.

I think at least Windows 7 (maybe also Vista?) solves your problem with volume on headphones/speakers. When I plug my headphones in, Win 7 recognizes it and activates the mixer specific to these.
Can't wait for a HD-AAC encoder :P

Re: foo_playlist_attributes

Reply #46
Another thing that I came up with. What about separate volume control per playlist? Some playlists are only used with a headphone (low volume) while other playlists are through an amplifier (max volume, volume controlled further with the amplifier).

Maybe I'm just ignorant, but I fail to see the true purpose of this.

I think at least Windows 7 (maybe also Vista?) solves your problem with volume on headphones/speakers. When I plug my headphones in, Win 7 recognizes it and activates the mixer specific to these.


Hmm, that is nice feature. Unfortunately, my Windows 7 isn't doing what you describe.

Re: foo_playlist_attributes

Reply #47
No, I figured it was just my laptop that did this
Can't wait for a HD-AAC encoder :P

Re: foo_playlist_attributes

Reply #48
Bravo for this useful component.

post #1:
Quote
Advanced option to save the playing playlist on program shutdown for reuse on next program start


I found this option in advanced options:
Quote
Save playing playlist name on shutdown.


Whats the use of this option? Since name of playing playlist is saved on shutdown before,  are the playback attributes saved with this option. I'm a little bit confused. Can you help? Thanks

Re: foo_playlist_attributes

Reply #49
After the start of foobar2000 the first playback session uses always the active playlist for playback, when playback was started with the play button or a keyboard shortcut. But I want to use a specific playlist as playback queue and don't want to switch first to this playlist to start playback on it after program start. So I have to store the playing playlist between foobar2000 sessions, to reuse it for playback.