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

History plugin

-------------------------------------------
Component information:

Stable version: 0.8.1
Latest version: N/A

Links: the stable version is available on the homepage, older versions from the archive.
-------------------------------------------
Original post follows:


OK, it's rather a proof of concept, so there's nothing fancy yet, only three actions which can be bound to hotkeys:

Quote
- "Reset history": Clears the history.
- "Previous in history": like hitting "back" in your browser. If there is no song to go
  back to, "Previous in history" will behave like "Previous".
- "Next in history": like hitting "forward" in your browser. If there is no song to go
  forward to, "Next in history" will behave like "Next" or, if "Shuffle" is on,
  like "Random".


Download link:
<original download link no longer valid, see homepage link above>

History plugin

Reply #1
Hey that's nifty.

History plugin

Reply #2
Hey that works great! Thanks!

I was think about something like this the other day except more along the lines of a list accessed from the components menu. Maybe that could be an added feature? It would be a nice place for the reset button, and you could include times too, maybe it could have two separate lists for forward and backwards..

Also, follow cursor doesn't work when navigating through history

I.e. going back/forward in history, not going forward out of history. Maybe you'd have to add an option for it..
.

History plugin

Reply #3
Quote
I was think about something like this the other day except more along the lines of a list accessed from the components menu. Maybe that could be an added feature? It would be a nice place for the reset button, and you could include times too, maybe it could have two separate lists for forward and backwards..

Also, follow cursor doesn't work when navigating through history

I.e. going back/forward in history, not going forward out of history. Maybe you'd have to add an option for it..

As I said, it's a proof of concept. If you wish to add something, just grab the source code.
The problem with "Follow cursor" is known. Currently, I do not see a way to retrieve the status of the "Follow cursor" option, so I'd have to include a separate "Follow cursor" option for the history plugin

History plugin

Reply #4
Quote
As I said, it's a proof of concept. If you wish to add something, just grab the source code.

i already did  i doubt i'd be able to do anything with it though 

I also thought it would make more sense to make a prev/rand for when history data runs out, since the plugin uses next_rand, well at least I could do that. No wait it would probably mess up the history..

Quote
The problem with "Follow cursor" is known. Currently, I do not see a way to retrieve the status of the "Follow cursor" option, so I'd have to include a separate "Follow cursor" option for the history plugin


Yeah that's what I thought.. 

Still, I will use you plugin frequently, so thanks

edit: it seems going previous past history in your plugin really makes the next/prev in history action go wierd, going next again will have you at the top of the history, its only a small issue so im not bothered anyway but i thought id mention it.
.

History plugin

Reply #5
not work here, win 98se foobar 0.6 finale.
dll is charged but nothing in component.
only work with XP?
Music is my first love.

History plugin

Reply #6
Check the keyboard shortcuts.  That's the only place it's supposed to be right now.

History plugin

Reply #7
Quote
Check the keyboard shortcuts.  That's the only place it's supposed to be right now.

i am the idiot of the day
Music is my first love.

History plugin

Reply #8
An idea just occured to me. Wouldn't it be possible (and quite easy) to implement the Winamp3 style enqueuing with this plugin? Just make it possible to manually add tracks to history index and it would play them then through in the correct order?

 

History plugin

Reply #9
Great idea!  It would probably take a bit of work to get any kind of visual feedback, but it seems like that wouldn't be too hard to do otherwise.

stripe

History plugin

Reply #10
As you might have noticed, the plugin does _not_ enforce songs to be played again, if you go "back". I should probably give an example to make this clearer. Suppose your playlist contains the songs A, B, C, and D in this order, and the history looks like this (D is the current song):
Code: [Select]
A - B - C - >D<

Now you go "back":
Code: [Select]
A - B - >C< - D

and remove D from your playlist. If you go "forward", D will still be played, but otherwise it might be any other song (depending on your "Shuffle" and "Repeat" settings). The plugin does not enforce D to be played.
Now why did I explain all this in great length?  To make it clear that adding WA3 style enqueuing with foo_history as a starting point is not simpler than with any other plugin.
Nevertheless, if you're interested in adding this functionality, you're free to grab the source and try.

Btw, simply inserting songs into the playlist is easy with the 0.6 SDK, and foo_dbsearch already provides this feature in its contextmenu - I don't know what other plugins use this.

EDIT: fixed typo

History plugin

Reply #11
So the problem is that the default action after the song changes, even with the history plugin installed, depends entirely on the shuffle/next song in playlist.

Although... it seems like you could rig something up using 'follow cursor'.  For example: .5 seconds before the song ends, change the highlighted song to one designated in the stack.  I'd try it, but my programming is rusty as all getup and I have an anthropology paper to write. :)

stripe/ben

History plugin

Reply #12
Notes about foo_history and the history service it implements (for plugin developers):

Please do not implement a history of your own, if you can avoid it! Your implementation and the one in foo_history would most likely interfere, and at most one of them would work correctly.
Instead, please use my history service instead, and ask your users to install foo_history in addition to your plugin. Speaking of "my" history service, I accept suggestions to improve its implementation/interface (either via pm or in this thread). Anything I deem sensible will make it into the next version.

