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

foo_uie_trackinfo

I figured it would be handy to have a sidebar panel that displayed some info (via TAGZ) about the currently playing or currently selected track. This will probably be a little redundant for people with complex/complete playlist displays, but for others that have limited info displayed in their playlist I hope this will be useful to you.

Check out a basic screenshot here.

The panel has two modes:
  • now-playing mode - displays info according to the currently playing track
  • follow cursor mode - displays info about the focused item in the current playlist
Switch between these modes by either double left-clicking or single middle-clicking on the panel. It also supports drag and drop in both directions: dragging a file over the panel will temporarily show the info for that track, and dropping will display that info until you left click.

You can configure the display for all modes using a single TAGZ formatting string in the preferences. It supports the regular TAGZ and special fields (%_isplaying%,%_ispaused%,%_time_total%,etc), plus a few specific to the panel:
  • %_trackinfo_mode%
    a string containing either "Dropped","Follow cursor", or "Now playing" according to the current display mode of the panel.
  • %_trackinfo_dropped%, %_trackinfo_followcursor%, %_trackinfo_nowplaying%
    one (and only one) of these strings will be "1" (the others will be an empty string), again depending on the current display mode of the panel (useful for $if functions)
  • %_trackinfo_notrack%
    set to "1" when the panel has no track to display (happens when starting up in now-playing mode)
To get a line-break use $char(10). You can also change the alignment of a single line by putting either $char(1)C or $char(1)R at the very start of the line, where the C and R stand for Centered and Right (left aligned is the default). Below I have included the script responsible for the above screenshot, so check that out if you are unsure. Obviously you'd want some technical info displayed, but that is just an example. Most of you guys are much better at this than I am anyway.

Latest version (0.1.1):
foo_uie_trackinfo.dll
foo_uie_trackinfo-src.zip

Note: Make sure you download foo_ui_columns  v0.1.2 beta 4 (or newer) if you are expecting to add this panel to a sidebar (as seen in the screenshot).

Uses some code from kode54's foo_osd, and foosion's foo_history.

Formatting string used in screenshot:
Code: [Select]
$if(%_trackinfo_notrack%,
$char(10)$char(10)$char(1)CNo track playing,
$char(1)Ca0caf3%_trackinfo_mode% mode$char(10)
$char(1)C$if(%_isplaying%,$select($add(1,$mod(%_time_remaining_seconds%,4)), ,.,..,...),)$char(10)
dcab50Artist:$char(10)
$char(1)C4040ff%artist%$char(10)
dcab50Title:$char(10)
$char(1)C4040ff%title%$char(10)
dcab50Release:$char(10)
$char(1)C4040ff%album%)


You can stop reading now .

foo_uie_trackinfo

Reply #1
Great plugin!

keep up the good work
"If you cannot read this, please ask the flight attendant for assistance."
- United Airlines Flight Safety Brochure

foo_uie_trackinfo

Reply #2
This is just a quick thing i came up with, will fefine it a little more later
Screenshot

and heres the code
Code: [Select]
$if(%_trackinfo_notrack%,
$char(10)$char(10)$char(1)CNo track playing,
$char(1)C$if(%_isplaying%,$select($add(1,$mod(%_time_remaining_seconds%,4)), ,.,..,...),)$char(10)
$char(1)C000000Album Information$char(10)
000000Artist:                  4040ff%artist%$char(10)
000000Title:                    4040ff%title%$char(10)
000000Album:                 4040ff%album%)$char(10)$char(10)
$char(1)C000000Technical Information$char(10)
000000Track Bitrate:      4040ff%__bitrate% Kbit/s$char(10)
000000Time:                    4040ff%_time_elapsed% / %_time_total%$char(10)
000000Track Gain:          4040ff%__replaygain_track_gain%$char(10)
000000Album Gain:         4040ff%__replaygain_album_gain%$char(10)


hmm it seems to get rid of the squares around the colour codes :/
"If you cannot read this, please ask the flight attendant for assistance."
- United Airlines Flight Safety Brochure


foo_uie_trackinfo

Reply #4
Yeah great work, thanks been hoping for something like this for a while. 
You're talking to my guy all wrong... It's the wrong tone. Say it again, and i'll stab you in the face with a soldering iron!

foo_uie_trackinfo

Reply #5
Great work!  Now get back on working with foo_uie_tabs!

Damn I just love all these new UIEs

Also, could you add a "word wrap" feature? This would be really useful for displaying lyrics, as the lines tend to get clipped. Also a vertical scrollbar would also be nice when the displayed info doesn't fit...

foo_uie_trackinfo

Reply #6
Quote
Great work!  Now get back on working with foo_uie_tabs!

Damn I just love all these new UIEs

Also, could you add a "word wrap" feature? This would be really useful for displaying lyrics, as the lines tend to get clipped.
[a href="index.php?act=findpost&pid=253544"][{POST_SNAPBACK}][/a]


is it posible to add album art into this 

foo_uie_trackinfo

Reply #7
I was thinking about album art too, but right now this seems to be text only...I hope an album art UIE can be implemented, sadly I'm not good in foobar component programming
Life is Real...
(But not in audio :) )

