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: foo_uie_queuemanager (Read 467871 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_uie_queuemanager

This is version 0.2.2 of my foo_uie_queuemanager component

Features:
  • Provides a panel which shows the queue's contents and allows you to remove tracks from the queue.
  • Allows you to have playback automaticaly starting when you create a queue.
  • Provides a "Stop after Queue" functionality, that allows you to have playback stopped once the queue has finished playing.
Download:
foo_uie_queuemanager_0.2.3.zip
Requires .Net 2.0 - if you don't have it, get it here: .Net 2.0 Download

More Infos / Changelog:
Homepage

Todo list:
  • Ability to reoder Tracks via drag'n'drop
  • Ability to add tracks to the queue via drag'n'drop
  • Ability to move the queue into the current playlist - after the currently playing song.
  • Ability to do "Flush queue to play after current"
  • Meaningful context menu
  • resize the panel according to the queue's length (via min- and maxheight)

foo_uie_queuemanager

Reply #1
[deleted]

foo_uie_queuemanager

Reply #2
Doesn't one of foosion's components provide this capability? It lets you associate the queue with a playlist; manipulating that playlist changes the queue. And it's not .NET so it'll be non resource-hogging.

 

foo_uie_queuemanager

Reply #3
This is just a window which display the queue and enable you to select and delete songs from queue.

foo_uie_queuemanager

Reply #4
how about panel version of foo_queuemanager?. it would be nice.

foo_uie_queuemanager

Reply #5
Doesn't one of foosion's components provide this capability? It lets you associate the queue with a playlist; manipulating that playlist changes the queue. And it's not .NET so it'll be non resource-hogging.
Foosions one only really lets you see the queued songs, you can't remove a single song only clear the full playlist.

how about panel version of foo_queuemanager?. it would be nice.
I second this request.

foo_uie_queuemanager

Reply #6
See my first post:
Quote
I will maybe move this plugin to columns_ui - if it works ^^



I'm using columns_ui myself - so that's absolutely on my todo list.

foo_uie_queuemanager

Reply #7
I'm looking forward to a panel version of this component. Managing the queue from a separate panel than the playlist would definitely be nice.

foo_uie_queuemanager

Reply #8
Dear Chronial!  Thank you for your plugin! 

As you mentioned in the first post foobars queue is limited. It justs allow removing tracks from the queue, you cann add tracks just to the end of queue and not to forget: it has a maximum size of 64 tracks. In view of the queue's function these limitations are not so bad as many believe (see discussion General->Queue improvements).

I think they are missing something i am missing too: a fully editable playlist wich also can be filled by different ways (add, add and play, send, send and play, insert after now playing track, insert after now playing track and play), wich is always in view and wich also doesn't delete the playing track from the view as the queue does.

What do you think about following idea?
Not only to have a panel for the queue but an additional one that either mirrors the default playlist or that is a temporaly but fully functional playlist. I believe that there is a difference between this two "playlists" and that the queue shouldn't or can't do the job of a socalled "Now playing"-playlist. If that is realizable at all i would like to request it! I hope you are going to say few words to that.

Have a nice day!

foo_uie_queuemanager

Reply #9
It starts up terribly slow!

EDIT: gna. I see, it's a.net application.

foo_uie_queuemanager

Reply #10
Stankovic - this is possible, but I'm not gonna do it.
I can for sure see the pros of such a sollution, but I don't need something linke that - so I'm not gonna write it.

foo_uie_queuemanager

Reply #11
If i would have learned coding i would do it! And i must admit that often enough i feel bad when i bother you or other developers with suggestions or requests because i have many of them.

I don't know where but i posted in a thread here in the forum some suggestions for the queue you might find useful and consider to implement.

1. start playback of queue if there is no playback before
2. stop playback at end of queue
3. don't update playlist position (so that at end of queue the playback continues directly after the last track before queue started or playback stops if there was no playback / options that could be accessable by queuemanagers context menu once implemented in a paneled version)

foo_uie_queuemanager

Reply #12
Most of your requests are not allowed - see the note on the new version

foo_uie_queuemanager

Reply #13
I don't like to clunker my foobar UI so I guess I just stay with your old version and thanks for developing this plugin.

foo_uie_queuemanager

Reply #14
Well I'm sorry you don't like the panel version - but it's hard to maintain two different versions and I'm using columns ui myself, so here's an obvious choice.

foo_uie_queuemanager

Reply #15
Start playback on queue creation:
This feature is experimental as it violates a note in the SDK: "Do not call playback_control methods from inside any kind of global callback (e.g. playlist callback), otherwise race conditions may occur.". I have spent some thoughts about possible problems with this feature, and there is no realistic situation how this could create a race condition. But if you experience crashes or foobar getting stuck in high CPU usage, deactivate this feature.

Instead of thinking whether violating the API specifications will immediately harm the user or not, how about simply not violating them? You can use main_thread_callback service to delay relevant calls instead of nesting them.
Microsoft Windows: We can't script here, this is bat country.

foo_uie_queuemanager

Reply #16
Thanks - didn't know about this solution .
Will be fixed in the next version

foo_uie_queuemanager

Reply #17
Thank you so much for creating a panel version of this component. After the inevitable list of bugs is squashed I think we'll have something very useful. As with any new plugin there are bound to be bugs and I have noticed one.

Is there a way to display the item's index in the queue?  I tried using %list_index% but your component does not honour this variable. I then gave %cwb_queueindex% a try and while it does indeed display the item queue index, this is not updated as the indexes change.  I did notice that any time you load the preferences for queue manager it forces an update but unless you reload the preferences on every track the index does not get updated.

I do not know if it's a bug on the part of cwb hooks or the queue manager, but I think if you could figure out how to honour %list_index%, %list_total% and other context-specific fields from the standard titleformat list than that would be a more elegant solution.

I think displaying the queue index is a variable most of us would want to utilize given the nature of this component.

foo_uie_queuemanager

Reply #18
See my initial posting:
Quote
It should also be noticed that (at the moment) the title formatting strings are not updated after adding the track to the queue. So using fields like %cwb_queueindex% doesn't make much sense

This is not a bug but just the way things are .
I will look into making %list_index% and %list_total% available and updating all entries on every queue change.

foo_uie_queuemanager

Reply #19
nice plugin, thx

foo_uie_queuemanager

Reply #20
Thanks a lot for this plugin
very useful

foo_uie_queuemanager

Reply #21
Very useful.

A bug? For some reason, I cannot resize the queue manager. EDIT: Oh, I can make it bigger, but it has a huge minimum size...

Some feature suggestions: context menu which brings us to the preferences, which lets us organize the queue (delete, sort... e.g.)

And: Do you think it is possible to make it appear only, if there's something in the queue and automatically hide, if the queue is empty? I mean this is exactly the situations when we want to see your queue window.

If I start a track manually, the queue automatically gets deleted. I think this is fb2ks default queue behaviour: Can you prevent this? I could also just start playing a track immediately but also want fb2k to go on with the queue then.

Could you detect which playlist a queued track is from and switch to that playlist, if the queued tracks are playing? If the queue ended or if a certain track is on no playlist, you could jump the the list, where you came from (before the queue started)

foo_uie_queuemanager

Reply #22
I can't hide the panel, so that's a no.

You can already delete tracks - select them and press delete on you keyboard.

A panel has no control over it's resizing - this is either a columns ui bugs or you are doing something wrong.

It is possible to cache the queue and restore it when it is delted - but it will be difficult to find out if the user has deleted the queue or if it was deleted by double clicking a song in the playlist.

All those changes of the queue's default behaviour are hacks and it not possible to implement them in a "clean" way. They are quite likely to cause problems with other components.
For this reason I will leave the queue's behaviour as it is - it's peter's job to change that if his users demand that.

foo_uie_queuemanager

Reply #23
I can't hide the panel, so that's a no.

You can already delete tracks - select them and press delete on you keyboard.

A panel has no control over it's resizing - this is either a columns ui bugs or you are doing something wrong.


I believe it sets the minimum size?

foo_uie_queuemanager

Reply #24
Quote
And: Do you think it is possible to make it appear only, if there's something in the queue and automatically hide, if the queue is empty? I mean this is exactly the situations when we want to see your queue window.


That's the reason I like the window version more than the panel version, we don't use the queue all the time. An alternative now is put it under uie_tabs or use auto-hide feature of column UI. Can you release the source so I can take a look at it. Maybe convert it to C++ if possible and add more features to it when I have the time (nearly graduation right now).

Squeller I believe that you put your queuemanager panel under the same parent node with sth has a huge minimum size like buttons, menu or the playback order toolbar.

EDIT: I've just found out that it has minimal vertical size no horizontal restriction though.