This info might only be useful for authors of alternative UIs, but who knows...

History plugin

Reply #13
Very nice, much appreciated  I dont think I can fault with it at all now  I did wonder why it said
Quote
[0.3] (inofficial)
in changelog.txt, but im guessing you forgot to change it or something..
.

History plugin

Reply #14
Quote
Very nice, much appreciated  I dont think I can fault with it at all now  I did wonder why it said
Quote
[0.3] (inofficial)
in changelog.txt, but im guessing you forgot to change it or something..

That's because it was meant to be "public beta" or something. I guess I forgot to say so...

History plugin

Reply #15
Quote
Speaking of "my" history service, I accept suggestions to improve its implementation/interface (either via pm or in this thread). Anything I deem sensible will make it into the next version.

I haven't done anything beyond looking at your interfaces, but it seems that you forgot to include 'history_handle.h' in your version 0.3 source code.

History plugin

Reply #16
Quote
I haven't done anything beyond looking at your interfaces, but it seems that you forgot to include 'history_handle.h' in your version 0.3 source code.

My mistake. I forgot to regenerate the zip file with the sources. Fixed.

History plugin

Reply #17
Great work!  If you added an "add to selection to history" hotkey and allowed files to be moved around within the history, this would be the plugin of my dreams. :) (admittedly, that would be a bit more than a 'history' plugin, but imho it would sooo handy)

stripe/ben

History plugin

Reply #18
Just wondering... why does my mousewheel scroll the history window even when the main playlist window is the one that's selected?

Ok, my brain has been storming:

I listen to my music on random most of the time.  Know how lots of online radio stations have 'playing next' displays?  What if fb's randomize was computed x songs ahead of time, and you could see what was going to play next and edit that list?  ie... edit the out the random songs you didn't want to hear and queue up all the songs you wanted?

OH WAIT, you say, THAT IS JUST LIKE YOUR PLAYLIST ON RANDOM.

Well there are two differences
-i'm imagining it more as an always-on-top kind of thing, like a sidebar or extra taskbar that doensn't cover much stuff up.
-Your playlist still exists, because there are lots of people like me who just use it as their whole archive.

stripe/ben

History plugin

Reply #19
Quote
I listen to my music on random most of the time.  Know how lots of online radio stations have 'playing next' displays?  What if fb's randomize was computed x songs ahead of time, and you could see what was going to play next and edit that list?  ie... edit the out the random songs you didn't want to hear and queue up all the songs you wanted?

Really, I doubt that adding a true shuffle algorithm to foo_history would be very difficult. Just take the entire playlist, shuffle it, then append that list to the future history. That way, you'd get your feature, and foobar would get real shuffle play, not this random garbage that selectively "ignores" certain tracks, thanks to rules of probability.

History plugin

Reply #20
Quote
Great work!  If you added an "add to selection to history" hotkey and allowed files to be moved around within the history, this would be the plugin of my dreams.  (admittedly, that would be a bit more than a 'history' plugin, but imho it would sooo handy)

I would like to keep the history plugin as simple as possible. What you request would turn it into some kind of alternative playlist editor, which should be in a different plugin imho. It should probably be called "edit list" or "archive list", and the fb playlist would only be used to determine the songs which are to be played and their order (thus truly being a PLAYlist).

I can't reproduce the mouse wheel thing.

History plugin

Reply #21
Quote
Quote
I listen to my music on random most of the time.  Know how lots of online radio stations have 'playing next' displays?  What if fb's randomize was computed x songs ahead of time, and you could see what was going to play next and edit that list?  ie... edit the out the random songs you didn't want to hear and queue up all the songs you wanted?

Really, I doubt that adding a true shuffle algorithm to foo_history would be very difficult. Just take the entire playlist, shuffle it, then append that list to the future history. That way, you'd get your feature, and foobar would get real shuffle play, not this random garbage that selectively "ignores" certain tracks, thanks to rules of probability.

That would require some kind of "enforce history" feature, which would be based on some crude heuristics to detect when a song ended. Almost needless to say, this would not ingrate well with things like "Stop after current" or "Follow cursor". A solution to this (and to the infamous "shuffle problem") would be a (chained) play_scheduler service, which would be used by fb to determine the next song to be played. If this is really important to you, you should bug Peter about this, not me, because I really can't change this.

History plugin

Reply #22
Quote
What you request would turn it into some kind of alternative playlist editor, which should be in a different plugin imho. It should probably be called "edit list" or "archive list", and the fb playlist would only be used to determine the songs which are to be played and their order (thus truly being a PLAYlist).

I dunno. I personally would think that play order would be relegated to a different window, while the main window contains the sorted playlist. I'd find that the most intuitive way to design it, albeit not the easiest.

History plugin

Reply #23
BTW, perhaps its just me, but the font config isnt working.

(Win XP)
.

History plugin

Reply #24
Looks like font config works, it's discarded / disregarded when restarting fb2k though.

Edit: nevermind, it's dropped already when reopening the History window (at least the version I have does this)
A riddle is a short sword attached to the next 2000 years.