foo_uie_trackinfo

Reply #8
for me to album art is real a must...

edit: typo


foo_uie_trackinfo

Reply #10
plz add option to see the album cover. it will be really great.

foo_uie_trackinfo

Reply #11
Great plugin so far.
But it would be even usefuller to me, if one could add it to the toolbar. Is this possible?
Thanks

foo_uie_trackinfo

Reply #12
Quote
Great plugin so far.
But it would be even usefuller to me, if one could add it to the toolbar. Is this possible?
Thanks
[a href="index.php?act=findpost&pid=253593"][{POST_SNAPBACK}][/a]
Preferences->Display->Columns UI->Other->List all toolbars

Edit: Phi, could you please add support for $tab() ?
Edit2: And maybe make "dynamic info" optional? Display is flickering from time to time, and I suppose it's wasting some CPU cycles too when you don't have animations. Just a thought...

Btw: Thanks for making yet another plugin/panel 

foo_uie_trackinfo

Reply #13
Great. Anyone have a cool format string to post?

EDIT: Suggestion: Double clicking the information area brings up the special info tag editor.

foo_uie_trackinfo

Reply #14
Phi, thanks for this great UIE! Been waiting for this ever since panel support was added to Columns UI.

Request: Besides now playing and follow cursor modes, could you add an additional mode that automatically switches to now playing mode when a track is currently playing and back to follow cursor when no track is playing?

foo_uie_trackinfo

Reply #15
Quote
Anyone have a cool format string to post?
[a href="index.php?act=findpost&pid=253611"][{POST_SNAPBACK}][/a]


I don't know if it's cool, but anyway here it is:
Code: [Select]
$char(1) Mode: %_trackinfo_mode%$char(10)$char(10)$if(%_trackinfo_notrack%,No track,
------------------------------------------------------------------------------------------$char(10)
$char(1)CAbout the song:$char(10)
Artist: %artist%$char(10)
Title: %title%  ->%_length%<-$char(10)
Album: $if3(%album%,still unknown))$char(10)
Release date: $if3(%date%,not available yet)$char(10)
Comments: $if3(%comment%, no comments available)$char(10)
------------------------------------------------------------------------------------------$char(10)
$char(1)CTechnical stuff:$char(10)
$char(1)CCodec: %__codec%                                Bitrate: %__bitrate% Kbit/s$char(10)
Track Gain: $if3(%__replaygain_track_gain%, RG not applied)$char(10)
Album Gain: $if3(%__replaygain_album_gain%, RG not applied)$char(10)
------------------------------------------------------------------------------------------$char(10)
$char(1)CStatistics:$char(10)
This song was played %play_counter% times so far. $char(10)
Last played: %play_date% at %play_time%$char(10)
My rating: $if3(%rating% stars, not rated)


screenshot:

I felt weak, perhaps I was.

foo_uie_trackinfo

Reply #16
My  fstring
screenshot
http://img103.exs.cx/my.php?loc=img103&ima...ooooooooooo.png

Code: [Select]
DCAE8DMode: %_trackinfo_mode%$char(10)$if(%_trackinfo_notrack%,No track,
$char(1)C0CEBA4Song Info$char(10)
D7B997Title: ffffff%title%$char(10)
D7B997Artist: F3EAE0%artist%$char(10)
D7B997Album: F3EAE0%album%$char(10)
D7B997Date: F3EAE0%date%)$char(10)
D7B997Genre: F3EAE0%genre%$char(10)
$char(1)C0CEBA4Tech Info$char(10)
D7B997Codec: F3EAE0%__codec% $char(10)
D7B997Bitrate: F3EAE0%__bitrate% Kbit/s$char(10)
D7B997Samplerate: F3EAE0%__samplerate% Hz$char(10)
D7B997Channels: F3EAE0$if(%__channels%,$ifgreater(%__channels%,2,%__channels%ch,$ifgreater(%__channels%,1,' 'Stereo,''Mono)),)$char(10)
D7B997Time: F3EAE0%_time_elapsed% / %_time_total%$char(10)

$puts(theme,1)

// progressbar config
$puts(progress_char,█)
$puts(progress_length,20)

$if($strcmp($get(theme),1),
$puts(progress_color1,$rgb(164,235,12))
$puts(progress_color2,$rgb(54,106,179))
)


// PREPARE COLOR-STRINGS
// =========================================
$puts(progress_color1a,$blend($get(progress_color1),000000,1,4.5))
$puts(progress_color2a,$blend($get(progress_color2),000000,1,5.7))
// progressbar
$puts(progressbar,
$if(%_length_seconds%,

$puts(progress,$muldiv(%_time_elapsed_seconds%,$get(progress_length),%_length_seconds%))
$transition($repeat($get(progress_char),$get(progress)),$get(progress_color1a),$get(progress_color1))
$transition($repeat($get(progress_char),$sub($get(progress_length),$get(progress))),$get(progress_color2a),$get(progress_color2))
$pad_right($muldiv(%_time_elapsed_seconds%,100,%_length_seconds%),3)'%'
,streaming...
)
)
$get(progressbar)

 

foo_uie_trackinfo

Reply #17
free: nice.
f to c to f to c

foo_uie_trackinfo

Reply #18
Code: [Select]
$select($add(1,$mod(%_time_elapsed_seconds%,10)), o $char(10)<!>
$char(10)< >$char(10)$char(10), o/$char(10)<! $char(10) <>$char(10)
$char(10), o>$char(10)<! $char(10) <>$char(10)$char(10),<o>
$char(10) ! $char(10)< >$char(10)$char(10),<o/
$char(10) ! $char(10)/ >$char(10)$char(10), o $char(10)'/!,'
$char(10)/ >$char(10)$char(10), o $char(10)',!>'
$char(10) >>$char(10)$char(10), o $char(10)'<!,'$char(10)<< $char(10)
$char(10), o/$char(10)/! $char(10) >>$char(10)
$char(10), o> $char(10)/!  $char(10)/ > $char(10)
)




(hint: fixed width font recommended)

foo_uie_trackinfo

Reply #19

foo_uie_trackinfo

Reply #20
Messer: best thing I've seen all day
f to c to f to c


foo_uie_trackinfo

Reply #22
stroke mod
Code: [Select]
$char(1) Mode: ffffff%_trackinfo_mode%$char(10)$char(10)$if(%_trackinfo_notrack%,No track,
------------------------------------------------------------------------------------------$char(10)
$char(1)CAbout the song:$char(10)
Artist: ffffff%artist%$char(10)
Title: ffffff%title%$char(10)Time: ffffff$if(%_isplaying%,%_time_elapsed% '/' )%_length%$char(10)
Track Number: ffffff$num(%tracknumber%,1)$char(10)
Album: ffffff$if3(%album%,still unknown))$char(10)
Release date: ffffff$if3(%date%,not available)$char(10)

------------------------------------------------------------------------------------------$char(10)
$char(1)CTechnical stuff:$char(10)
$char()Codec: ffffff%__codec%                              
$char(10)Bitrate: ffffff%__bitrate% Kbit/s$char(10)
Track Gain: ffffff$if3(%__replaygain_track_gain%, RG not applied)$char(10)
Album Gain: ffffff$if3(%__replaygain_album_gain%, RG not applied)$char(10)
$if(%play_counter%,------------------------------------------------------------------------------------------$char(10)
$char(1)CStatistics:$char(10)
This song was played ffffff%play_counter% times. $char(10)
Last played: ffffff%play_date% at ffffff%play_time%)




foo_uie_trackinfo

Reply #23
Quote
Great work!  Now get back on working with foo_uie_tabs!

Damn I just love all these new UIEs

Also, could you add a "word wrap" feature? This would be really useful for displaying lyrics, as the lines tend to get clipped. Also a vertical scrollbar would also be nice when the displayed info doesn't fit...
[a href="index.php?act=findpost&pid=253544"][{POST_SNAPBACK}][/a]

Thanks. Heh. I just updated uie_tabs.
Word wrap is a possibility. Technically, you could do it with TAGZ, but the code required gets a bit repetitive. Scrollbar maybe, it would need a bit of a redesign to support that though.

Quote
Edit: Phi, could you please add support for $tab() ?
Edit2: And maybe make "dynamic info" optional? Display is flickering from time to time, and I suppose it's wasting some CPU cycles too when you don't have animations. Just a thought...

Btw: Thanks for making yet another plugin/panel 
[a href="index.php?act=findpost&pid=253602"][{POST_SNAPBACK}][/a]

Yep. I'd planned $tab support for this release, but ran into a few problems. I'll see if I can fix it. And I'll add disabling dynamic info to my todo as well. There is also something I need to try to eliminate of the flickering (not sure if it will make a difference though).

Quote
EDIT: Suggestion: Double clicking the information area brings up the special info tag editor.
[a href="index.php?act=findpost&pid=253611"][{POST_SNAPBACK}][/a]

Yes, thats planned (maybe not with double-click though). The executed command will be configurable.

Quote
Request: Besides now playing and follow cursor modes, could you add an additional mode that automatically switches to now playing mode when a track is currently playing and back to follow cursor when no track is playing?
[a href="index.php?act=findpost&pid=253633"][{POST_SNAPBACK}][/a]

Yeah, I could do that. It'll probably take the form of an option in the preferences to "switch to follow cursor mode when no track is playing." Just to confirm, would you want changing playlist focus to never affect the currently displayed track while a song is playing? Or would you want the displayed track to change when a new song starts, but also allow a change in playlist focus to affect the displayed track?

EDIT: actually, you'd want to be able to switch to and from that mode without going into the prefs, right?

@messer:
Haha. I'm glad the plugin is being put to good use.

foo_uie_trackinfo

Reply #24
Quote
Just to confirm, would you want changing playlist focus to never affect the currently displayed track while a song is playing? Or would you want the displayed track to change when a new song starts, but also allow a change in playlist focus to affect the displayed track?
The former... Thanks Phi!