HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: manudevil on 2006-03-28 17:42:56

Title: Foo_osd
Post by: manudevil on 2006-03-28 17:42:56
Hello !

I'm using foobar since 0.7 and I like it ! Using Foo_osd too, but I miss some function... With the last port for Foobar 0.9, I don't know how to display OSD with a keyboard shortcut. Is there any way ?

Thanks !
Title: Foo_osd
Post by: lav-chan on 2006-03-28 17:46:51
No, i noticed that too, i think he got rid of that feature. :/

As an alternative (sort of, depending on how you use it) you can set the OSD to display when you pause the track. That's what i did. Better than nothing.
Title: Foo_osd
Post by: manudevil on 2006-03-28 17:51:03
I did it. But I miss this feature.
I hope its great developer will add this again !
Title: Foo_osd
Post by: djet on 2006-03-28 20:43:32
I miss it too. You can use built-in fb2k tray notification instead or PrettyPopup component.
Title: Foo_osd
Post by: manudevil on 2006-03-28 20:48:03
Yeah, that's right. But I prefer OSD. And I dismissed the tray icon, because of OSD use... so, if there is any maioration possibility of this great plugin it would be nice.
Title: Foo_osd
Post by: troskal on 2006-03-28 21:04:33
http://kode54.foobar2000.org (http://kode54.foobar2000.org)
Title: Foo_osd
Post by: manudevil on 2006-03-28 21:10:17
Euh... what's up ?
Title: Foo_osd
Post by: Mafioso on 2006-03-30 14:37:55
I also would like to use shortcuts for the foo_osd component! In my previous (8.3)setup it was the only way I used it.

btw, can someone tell me the difference between the 'normal' and the gdi+ version?
Title: Foo_osd
Post by: hypersonic on 2006-03-30 14:58:17
Quote
I also would like to use shortcuts for the foo_osd component! In my previous (8.3)setup it was the only way I used it.

btw, can someone tell me the difference between the 'normal' and the gdi+ version?
[a href="index.php?act=findpost&pid=377071"][{POST_SNAPBACK}][/a]


it uses microsofts gdi+ graphics library to draw to screen.. no idea what that means for the end user..
Title: Foo_osd
Post by: manudevil on 2006-03-30 17:41:20
I've seen no difference, except the GDI+ version need much more resource. Visually, it is quite the same.
Title: Foo_osd
Post by: patsy on 2006-03-30 20:57:29
hello
I'm using foobar 0.8.3 and I'm looking for Foo_osd.dll but I only found the 0.9 version
So if anybody can give me an adress to download it 
Thanks
Title: Foo_osd
Post by: manudevil on 2006-04-01 09:14:36
Here it is : http://kode54.foobar2000.org/ (http://kode54.foobar2000.org/)


[Mode prayer on]
Kode54, if you are listening to us,
please add a menu
and a keyboard shortcut possibility
to display your OSD
Thank you !
[/Mode prayer on]
Title: Foo_osd
Post by: manudevil on 2006-04-01 09:18:14
By the way, here is my OSD code :
Code: [Select]
$if(%_ispaused%,ffffff|000000'[Pause] ')000000|00FFFF[%artist%]$char(10)
$if(%album%,00ffff|000000%album%) $if(%tracknumber%,#[%disc%/]$num(%tracknumber%,2)) $if(%album% && %tracknumber%,$char(10))
$if(%title%,000000|00FFFF%title%,%_filename%)$char(10)
$if(%_time_total%!=0,%_time_total% $progress(%_time_elapsed_seconds%, %_time_total_seconds%, 20,$char(9835),$char(8226)) $muldiv(%_time_elapsed_seconds%,100,%_length_seconds%)'%'$char(10),%_length%$char(10))
[cfa923|4b2b10Next: %_next%]

The fact is that the progressbar doesn't progress at all. Do you see the same thing ? It is like the %_time_total% couldn't be read at the true beginning of the track...
Title: Foo_osd
Post by: patsy on 2006-04-01 12:57:48
Quote
Here it is : http://kode54.foobar2000.org/ (http://kode54.foobar2000.org/)
[a href="index.php?act=findpost&pid=377764"][{POST_SNAPBACK}][/a]

here there is only the 0.9 version and I'm looking for the old version for foobar 0.8.3
Title: Foo_osd
Post by: manudevil on 2006-04-06 22:02:15
Ah. I have this. You can download it here : http://www.manudevil.info/www/download/foo_osd.zip (http://www.manudevil.info/www/download/foo_osd.zip)

For the 0.9, nothink new about a keyboard shortcut update ?
Title: Foo_osd
Post by: patsy on 2006-04-06 22:07:59
thanks
Title: Foo_osd
Post by: manudevil on 2006-04-06 22:13:51
You're welcome.
Title: Foo_osd
Post by: 4nt1 on 2006-04-06 22:48:16
excuse my ignorancce but what is foo_osd ?
is it like pretty pop and toaster?

update

just tested it out, i like this better then pretty popup, its very simple and displays exactly what i want.
Title: Foo_osd
Post by: Chaser on 2006-04-06 23:05:45
Kind of - but much simpler. It displays a custom string on top of all windows. It stays there for a amount of time and then disappears again (no albumart or such stuff..)
Title: Foo_osd
Post by: manudevil on 2006-04-07 13:43:29
It is very simple, and so doesn't need any resource.




I miss an hotkey option...
Title: Foo_osd
Post by: ssamadhi97 on 2006-04-13 19:30:27
This feature has been requested several times and the developer will implement it when he feels like it.

No pointless thread bumping please.

(bumping posts have been split)
Title: Foo_osd
Post by: fabiospark on 2006-06-25 15:10:16
Should I use the 'display forever' setting, is there a way to hide the OSD (maybe with an escape or a mouse movement)?

A few feature requests:

- vertical and/or horizontal scrolling (and bouncing) according to available space
- ability to show graphics if there is a particular value into a tag
- auto showing after some time the keyboard and mouse are not used (screeensaver behaviour)
- ability to set a fixed dimension (in pixels) of the background

Thanks.
Title: Foo_osd
Post by: jon.schaffer on 2006-06-25 22:37:08
I miss an hotkey option...

Another way to do this would be to wait a port of foo_qconfig.
It allows you to add commands in menu. When a command is in a menu, you can assign a shortcut to it. At least, that worked like this in 0.8.3... and this was pretty useful.
Title: Foo_osd
Post by: thuan on 2006-06-26 00:41:32
Beside the shortcut keys, it seems that %_next% doesn't work either or am I miss something?
Title: Foo_osd
Post by: Piet on 2006-06-26 06:37:03
Beside the shortcut keys, it seems that %_next% doesn't work either or am I miss something?


In "Default" playback order, it should work, but it will not work with the shuffle modes. At least it behaved like this in the 0.8 version.
Title: Foo_osd
Post by: wojtek on 2006-12-10 22:37:17
Little refresh - any chances for adding keyboard shortcut?
Title: Foo_osd
Post by: mpioner on 2006-12-11 00:56:13
lwiczek
+1
Title: Foo_osd
Post by: Piet on 2006-12-11 08:37:39
1
Title: Foo_osd
Post by: jerkface on 2007-08-06 16:07:00
Any chance of a keyboard shortcut for the "new" version of foo_osd ??

Anybody have any workarounds other than pausing/seeking the song?
Title: Foo_osd
Post by: blaxima on 2007-08-06 18:22:19
A shadow effect and hotkey would be great if this is still being developed
Title: Foo_osd
Post by: pirlouy on 2008-05-29 15:41:37
It would be nice if it was able to detect full screen (like popup plugin for example).
But I guess plugin is not developed anymore. I hope someone else will improve it.

Great plugin.
Title: Foo_osd
Post by: lctm on 2008-09-26 18:02:03
It would be nice if it was able to detect full screen (like popup plugin for example).
But I guess plugin is not developed anymore. I hope someone else will improve it.

Great plugin.


So nobody's developing it anymore?
I tried to use it but can't seem to be able to change the settings (they always come back to their default value after a message tells me "the current preset has been modified. Do you want to save the changes?", whatever I click, Yes or No.
=(

otherwise it's a great plugin yeah!
Title: Foo_osd
Post by: tpijag on 2008-09-26 21:35:17
If you actually want assistance, you might want to be a bit more specific.

There are multiple tabs of values to set. Where are you having trouble.

It has been trouble free for this user.

terry
Title: Foo_osd
Post by: Lyx on 2008-10-02 00:48:33
This is a bug in the plugin. The only way to actually apply new settings is to "apply" them - just going elsewhere or clicking save will not work, because regardless of what you click in the mentioned popup, it will always discard the changes.
Title: Foo_osd
Post by: boombaard on 2009-03-30 00:37:50
would it be possible to add unicode support to the plugin?
Title: Foo_osd
Post by: kode54 on 2009-03-30 01:16:12
would it be possible to add unicode support to the plugin?

It already supports Unicode. What seems to be the problem?
Title: Foo_osd
Post by: jabcok on 2009-05-19 21:48:01
maybe an option to show text only on desktop?
Title: Foo_osd
Post by: odyssey on 2009-09-16 13:38:33
I like this plugin very much, but for some reason it doesn't support any ttf installed 

Another great feature could be something like an "MTV-mode" where the info would popup x sec before the track ends.
Title: Foo_osd
Post by: 2E7AH on 2009-10-04 17:41:58
I like it too

I've made this MailTicker look for foo_osd, and thought to share (user of The Bat! may find it nice)
The font is rendered better without GDI+ (at least on my display)

Code: [Select]
'Artist :  '
$rgb(0,250,0)
%album artist%
['  [ '%album%[' ('Disc %discnumber%')']' ]']

$crlf()

'Track :  '
$rgb(0,250,0)
[$num(%tracknumber%,2) - ][%track artist% - ]%title% ' [' %length% ']'

The settings are:

Font: Segoe UI, 8pt
Default color: white
Background color: RGB 69,69,101

Transparency for background ~ 180 (or 1/4 from beginning of slider)

(http://img525.imageshack.us/img525/6483/osd.png) (http://img39.imageshack.us/img39/6483/osd.png)

And do I dare to ask for keyboard shortcut (the main reason I browsed this thread)?
Title: Foo_osd
Post by: asdfkrono on 2009-10-10 03:45:49
I like it too

I've made this MailTicker look for foo_osd.........



nice one, i always use the default settings.  But thanks to you, now  evolves XD
Title: Foo_osd
Post by: mstram24 on 2009-11-26 03:29:54
this is great and i love the idea of this plugin but it only works when "overlay" is checked      otherwise it doesnt show up at all!  plz help!
Title: Foo_osd
Post by: nascent on 2009-12-21 15:30:27
Edit:
Just checked for myself and it works fine with Foobar 1.0
Title: Foo_osd
Post by: yayacek on 2010-01-27 01:20:07
Quote
Here it is : http://kode54.foobar2000.org/ (http://kode54.foobar2000.org/)
[a href="index.php?act=findpost&pid=377764"][{POST_SNAPBACK}][/a]

here there is only the 0.9 version and I'm looking for the old version for foobar 0.8.3


Please help!
I'm looking for 'foo-osd' for foobar 0.8.3.
Title: Foo_osd
Post by: bob00 on 2010-03-07 17:56:40
Is overlay working for you guys in DirectX games?
I'm trying to display the titles while I play World of Warcraft and while it works in regular applications and windows, it doesn't work in WoW.
I tried the regular version as well as the GDI Plus one.

My system is Win7 x64
Title: Foo_osd
Post by: mstram24 on 2010-04-17 13:21:51
SICK COMPONENT!!!

thanks for the constant updates.
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-04-24 10:44:52
Thanks for foo_osd!

There is a question: what the checkbox 'Interval update' (in foo_osd configs) means?

Thanks!..
Title: Foo_osd
Post by: Andreasvb on 2010-04-24 11:42:59
Thanks for foo_osd!

There is a question: what the checkbox 'Interval update' (in foo_osd configs) means?

Thanks!..

If you have e.g. a timer showing, it will update the display dynamically.
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-04-24 14:44:50
If you have e.g. a timer showing, it will update the display dynamically.


Got it! Thank you for explanation!..

Another one question: if there is a way to control the foo_osd visibility (switch it on or off) from external app? (I'm trying to show info using OSD only when PC is idle).
Title: Foo_osd
Post by: 2E7AH on 2010-05-10 06:07:09
Can we have option for popping on transition end/start?
Title: Foo_osd
Post by: AlexWMF on 2010-06-08 00:00:54
Hi, I periodically have mistake and crash foobar.
in failure_*.txt:
Code: [Select]
Crash location:
Module: foo_osd
Offset: 84DBh
Title: Foo_osd
Post by: Grave on 2010-08-24 10:18:31
is there a way to position osd elements on multiple display setups?
i cant seem to get it display on my left monitor, it always shows on central primary monitor
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-21 14:11:22
With the new Foo_osd update it is possible to use it on multiple monitors. Thanks, kode54!

Personally I'm still missing a way to show OSD Overlays _only_ when user was idle for specified time: I just don't want to show overlays when computer is in use.
Title: Foo_osd
Post by: bsw11 on 2010-10-23 21:44:50
I cannot seem to change the font color from the green to any other color.  Is anyone else having this issue? 

I am running W7 X64 with NVIDIA GTX 470 graphics.


OK I figured it out - you have the change the format string - but the color setting should do that as well I would think?

Thanks!
Title: Foo_osd
Post by: kode54 on 2010-10-23 23:56:54
The color setting does not affect the text color if you use any color codes, and the reason for using a color code by default is that I was too lazy to add a default outline color setting. Removing the color code results in the text using the RGB inverse of the text color for the outline color. I should change the code to use a HSB brightness inversion instead.

Also, I wouldn't know how to make it only show overlays when the system is idle, as I don't know how to read the system idle time counter, and I don't want to implement my own input idle checking based on hooking every possible input device in the system and running my own idle counter.
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-24 06:15:06
Also, I wouldn't know how to make it only show overlays when the system is idle, as I don't know how to read the system idle time counter, and I don't want to implement my own input idle checking based on hooking every possible input device in the system and running my own idle counter.


Thanks for your answer.

There are standalone apps (like nnCron, for example), which can detect the user idle state. But there is no way to enable/disable overlays from another app... So, maybe it is possible to implement some external app control (starting/stoping overlays from command line, windows messages, file flags or smth like this) if you don't want to implement idle time control?
Title: Foo_osd
Post by: kode54 on 2010-10-24 10:37:05
Aha, GetLastInputInfo should be useful for this purpose. I will be able to add a configurable delay before overlays start appearing, or trigger overlays after that much time. Of course, adding extra information to the configuration will require a careful means of implementing backwards compatibility, since I didn't add a version field to my configuration data like I probably should have.
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-24 12:59:50
Aha, GetLastInputInfo should be useful for this purpose.


Great news!.. I'm dreaming about an option which will allow me to start displaying overlays when user idle time exceeds configurable amount of time (say, 5 minutes) and to stop displaying overlays immediately when user activity is detected again.
I'm ready for some testing (if you need this).
Title: Foo_osd
Post by: kode54 on 2010-10-25 05:56:45
Okay, I've implemented the idle display control. It can also only display the overlay until the system is idle, in case anyone wants that.
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-25 08:29:57
I've implemented the idle display control.


Hmm... Does not seems to work or me (Win7 Ultimate, Fb2000v1.1.1b2, On-Screen Display GDI+ 1.64).
I have set 'On idle timeout' to 10 seconds and checked 'Hide until idle, then display'. But the overlay never pops up.
Here is a screenshot of my configuration: http://goo.gl/AH7h (http://goo.gl/AH7h)

If there is a chance that foo_osd thinks user never becomes idle on my PC? Can I have a debug build which will continuously show (or log) the idle time counter?
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-25 08:55:21
If there is a chance that foo_osd thinks user never becomes idle on my PC?


Exactly! It turns out, that foo_noss plugin was resetting the user idle count to prevent screensaver from starting. Now (after disabling foo_noss) foo_osd seems to work as expected.
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-25 09:50:59
Ok, I have set foo_osd to 'Hide until idle, then display' (http://goo.gl/AH7h). Here is what happens:

- when user is active right after launching FB2000 the overlay is hidden (right!)
- when idle counter is greater than set in foo_osd options the overlay appears on the screen and changes every new song (right!)
- when user activity is detected again the last shown overlay stays on the screen until the user becomes idle again (wrong!)

The last item seems wrong to me. There is no reason to show outdated song info on screen while the user is not idle. I was expected the overlay to disappear when user activity is detected again (we are trying to 'Hide until idle', aren't we?). Is it possible to implement this?

Thank you!
Title: Foo_osd
Post by: kode54 on 2010-10-26 03:29:40
Fixed.
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-26 15:18:40
Another one issue: when foo_osd is set to 'Hide until idle, then display' the overlay is displayed when idle counter is greater than set in foo_osd options even when there is no song played in FB2000: the player is loaded but not started (not even paused). Can this be fixed?

Thank you!
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-26 22:58:07
The same happens when FB2000 stops playing reaching the last song in the playlist: the overlay with the last song info stays on screen until there is some user activity.
Title: Foo_osd
Post by: kode54 on 2010-10-26 23:57:24
Hiding the overlay through the hide on stop trigger should stop it from reopening on idle when no track is playing now.

I'm not sure if I should do anything about the overlay not opening on idle if you activate the idle option after starting playback and no track change has occurred.
Title: Foo_osd
Post by: Valery_Kondakoff on 2010-10-27 08:52:18
Hiding the overlay through the hide on stop trigger should stop it from reopening on idle when no track is playing now.


Thank you a lot! Now foo_osd manages idle timeout exactly as I expected.

There is still one cosmetic issue: If you disable 'Display forever' check-box, the overlay will appear on screen on idle timeout, then will stay on screen as long as it is specified in 'Display time' option and then disappear, but immediately appear again in a loop. (Options pop-up on 'Stream titles', 'Dynamic bitrate, etc' are switched off).

I'm not affected of this issue because I'm using foo_osd in 'Display forever' mode, but it seems, that when user disables 'Display forever' he is expecting overlay to disappear until there is another one specifyed trigger.

Title: Foo_osd
Post by: kode54 on 2010-10-28 00:44:06
Yeah, I've fixed that issue as well. Now the idle checker timer remembers whether it was idle or active the last time the state was checked, so it won't repeatedly open or hide the overlay.
Title: Foo_osd
Post by: kode54 on 2010-11-23 06:59:34
Bump for working keyboard shortcuts. Sorry, they're tied to overlay number and not name, but that should be fine as long as you don't go deleting overlays without fixing your shortcuts afterward.

The commands are under [main] -> View -> On-Screen Display, although for some reason, probably because I'm an idiot, they don't appear in the actual main menu, just the keyboard shortcuts preferences dialog.
Title: Foo_osd
Post by: Ishikawa on 2010-12-04 15:19:09
Great plugin!

I have my title pop-up set how I like.. but when the font is set to the size that I can easily read it, quite often long album or track titles go off screen. Is there any way to have it wrap the text to fit within a certain width? Or multiple lines?

Cheers.
Title: Foo_osd
Post by: kode54 on 2010-12-04 23:06:22
There is no automatic wrapping, but you may insert your own line feeds with $char(10) and separate the different fields into their own lines.
Title: Foo_osd
Post by: Ishikawa on 2010-12-07 13:21:54
There is no automatic wrapping, but you may insert your own line feeds with $char(10) and separate the different fields into their own lines.



Ahh yes, thanks!
Title: Foo_osd
Post by: Valery_Kondakoff on 2011-02-04 10:19:56
Hi!

I'm trying to use the latest foo_osd with the following scenario:

- when there is no user activity for 30 seconds the song info appears
- if there is no user activity for 5 minutes the display is turned off and song info appears on black background
- when there is user activity detected the display is turned back on and song info disappears

The problem is that when display is turned off after 5 minutes idle timeout the song info disappears as well and reappears only when FB2K switches to the next song. Unfortunately checking 'Interval update' option does not help to make overlay to re-appear faster after display is turned off.

If there is some workarounds to make foo_osd detect that display was turned off and force redraw the song info?

Thanks!..
Title: Foo_osd
Post by: kode54 on 2011-02-04 13:54:21
There is no way to make foo_osd blank your entire display and only show song information.
Title: Foo_osd
Post by: Valery_Kondakoff on 2011-02-04 18:56:24
Oops! Sorry, it seems I was not clear enough: there is no need to blank the entire display.

The problem is that when the entire screen is blanked by Windows Power management (after 5 minutes of user inactivity) the song information is blanked as well and it reappears only when foobar2000 swithches to the next song.

So, the question was: is it possible to detect that the entire screen was blanked and redisplay the song info?
Title: Foo_osd
Post by: kode54 on 2011-02-04 19:42:26
I'm amazed it even displays at all when the screen is blanked. So probably no.
Title: Foo_osd
Post by: Porthos59 on 2011-02-05 20:07:43
Foobar v1.1.2
On-Screen Display v1.68

Is there anyway to get this not to show volume when the volume is adjusted.

General Tab:
Automatically pop-up on: doesn't seem to do anything

I have Volume unchecked, Auto. pop-up on check or unchecked.

Nothing seems to effect where the Volume is displayed.

Hope kode54 or someone can help.. driving me nuts.. well more nuts..

Thanks
Title: Foo_osd
Post by: Andreasvb on 2011-02-05 20:12:43
Make sure you have it disabled in all your presets, the drop-down menu at the top.
Title: Foo_osd
Post by: berocent on 2011-02-28 10:14:13
any possibility to change  "... and hide on stop" into "... and hide on pause"  ,or add maybe ,not sure if any1 asked for this before ,cant rly find it.
Title: Foo_osd
Post by: Tobi7241 on 2011-03-29 14:06:45
ver 1.62 introduced stretching OSD over all virtual desktop size. Is there a control to show the OSD just on one of the multiple monitors ?
I'd like the OSD to show just on one monitor.

Title: Foo_osd
Post by: kode54 on 2011-03-29 14:26:44
Only if you want to configure the current resolution for each screen manually. I don't really want to go into detecting the resolution of every desktop or where they are arranged in the virtual desktop space.

Set the position so it only appears on one monitor.
Title: Foo_osd
Post by: James2000 on 2011-04-07 17:18:27
Hey kode,

Since I've configured the OSD to display the artist name, track number and name, album title etc., sometimes the line's too long for the screen width. It still remains centered of course (as per my position settings), but the two ends get chopped off. So would it be possible to add an option (checkbox) to wrap the text if required?

Also, the default preset is called, of course, "Default" (no surprises there!) I made extensive changes to that preset till everything was just so. Unfortunately, somehow I pressed the Add button and another preset called "Default" got added, so that now there were two with the same name. On noticing this, of course I ended up deleting the wrong one by mistake, and had to redo everything to get it back to the way I liked it. So a simple solution would be to add new presets as "Default (1)", "Default (2)" etc. if "Default", "Default (1)" etc. already exist.
Title: Foo_osd
Post by: Perq on 2011-04-10 21:55:01
Hi there,
The option I really miss, is turning whole OSD off with shortcut. (the overlay switch).

I sometimes get the OSD on fullscreen applications, and in most cases it does weird stuff.
What might be useful:
- Detecting fullscreen, and turning off the OSD when it is active (this would be really nice)
- Getting a keyboard shortcut (most likely global) to turn off the overlay switch

Hope I helped in any way.

Cheers
Title: Foo_osd
Post by: kode54 on 2011-04-14 18:53:52
Auto line wrapping: When I feel like it.
Detecting full screen applications and shutting off manually: The same.

Keyboard shortcut to enable or disable the overlays altogether: Open the usual keyboard shortcuts dialog, locate [main] -> View -> On-Screen Display -> Enable, bind a key to it.
Title: Foo_osd
Post by: sollniss on 2011-04-15 14:27:44
Would it be hard to not disable the the OSD with fullscreen apps but instead displaying it on top of them?
I really would love to have the OSD displayed in games and stuff like fraps and other programs do it. Aren't there some DirectX hook samples to ease that?
Title: Foo_osd
Post by: kode54 on 2011-04-16 05:25:18
fraps and other programs do it by hooking into the process and displaying it using their DirectX or OpenGL context. I don't really feel like getting into that sort of thing right now.
Title: Foo_osd
Post by: Perq on 2011-10-14 17:47:52
Thanks a lot for answers.
Title: Foo_osd
Post by: John2K on 2012-01-08 09:36:13
Hi kode, thanks for the great plugin! If you're still actively developing it, may I make a request? I have global hotkeys set for changing foobar's volume, and foo_osd displays a volume bar whenever I do so. However, I'd love to have an option to display the exact dB to the left or right of the bar, just as foobar's own volume control does in a tooltip when it is moved. An exact dB display will really be the icing on the cake, so if at all possible, please add an option for this to foo_osd. Thanks!
Title: Foo_osd
Post by: kode54 on 2012-01-25 07:19:01
I'll look into implementing that, but it will be kind of a pain since the current volume overlay is fully vector rendered and doesn't actually contain any text.
Title: Foo_osd
Post by: John2K on 2012-01-25 07:43:01
Well I'm obviously not conversant with the actual programming techniques involved. I just thought that since the same component is able to display my song titles on track change, it would be simple to add an optional dB display as well to the volume bar.

Thanks for looking into it, and if it's at all possible, that would be awesome.
Title: Foo_osd
Post by: q=P on 2012-04-13 21:57:52
Only if you want to configure the current resolution for each screen manually. I don't really want to go into detecting the resolution of every desktop or where they are arranged in the virtual desktop space.

Set the position so it only appears on one monitor.

Hi, considering I use it in a portable install with multiple machines and monitor configurations, that's really inconvenient.

It seems like you can get the resolution and arrangement fairly easily with a call to EnumDisplayMonitors(NULL,NULL,callback,opaque), then your callback will be fed the LPRECT of each monitor's bounding box as argument #3 and you can call GetMonitorInfo on callback's arg #1 to find the primary monitor.

It'd be fantastic if there was a checkbox to sticky it to the primary monitor. If it is more complicated than I think it is, don't worry about it, but I'd really appreciate it if you could make it happen.
Title: Foo_osd
Post by: kode54 on 2012-04-14 07:39:49
Okay, so now you can put the overlays on any monitor in the system.
Title: Foo_osd
Post by: q=P on 2012-04-16 22:17:17
Thank you!
Title: Foo_osd
Post by: biribiriRG on 2012-04-18 00:05:58
Is there any way to make the OSD display at all times instead of just for x seconds upon a given event? I set "display forever" in options but it seems to have absolutely no effect, and documentation seems nonexistent.
Title: Foo_osd
Post by: tpijag on 2012-04-18 00:20:51
Tested with On Play event. Works fine here.
Foobar2000 1.1.12B
OSD 1.69
XP pro
Title: Foo_osd
Post by: kode54 on 2012-04-18 00:33:37
"Display forever" works as intended here. Perhaps you set it on the wrong overlay preset? All of the settings in the tabs are overlay specific.


OSD 1.69

I may also ask why you haven't updated yet.
Title: Foo_osd
Post by: biribiriRG on 2012-04-18 00:44:25
"Display forever" works as intended here. Perhaps you set it on the wrong overlay preset? All of the settings in the tabs are overlay specific.


OSD 1.69

I may also ask why you haven't updated yet.


I'm on version 1.70 and I have selected/applied the correct preset as far as I know, http://is.gd/AF8Kdx (http://is.gd/AF8Kdx)
Title: Foo_osd
Post by: tpijag on 2012-04-18 00:56:10
I may also ask why you haven't updated yet.

1.69 works flawlessly for me
Only been a couple of days since update
Your note of changes was regarding multi-monitor for a one monitor type of guy.

I shall change my slothful ways immediately. 
Title: Foo_osd
Post by: kode54 on 2012-04-18 01:59:55
Well, it's the only change I made, but it's worth having, in case you ever do get a second monitor or more. Better than having the overlay centered across the entire virtual desktop space.
Title: Foo_osd
Post by: biribiriRG on 2012-04-18 02:52:59
love how my issue is completely brushed off/ignored. last time I ask a shit-dev anything on this forum again.
Title: Foo_osd
Post by: tpijag on 2012-04-18 03:48:11
Nice attitude toward someone who volunteers time with free software. What have you contributed to the community?
By the way:
I can not replicate the issue.
The Dev can not replicate the issue.
No one currently is confirming this is a problem.
This is an international forum: it is always the middle of the night somewhere.
Pebkac is very difficult and sometimes time consuming to troubleshoot
Try to not let the forum door hit you on your way out.
Title: Foo_osd
Post by: kode54 on 2012-04-18 05:13:55
The only thing I can think of is that there is a bug in the non-GDI+ version of the component, since that's what you appear to be using, but I doubt this.

Also note that when you have it displaying all those different types of events, each of the non-playback events, like playlist switch and volume change, will override the track information display. That is why the component supports multiple overlays, so you can have different overlays displaying different information.

Also, I did not even notice your other replies to the topic because they did not appear to be there when I went to reply to tpijag about his using the previous version, and I didn't bother to let the forum refresh the topic to show my new post.
Title: Foo_osd
Post by: romor on 2012-04-30 13:07:32
How does positioning system work?
In position dialog group I set window to right align, but right edge position is not preserved, same for left edge

(current foobar and component version on XP SP3)
Title: Foo_osd
Post by: kode54 on 2012-05-01 00:33:43
I just tested the window align settings, and it does apply to the window position, relative to the percentages specified. Did you click the Apply button at the top before testing the preset? (Note that you must click OK or Apply at the bottom for the preset changes to be saved permanently.)
Title: Foo_osd
Post by: romor on 2012-05-01 02:19:24
Yes I did all that before posting - tested with apply button untill I got what I wanted for sample track that was playing and then global preferences OK button
I must assume that problem is either with Windows XP or with my generic onboard Intel graphic driver

OK, thanks. I thought that maybe my expectations were wrong, but it seems it just doesn't position on this PC
Title: Foo_osd
Post by: kode54 on 2012-05-01 02:50:02
Are you positioning the correct overlay? The visible settings affect the same overlay as the test button displays. I don't see how those settings could go wrong like that, since the math has nothing to do with drivers.

Also, are you adjusting the window position, or the text position? Text position only controls text alignment within a fully sized window, and has no effect when there's only a single line of text.
Title: Foo_osd
Post by: romor on 2012-05-01 14:58:35
It was flip logic - left aligh is actually right align and vice versa
So when position window is set to left aligh - right edge on pop window is fixed and when set to right align, left edge is fixed
Title: Foo_osd
Post by: kode54 on 2012-05-01 20:08:10
The window position setting is supposed to position the window to the left, right, or center of the configured position. Maybe it's confusing since it's placed directly above the text alignment setting, which behaves the opposite.
Title: Foo_osd
Post by: romor on 2012-05-01 23:57:01
I hope we understand each other
Right align - left aligns, and left align - right aligns; should be opposite

If everybody is happy with it than great, as I don't want to ruin already established rules with my philosophy
Title: Foo_osd
Post by: kode54 on 2012-05-02 01:07:33
Well, I guess that's the way you could put it, but it's a little different from alignment. The left/center/right position of the window seems to make more sense in that it's the position of the window relative to the percentages configured. If you want the window to appear on the left side of that imaginary point, you click the left button, and on the right, the right button. And if you want it centered on that point, the center button. The opposite would only make more sense if the positioning included a complete bounding box.
Title: Foo_osd
Post by: nascent on 2012-06-06 22:46:43
I love foo_osd but today I updated foobar components and the foo_osd update changed the style.  Instead of a nice simple volume bar like:

(http://i.imgur.com/udGoN.png)

It has now changed to this:

(http://i.imgur.com/x6rG8.png)

Is there any way to have it display using the older, more simple, bar design, or do I have to have this new one?  I reverted to an older version of osd to get it the way I like it, but it's a pity to have to avoid updating my foo components in fear of it changing back to this weirder new design.

Many thanks.

I've used your plugin for years now, and thank you for keeping it supported.

Title: Foo_osd
Post by: Andreasvb on 2012-06-06 23:48:05
It comes in 2 versions, one GDI and one regular.

http://kode54.foobar2000.org/ (http://kode54.foobar2000.org/)
Title: Foo_osd
Post by: nascent on 2012-06-07 01:37:50
It comes in 2 versions, one GDI and one regular.

http://kode54.foobar2000.org/ (http://kode54.foobar2000.org/)

So by updating components it's downloaded the wrong type?  I used to have regular, and it updated to GDI?
Title: Foo_osd
Post by: kode54 on 2012-06-07 01:52:14
That is only because decided not to upload both versions to the main repository. I could make it so that it doesn't update the regular version at all. Or I could confuse people by uploading both.
Title: Foo_osd
Post by: Luzzifus on 2012-06-07 07:41:15
Hi,

I'm a long-time user of your OSD plugin and I really love it! I'm using it for a rather special use case (at least I think): For my HTPC it is a static display (means always on screen) of what's playing currently on a MIMO USB-monitor with a resolution of 800x480. That works great so far and looks like this:



Thanks in advance,
Luzzifus.
Title: Foo_osd
Post by: Andreasvb on 2012-06-07 08:04:25
You could setup so it only displays while playing.
Title: Foo_osd
Post by: Luzzifus on 2012-06-07 08:08:30
That wouldn't help because it's basically always playing.
Title: Foo_osd
Post by: Andreasvb on 2012-06-07 09:31:46
You can pause it when managing your playlists then play again and the OSD will show.
Title: Foo_osd
Post by: Luzzifus on 2012-06-07 10:02:39
Thanks for your ideas. But seriously, I'd like to keep the music playing.
Title: Foo_osd
Post by: nascent on 2012-06-08 01:24:01
That is only because decided not to upload both versions to the main repository. I could make it so that it doesn't update the regular version at all. Or I could confuse people by uploading both.


Having to remember to force over the component each time manually would be  pain.  Could you not have both in the repositories? One as foo_osd(GDI ) the other as foo_osd?
Title: Foo_osd
Post by: Razwerkz on 2012-07-10 18:14:02
Hello again.
I was wondering if there was a way to set font and/or transparency for individual lines?  I have this:

Code: [Select]
$rgb(255,0,0,0,0,0)$if(%title%,%title%,%filename_ext%)$crlf()
[$rgb(255,0,0,0,0,0)%subtitle%$crlf()]
$rgb(255,0,0,0,0,0)$if(%artist%,%artist%,unknown artist)$crlf()
[$rgb(255,0,0,0,0,0)%album%]


I want to make the last three lines smaller and dimmer.
Title: Foo_osd
Post by: pepelepew on 2012-09-09 18:37:44
Hello,

This is very nice add-on for foobar. Thanx to the creator.

However, I'd love to have an option to display the exact dB to the left or right of the bar, just as foobar's own volume control does in a tooltip when it is moved. An exact dB display will really be the icing on the cake, so if at all possible, please add an option for this to foo_osd. Thanks!

Yes, yes, I too am wanting this to see volume level exactly.

(https://dl.dropbox.com/u/3021141/htpc-foobar_osd_desktop.jpg)

Wow, how you are doing this? I am thinking this add-on can show simple one-line text only. Plz tell me how you got this result?
Title: Foo_osd
Post by: Brett289 on 2012-10-02 13:08:25
Hello, I am a huge fan of this Plugin...
To the developer... Would you be able to add an option to display when "Stop after current" is selected in foobar? Please.
Title: Foo_osd
Post by: nascent on 2012-10-03 02:36:50
Ok I figured out how to get the pretty progress bar that Luzzifus is using.

(http://i.imgur.com/ysWVT.png)

You need to go to On-Screen Display settings within foobar
The Format tab.
copy and paste 
Code: [Select]
$progress(%_time_elapsed_seconds%, %_time_total_seconds%, 40,$rgb(143,58,191,0,0,0)'♫',$rgb(48,18,64,0,0,0)'∙')


You can alter the look with the font button in the General tab.  Arial at size 40 is good because it aliases well.  To change the colors you need to edit the numbers in the code above, not the default color/background color buttons.  Although, you may want to lower the background transparency in the Effects tab to have a black background color for contrast with the progress bar font.

Sadly, there doesn't seem to be a way to do it with volume, only time, which is disappointing.

Enjoy.

@pepelepew to have multiline use $char(10) for newline
Title: Foo_osd
Post by: kode54 on 2012-10-03 06:55:23
Volume doesn't actually use characters, it's drawing the shapes manually with vector drawing functions.
Title: Foo_osd
Post by: foomark on 2012-10-03 08:47:55
This plug-in is great!! Thank you!!
It would be perfect with just 2 more options (just graphical, 'cause it works already nice):
-Round corners
-Change the default green colour
Than we'd have the same NotifyOSD of Ubuntu 
Title: Foo_osd
Post by: nascent on 2012-10-04 01:14:54
-Change the default green colour

You can already change the default green color.
If you just go to the Format tab in the On-Screen Display options, select Volume Display in the drop-down list, and add:
Code: [Select]
$rgb(63,255,63)

to the top of the Format text box.  If you edit those numbers you can get any color you like. $rgb(255,0,0) will be red $rgb(0,0,255) will be blue, etc.
Title: Foo_osd
Post by: foomark on 2012-10-04 08:27:22
-Change the default green colour

You can already change the default green color.
If you just go to the Format tab in the On-Screen Display options, select Volume Display in the drop-down list, and add:
Code: [Select]
$rgb(63,255,63)

to the top of the Format text box.  If you edit those numbers you can get any color you like. $rgb(255,0,0) will be red $rgb(0,0,255) will be blue, etc.


Oh i must have been blind (Cit. Tim Buckley  )
I was trying to change it only with the colours button, and not directly in the code...
Thank you very much!!!

Now only the rounded corners are needed 
Title: Foo_osd
Post by: brkd44 on 2012-11-19 07:38:18
Hi

Great plugin!

I have small audio setup, where 1 laptop is a part of it, and it is more or less dedicated to play music via foobar2000.
This plugin is perfect for this.

My proposals for further developments:

1. It would be great if plugin or foobar itself would prevent system screenserver or monitor shutdown (similiar like in video players small checkbox) when music is playing or pause is pressed. Then with hide option checked I would have on the screen OSD while computer is idle.
2. OSD for full screen. Another option is to have this OSD as a screen saver.
3. Album art as a background.

I don't have any experience with plugins, so please forgive if any point is not possible at all.
Title: Foo_osd
Post by: neothe0ne on 2012-12-09 04:14:11
Is it possible to cache a value for the next time Interval Update happens?

E.g., I want to use %playback_time% (e.g., 0:15) to retrieve a substring from a tag.  But I want that value to display for many seconds after 0:15, not JUST for the second between 0:15 and 0:16.
Title: Foo_osd
Post by: trout on 2012-12-09 20:30:35
Is it possible to cache a value for the next time Interval Update happens?

I'm not sure what this means, but attempting to reply to the following example -

E.g., I want to use %playback_time% (e.g., 0:15) to retrieve a substring from a tag.  But I want that value to display for many seconds after 0:15, not JUST for the second between 0:15 and 0:16.

condition = over 15 seconds:
$ifgreater(%playback_time_seconds%,14,<OVER>,<UNDER>)

condition = over 15 seconds, and under 20 seconds:
$ifgreater(%playback_time_seconds%,14,$ifgreater(%playback_time_seconds%,19,<DONE>,<OVER>),<UNDER>)

Does that help, or is there more to it?
Title: Foo_osd
Post by: Håkan! on 2012-12-21 04:58:07
@kode54: Thanks for latest update to foo_osd! Now volume bar looks much nicer.

Few questions/requests:

1) How do I specify different foreground and background/outline colors for text and volume bar?

2) The background color I have set (black) is not being used for text outline (see screenshot below). Instead it seems to be inverting the foreground color. Can I set the outline to a fixed background color?

3) Why is text not centered on screen? Please can you adjust the calculations?

(http://s11.postimage.org/slujjobxf/image.png)

(http://s10.postimage.org/g02giiya1/image.png)
Title: Foo_osd
Post by: kode54 on 2012-12-22 20:02:35
@kode54: Thanks for latest update to foo_osd! Now volume bar looks much nicer.

Few questions/requests:

1) How do I specify different foreground and background/outline colors for text and volume bar?

You can't at this time. I suggest using different overlays for the text and for the volume bar, as with the default configuration. Yes, all of that configuration data can be configured differently for each overlay you create, and there is no hard limit to the number of overlays you can create.

2) The background color I have set (black) is not being used for text outline (see screenshot below). Instead it seems to be inverting the foreground color. Can I set the outline to a fixed background color?

The background color is not used for the outline color. You must specify six hex codes, or use $rgb(r,g,b,r,g,b) to specify two different colors.

3) Why is text not centered on screen? Please can you adjust the calculations?

The default overlays are slightly off-center, so title information appears above the default volume bar. Please adjust the positions on the first tab of the configuration page.

The positions are relative to the selected screen. If the Window setting is Left, the overlay will be placed to the left of that position, so that its right edge falls on that spot. Center, it will be centered on that spot. Right, it will be placed to the right of that spot. The vertical position is always the vertical center of the window.
Title: Foo_osd
Post by: Madigan on 2013-01-05 02:12:00
I have a fair few dance music mixes that last 1 hour+.

How would I go about getting the track info (artist and title) to display every 10 minutes or so while the track is playing?
Title: Foo_osd
Post by: romor on 2013-01-15 21:33:22
kode54,

I run Desktops (http://technet.microsoft.com/en-us/sysinternals/cc817881), which I discovered accidentally and like it much. It feels more like Linux desktop switching and it's instant unlike MS Virtual Desktops toy.
foobar global shortcuts work as expected, but OSD doesn't show in current desktop, but in the one foobar in run from.
Can you do some magic?
Title: Foo_osd
Post by: nevets1219 on 2013-01-22 19:10:05
@romor, I'm using Dexpot which is similar to Desktops and the on-screen display works fine regardless of which "desktop" I'm in, I'd suggest giving that a try. I believe it's free for private use.

http://www.dexpot.de/ (http://www.dexpot.de/)
Title: Foo_osd
Post by: romor on 2013-01-23 04:32:02
Thanks for the tip, using it right now
It performs very well yet feature rich
Title: Foo_osd
Post by: kode54 on 2013-01-23 06:21:49
Yeah, working around that other desktop switcher would be quite troublesome. I would have to launch a separate thread, or possibly separate executable, and set its default desktop to the current input desktop. That's assuming the desktop permissions allow me to switch to it like that. (Separate desktop objects are what are normally involved with switching to the screen saver and the login screen.)
Title: Foo_osd
Post by: AlexWMF on 2013-03-08 18:35:24
At many times the OSD is shown but not hide after timeout. How solve this mistake?
It reproduce some times when doubleclicked sound in playlist.
foo_osd ver 1.73, foobar2k ver 1.2.3

(http://i52.fastpic.ru/thumb/2013/0308/39/5c85304202f529a2a28194f72d812839.jpeg) (http://fastpic.ru/view/52/2013/0308/5c85304202f529a2a28194f72d812839.jpg.html)
(http://i54.fastpic.ru/thumb/2013/0308/43/aebe266ede3a8a82dfb585fecc75cd43.jpeg) (http://fastpic.ru/view/54/2013/0308/aebe266ede3a8a82dfb585fecc75cd43.jpg.html)
Title: Foo_osd
Post by: Hobbit13 on 2013-03-12 09:27:50
Hi,

Any chance of supporting the new global notification messages in Windows 8? Then Foobar could also update info on lockscreen.

This OSD plugin works fine on Windows 8 by the way, but I like the idea of a global notification message system.

Title: Foo_osd
Post by: kode54 on 2013-03-12 16:47:48
Sounds like a job for a completely different component.
Title: Foo_osd
Post by: EpicForever on 2013-03-27 11:47:26
Just a single question - is it possible in future, that foo_osd will show notifications/confirmations about actions taken with keyboard shortcuts? Like functions turned on/off. Fo example: I'm pressing Shift+S and I see "No Display Standby: turn on" , I'm pressing it again and I see "No Display Standby: turn off". Or Ctrl+Shift+S and I see "Save configuration: executed" ?  Is it possible with foobar to get such informations and display them?
Title: Foo_osd
Post by: kode54 on 2013-03-27 18:24:00
A status bar tracker? Hmm, I'm not sure if that's even possible.
Title: Foo_osd
Post by: EpicForever on 2013-03-27 18:38:14
Basically that's what I was asking for - whether foobar offers some kind of interface, that lets catch this kind of informations (calls for changing settings/running components/executing functions) and use them - for exaple to display it in external component

I was just wondering, because it could be very convenient option.  Sometimes I press keyboard shortcuts erroneously and I'm surprised that something is not working as it - but in fact it wasn't turned on/off as I haven't pressed proper key. Additionally some infrequently used keyboard shortcuts are bit messed in my memory  . If I got something like this then I would be shure what function I triggered  . But this is just a question / idea. Not another feature request
Title: Foo_osd
Post by: Robertina on 2013-05-01 11:25:10
My OSD's style-setting is 'Display forever', the position is centered, 'top:' = 1.

Please have a look at my screenshot (http://img90.imageshack.us/img90/8762/fooosd.png): I want to have the black background that surrounds the displayed text flush with the height of the title bar of active windows so that it does no longer hide parts of their menus.

I cannot figure out how to achieve this. Does anyone know?
Title: Foo_osd
Post by: romor on 2013-05-05 16:47:05
I wanted to make OSD display forever if foobar is paused, and hide after couple of seconds otherwise, but I think that's not possible.

If so, and there is empty space for a tick box in "Automatically pop-up on" group, is it worth adding something like "... don't hide on pause"?
Title: Foo_osd
Post by: Shizukasm on 2013-07-09 01:56:22
Is it possible to, somehow, trigger the display whenever I rate a song? (I have a hotkey for rating, of course)
Title: Foo_osd
Post by: EpicForever on 2013-07-09 16:28:29
No. I already asked about similar functionality. Foobar doesn't provide interface that could be used for such functionality.
Title: Foo_osd
Post by: Shizukasm on 2013-07-09 22:10:02
I understand. Thanks.
Title: Foo_osd
Post by: enibra on 2013-09-10 19:52:02
Hello,

I am still a noob about foobar and just installed OSD, nice feature, thanks for your work!

However, I can't see the text when I'm within a graphical fullscreen application, e.g. a game. For example, I tried Borderlands 2 and League of Legends and it's not shown. Both applications ran in fullscreen, not windowed-mode.

Is this something that foo_osd can't provide? Would it help to use a windowed-mode or so?

Thanks for your feedback and best regards!
Title: Foo_osd
Post by: enibra on 2013-09-17 14:58:14
Hm, can somebody tell me if it's possible at all? That would be great! Thanks!
Title: Foo_osd
Post by: kode54 on 2013-09-17 23:35:38
Working properly in all fullscreen applications would require hooking into those applications and inserting something into their rendering process. Not exactly something easy to do, and prone to being picked up by anti-cheating software.
Title: Foo_osd
Post by: Robertina on 2013-09-18 02:30:39
I can't see the text when I'm within a graphical fullscreen application, e.g. a game. For example, I tried Borderlands 2 and League of Legends and it's not shown. Both applications ran in fullscreen

For "Playback/Pause" I have assigned a global hotkey in foobar2000, in the foo_osd settings I have ticked "Overlay" and Automatically pop-up on: "Play" and "Pause".

When I start a video in full screen mode with the VLC Media Player Portable (http://portableapps.com/apps/music_video/vlc_portable) (Video Settings: "Accelerated video output (Overlay)" and "Always on top" = active) while foobar2000 is playing, the fullscreen-watched video hides the foo_osd text. Pressing fb2k's Playback/Pause-shortcut (twice) brings then the foo_osd text up in the foreground again. The same happens automatically when foobar starts playing the next track.

Maybe this works also when playing games.
Title: Foo_osd
Post by: nascent on 2013-10-14 21:29:30
Code: [Select]
$rgb(255,0,0,0,0,0)$if(%title%,%title%,%filename_ext%)$crlf()
[$rgb(255,0,0,0,0,0)%subtitle%$crlf()]
$rgb(255,0,0,0,0,0)$if(%artist%,%artist%,unknown artist)$crlf()
[$rgb(255,0,0,0,0,0)%album%]


I want to make the last three lines smaller and dimmer.


This never got a response, but I too would love a way to do this if at all possible.  Even if there were a way of using superscript or any other dirty trick to have text smaller on one line to others.
Title: Foo_osd
Post by: Robertina on 2013-10-15 04:31:55
At least the use of different colours is possible with foo_osd. Example code based on Razwerkz's original pattern:

Code: [Select]
$rgb(255,0,0)$if2(%title%,%filename_ext%)$rgb()$crlf()
[$rgb(227,0,0)%subtitle%$rgb()$crlf()]
$rgb(208,0,0)$if2(%artist%,unknown artist)$rgb()$crlf()
[$rgb(174,0,0)%album%$rgb()]

(http://imageshack.us/a/img854/4029/aqzz.png)

For the colour matching I created a new empty image with IrfanView, background colour = red. Then I reduced gradually the brightness via the menu Image > Color corrections. Clicking in the image and holding down the left mouse button shows the current RGB values in IrfanView's window title.
Title: Foo_osd
Post by: nascent on 2013-10-16 12:10:03
(http://imageshack.us/a/img854/4029/aqzz.png)

For the colour matching I created a new empty image with IrfanView, background colour = red. Then I reduced gradually the brightness via the menu Image > Color corrections. Clicking in the image and holding down the left mouse button shows the current RGB values in IrfanView's window title.

Thanks for the response, I considered darkening/Lightening the color, but it's useless unless you have a transparent background.  I have a transparent background so it doesn't interfere with what I'm working on.

The thing that interests me the most is the idea of changing the font size of different lines/words.  Is this just not possible?  For instance, the album name is not as important to me as the artist/title, so having it all in the same size is cluttered, but I don't like the idea of removing album info altogether.
Title: Foo_osd
Post by: LifeWOutMilk on 2013-10-16 15:44:13
For instance, the album name is not as important to me as the artist/title, so having it all in the same size is cluttered, but I don't like the idea of removing album info altogether.


For myself, I found that adding some additional details made the separation between artist and album much more obvious. Here's what I'm using:

(http://i.imgur.com/hjDYLQR.jpg)
Title: Foo_osd
Post by: 73ChargerFan on 2014-02-02 18:44:18
For instance, the album name is not as important to me as the artist/title, so having it all in the same size is cluttered, but I don't like the idea of removing album info altogether.


For myself, I found that adding some additional details made the separation between artist and album much more obvious. Here's what I'm using:

(http://i.imgur.com/hjDYLQR.jpg)

Can I ask for the settings & font you used?  I like the style better than the default.  Thanks.
Title: Foo_osd
Post by: musikomaniak on 2014-05-09 12:34:59
Mine is not as beautiful, but better that the default one.
I used font Segoe UI light oblique with code (black text):
Code: [Select]
$rgb(0,0,0,0,0,0)[%artist% ]
$char(10)$rgb(0,0,0,0,0,0)$if(%title%, ♫[' '%album%' ']
$char(10)$rgb(0,0,0,0,0,0)%title%,%_filename%)[ '['%_time_elapsed%']']$if(%_ispaused%,'

[paused]')

Title: Foo_osd
Post by: MetalMilitia623 on 2014-11-07 04:07:18
Regarding the fullscreen application issue (namely games) this works in some games and not in others. Borderless windowed will make it show up always, but some games it will just work over without it. It works fine over Intruder in fullscreen but not over BeamNG.drive in fullscreen.
Title: Foo_osd
Post by: fabiospark on 2016-01-04 21:14:41
A few questions and a couple of features requests.

Does anybody has a titleformatting string to cleverly mock auto-wrapping
where long texts are broken only at spaces or at certain characters?
I made one but it breaks on length so it can cut words in a half.


I tried to use $put and $get to simplify the dealing with many colours
but I couldn't make it work:
Code: [Select]
$puts(pl,$rgb(255,255,60))
$get(pl)

Am I doing something wrong?


FR:
Is it possible to be able to set fix dimensions in pixels, cropping the text
if it exceeds the width. We can take care of wrapping (or mock it up).

Is it possible to have the window move a fixed (settable) number of pixels
in random directions every fixed (settable) number of seconds?
I'm trying to mock a screensaver behaviour without forcing you, the coder,
to have to deal with the screensavers issues I read about a few posts above.
I have this solid black background with the now playing info and
in this way I could set the "canvas" size bigger than the resolution of my monitor
(a sort of an overscan) but using a smaller area of my monitor resolution for the info.
In this way I can let the OSD move in each direction for a number of pixels
as the half of the difference from the canvas size and the display size without
uncovering the desktop and having the texts move around avery few seconds
like a screensaver would normally do.

It would be nice to be able to show little graphics (32x32, 24x24,16x16) in the OSD
as I can do in "Track info panel". I would use some icons to show to which situation
a track would fit: breakfast ; house cleaning; relax; listening; and so on.


If all this is too bothering, forget it, of course.

Thank you.

Title: Foo_osd
Post by: Daeron on 2016-01-04 22:30:55
Does anybody has a titleformatting string to cleverly mock auto-wrapping
where long texts are broken only at spaces or at certain characters?
I made one but it breaks on length so it can cut words in a half.

Read this:
http://wiki.hydrogenaud.io/index.php?title...tting_Reference (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference)

You can make a hard cut at the maximum amount of characters you ever want to see (suppose 12):
Code: [Select]
$cut(%title%,12)

Then check at what position the last space is in there:
Code: [Select]
$strrchr($cut(%title%,12), )

And use that to cut the string right where the space is:
Code: [Select]
$cut(%title%,$strrchr($cut(%title%,12), ))

However if there was no space at all, you'd be cutting at position 0, which we don't want. So we will check whether it's 0 or not and will act accordingly:
Code: [Select]
$ifgreater($strrchr($cut(%title%,12), ),0,
$cut(%title%,$strrchr($cut(%title%,12), )),
$cut(%title%,12))

There's also one more thing, if the string that we hard cut once contains a space but is otherwise really short, we'd be cutting it too early the second time. Which we can fix by adding a dummy space.
Code: [Select]
$ifgreater($strrchr($cut(%title%,12), ),0,
$cut(%title%,$strrchr($cut(%title% ,12), )),
$cut(%title%,12))

Not the best explanation, but it works in my quick testing.
Title: Foo_osd
Post by: fabiospark on 2016-01-05 17:59:47
@Daeron: Thanks for your detailed examples, I will have a look into them.

@everybody:

I tried to use $if(%isplaying%, show info, show nothing)
but it seems it doesn't work correctly. When I stop or pause the playing,
the info are still showed with the last values, even for the playing time.
I can only see the "show nothing" for a second or two when I start
the playing of a track.

The same expression works correctly in a track info panel.

Do I have to use some different syntax than the one I found on the
reference page linked by Daeron? If tes, which one?

Thanks.

edit: typo
Title: Foo_osd
Post by: fabiospark on 2016-01-06 21:09:43
Sorry to quote and reply to myself but it could be useful for somebody else.

I tried to use $if(%isplaying%, show info, show nothing)
but it seems it doesn't work correctly. When I stop or pause the playing,
the info are still showed with the last values, even for the playing time.
I can only see the "show nothing" for a second or two when I start
the playing of a track.

The same expression works correctly in a track info panel.

Do I have to use some different syntax than the one I found on the
reference page linked by Daeron? If yes, which one?

I removed the %isplaying% strings and I set the OSD to
"Automatically pop up at play... and hide at stop"
so I will never have info shown with no tracks playing.
I also set up a couple of vbs files to activate/deactivate
the screensaver so that when nothing is playing the screensaver
kicks in and when the play starts the screensaver is deactivated
leaving space for FB OSD.


This is the full configuration string of my OSD, with smart auto wrapping
of title and performer. If the text is longer than the max amount
of characters I can show in a line (76 in my case) it gets truncated
at a space position and the length of the remaining string is checked again
against 76, and so on. I set up a different number of splittings asI have
different maximum lengths for different genres.

I used variables with $puts() and $get() to simplify a little the calculation
of the beginning and the end of each line of text after the truncation.

Here is a couple of screenshots of a jazz track and a classical one.

(http://s27.postimg.org/wrnazpp6n/OSD_1.jpg) (http://postimg.org/image/wrnazpp6n/)      (http://s10.postimg.org/99bzpjl5h/OSD_2.jpg) (http://postimg.org/image/99bzpjl5h/)


Hope some snippet can be useful for somebody else.

Thank you.

Code: [Select]
$crlf()
$crlf()
$crlf()


//Start of title
$rgb(255,255,60)

//If title length is greater than 76 than start to cut it in two lines
//otherwise show it on a single line
$ifgreater($len(%title%),76,

//First line of title, truncated at the last space before the 76th character
$puts(tae,$strrchr($substr(%title%,1,76), ))
$substr(%title%,1,$get(tae))
$crlf()

//Second line of title, from the first character after the last of the first line
//to the last space inside the next 76 chars or to the end of title if shorter.
$puts(tbs,$add($get(tae),1))
$ifgreater($sub($len(%title%),$get(tae)),76,
$puts(tbe,$add($get(tbs),$strrchr($substr(%title%,$get(tbs),$add($get(tbs),76)), )))
$rgb(255,255,60)$substr(%title%,$get(tbs),$get(tbe))
,$rgb(255,255,60)$substr(%title%,$get(tbs),$add($get(tbs),76)))

,%title%)
//End of title

$crlf()
$crlf()
$crlf()


//Start of artist or composer
$if($stricmp(%genre%,classica),$rgb(255,204,153)'Composer:  '$rgb(255,255,255)%composer%,
$rgb(255,255,255)%artist%)
//End of artist or composer and date

$crlf()


//Start of conductor, orchestra, performer, artist, album  and date
[$crlf()$rgb(255,255,255)

//Replaces existing groups of three spaces with a single one into performer field
$puts(pf,$replace(%performer%,   , ))

//If genre is classica shows conductor, orchestra and performer
$if($stricmp(%genre%,classica),
[%conductor%][ - %orchestra%]

$crlf()

//Start of performer
//If genre is classica there will be at maximum two lines
[
//First line of performer, truncated at the last space before the 76th character
//or to the end of performer if shorter.
$puts(lae,$strrchr($substr($get(pf),1,76),')'))
$substr($get(pf),1,$get(lae))

$crlf()

//Second line of performer, from the first character after the last of the first line
//to the last space inside the next 76 chars or to the end of performer if shorter.
$puts(lbs,$add($get(lae),2))
$puts(lbe,$add(-1,$get(lbs),$strrchr($substr($get(pf),$get(lbs),$add($get(lbs),76)),')')))
$substr($get(pf),$get(lbs),$get(lbe))

$crlf()

//Third line of performer, from the first character after the last of the second line
//to the last space inside the next 76 chars or to the end of performer if shorter. (disabled)
//$puts(lcs,$add($get(lbe),2))
//$puts(lce,$add(-1,$get(lcs),$strrchr($substr($get(pf),$get(lcs),$add($get(lcs),76)),')')))
//$substr($get(pf),$get(lcs),$get(lce))

$crlf()

//Fourth line of peformer, from the first character after the last of the third line
//to the last space inside the next 76 chars or to the end of performer if shorter. (disabled)
//$puts(lds,$add($get(lce),2))
//$puts(lde,$add(-1,$get(lds),$strrchr($substr($get(pf),$get(lds),$add($get(lds),76)),')')))
//$substr($get(pf),$get(lds),$get(lde))

//$crlf()

//Fifth line of peformer, from the first character after the last of the fourth line
//to the last space inside the next 76 chars or to the end of performer if shorter. (disabled)
//Disabled
//$puts(les,$add($get(lde),2))
//$puts(lee,$add(-1,$get(les),$strrchr($substr($get(pf),$get(les),$add($get(les),76)),')')))
//$substr($get(pf),$get(les),$get(lee))
//$crlf()
]

,$if($stricmp(%genre%,jazz),

//If genre is jazz there will be at maximum six lines

//First line of performer, truncated at the last space before the 76th character
//or to the end of performer if shorter.
$puts(lae,$strrchr($substr($get(pf),1,76),')'))
$substr($get(pf),1,$get(lae))

$crlf()

//Second line of performer, from the first character after the last of the first line
//to the last space inside the next 76 chars or to the end of performer if shorter.
$puts(lbs,$add($get(lae),2))
$puts(lbe,$add(-1,$get(lbs),$strrchr($substr($get(pf),$get(lbs),$add($get(lbs),76)),')')))
$substr($get(pf),$get(lbs),$get(lbe))

$crlf()

//Third line of performer, from the first character after the last of the second line
//to the last space inside the next 76 chars or to the end of performer if shorter.
$puts(lcs,$add($get(lbe),2))
$puts(lce,$add(-1,$get(lcs),$strrchr($substr($get(pf),$get(lcs),$add($get(lcs),76)),')')))
$substr($get(pf),$get(lcs),$get(lce))

$crlf()

//Fourth line of peformer, from the first character after the last of the third line
//to the last space inside the next 76 chars or to the end of performer if shorter.
$puts(lds,$add($get(lce),2))
$puts(lde,$add(-1,$get(lds),$strrchr($substr($get(pf),$get(lds),$add($get(lds),76)),')')))
$substr($get(pf),$get(lds),$get(lde))

$crlf()

//Fifth line of peformer, from the first character after the last of the fourth line
//to the last space inside the next 76 chars or to the end of performer if shorter.
$puts(les,$add($get(lde),2))
$puts(lee,$add(-1,$get(les),$strrchr($substr($get(pf),$get(les),$add($get(les),76)),')')))
$substr($get(pf),$get(les),$get(lee))

$crlf()

//Sixth line of peformer, from the first character after the last of the fifth line
//to the last space inside the next 76 chars or to the end of performer if shorter.
$puts(lfs,$add($get(lee),2))
$puts(lfe,$add(-1,$get(lfs),$strrchr($substr($get(pf),$get(lfs),$add($get(lfs),76)),')')))
$substr($get(pf),$get(lfs),$get(lfe))

//$crlf()
,
//%artist% -
%album%  -  %date%

$crlf()

//If genre is different than classica and jazz there will be at maximum two lines

//First line of performer, truncated at the last space before the 76th character
//or to the end of performer if shorter.
$puts(lae,$strrchr($substr($get(pf),1,76),')'))
$substr($get(pf),1,$get(lae))

$crlf()

//Second line of performer, from the first character after the last of the first line
//to the last space inside the next 76 chars or to the end of performer if shorter.
$puts(lbs,$add($get(lae),2))
$puts(lbe,$add(-1,$get(lbs),$strrchr($substr($get(pf),$get(lbs),$add($get(lbs),76)),')')))
$substr($get(pf),$get(lbs),$get(lbe))

$crlf()
)
)
]




//Line to separate performer from the rest
//'Azzurro'
//$rgb(143,200,231)
//______________________________________________________

$crlf()
$crlf()

//Rating
//$rgb(255,204,153)'Rating:  '
$rgb(0,255,255)%rating%          

//Tempo        
//$rgb(255,204,153)'Tempo:  '
$rgb(255,255,255)%tempo%          

//Genre and subgenre (style)
//$rgb(255,204,153)'Genre:  '
$rgb(255,255,255)%genre%          
//$rgb(255,204,153)'Style:  '
$rgb(255,255,255)%subgenre%

$crlf()

//Line to separate between rating, tempo, genre, style and situation
//'Azzurro'
//$rgb(143,200,231)
//______________________________________________________

$crlf()



//Situation
//$rgb(255,204,153)'Situation:  '
$rgb(255,255,255)%situation%                    

//$crlf()

//Line to separate between situation and playback time
//'Azzurro'
//$rgb(143,200,231)
//______________________________________________________

//$crlf()

//Length + playback time + playback time remaining
$rgb(255,255,255)%length%  '-' %playback_time% '-' %playback_time_remaining%

$crlf()

//Fancy progress bar (taken from the forum)
//$progress(%_time_elapsed_seconds%, %_time_total_seconds%, 130,$rgb(143,58,191,0,0,0)'?',$rgb(108,18,64,0,0,0)'?')
$crlf()
$crlf()

//Line to keep the width of the window fixed
'______________________________________________________________________________'

//Some colours codes
//$rgb(255,255,60)'Giallo titolo'
//$rgb(136,204,150)'Verduzzo'
//$rgb(255,204,153)'Rosa'
//$rgb(143,200,231)'Azzurro'
//$rgb(255,0,255)'Magenta'
//$rgb(0,255,255)'Ciano'
//$rgb(255,0,0)'Rosso'
//$rgb(0,0,255)'Blu'
//$rgb(0,255,0)'Verde'
//$rgb(255,255,255)'Bianco'
Title: Re: Foo_osd
Post by: fabiospark on 2016-01-29 20:33:59
Having two presets, is there a way to be sure of which preset will be shown in front and which one in background?

Thanks.
Title: Re: Foo_osd
Post by: kode54 on 2016-01-30 02:03:56
I suppose it depends on which is shown first? They don't parent each other, they're all direct children of the desktop window. I never really thought about multiple overlays overlapping and triggering simultaneously.
Title: Re: Foo_osd
Post by: fabiospark on 2016-01-30 06:54:41
I'm trying to create an osd where the title has a bigger font
than the rest of the info, so I created a preset just for the title
and I positioned it at the top of the screen, and a second one for the rest
that I put in the bottom. They have the same background color
(full black) so they blend as just one. But I have to make their
background overlap a bit hence the need ov an overlapping level setting.

A feature that would help a lot to build this kind of "combined"
setups is the possibility to set fixed dimensions (pixels) for width
and height of each preset canvas.
Now the canvas changes dimensions following the width of
the text and the number of lines so it is unpredictable and so
it's a "hit & hope" when you try to combine two or more.
For now, to get a predictable width I put a line of underscores
in the presets, in an area that won't be shown but it's not ideal.
And it's a bit of a mess trying to do the same for the height
so fixed pixel dimensions would be very welcomed to me.

The position should be set in exact pixels too.

The ability to assign a fixed level in the overlapping order
to each preset, would let us (me, at least) build more useful and
interesting things.
Nice if one can assign the same level to more than one overlay.

Another thing would be the ability to change the background color
of each preset at scripting level, as we can do now with the text.

Last one would be the ability to show the system time value
at least in the hh:mm format.

But if it just for me, don't bother and have a nice walk...
(I think you skilled "coders" are always a bit behind with that: aren't you?)

Thanks for your time.
Title: Re: Foo_osd
Post by: while loop on 2016-12-19 15:02:32
Is it possible to display cover art in on-screen display?
Title: Re: Foo_osd
Post by: kode54 on 2016-12-19 20:58:27
At this time, the OSD is text-only. I may look into inserting cover art, but that will require complex changes to the render code, to support insertion of an arbitrary image in place of some placeholder text.
Title: Re: Foo_osd
Post by: Majeye on 2017-01-03 10:40:33
Is there anyway (or any code) that makes OSD "stick" to the top center of the spectrum visualization?
Title: Re: Foo_osd
Post by: stevehero on 2017-08-08 18:38:58
Had a little trouble getting the pause to work and to appear correctly after reopening FB2K. It kept saying it was still playing but managed to sort that out.

Here's my formatting and settings.

Code: [Select]
$puts(formatting,
[
 $rgb(255,0,128,0,0,0)"$rgb(0,0,0,0,0,0)%title%$rgb(255,0,128,0,0,0)"
 $rgb(0,0,0,0,0,0)by
 $rgb(255,0,128,0,0,0)%artist%
 $rgb(0,0,0,0,0,0)- %album%]
 $rgb(192,192,192)|
 $rgb(255,0,128,0,0,0)[%playback_time%]
$rgb(0,0,0,0,0,0)[/%length%
$rgb(192,192,192)|
]
)

$if(
$and(
$not(
%ispaused%
),
%isplaying%,%artist%,%title%,%album%
),
$get(formatting) $rgb(255,0,128,0,0,0)PLAYING
,
$get(formatting) $rgb(192,192,192)PAUSED
)

Screenshots and settings attached:

Title: Re: Foo_osd
Post by: Razinal on 2017-08-14 16:00:17
Guys you need to replace "%isplaying%,%artist%,%title%,%album%" with "%isplaying%" to get the play/pause part of this wonderful osd to work.
Had a little trouble getting the pause to work and to appear correctly after reopening FB2K. It kept saying it was still playing but managed to sort that out.

Here's my formatting and settings.

Code: [Select]
$puts(formatting,
[
 $rgb(255,0,128,0,0,0)"$rgb(0,0,0,0,0,0)%title%$rgb(255,0,128,0,0,0)"
 $rgb(0,0,0,0,0,0)by
 $rgb(255,0,128,0,0,0)%artist%
 $rgb(0,0,0,0,0,0)- %album%]
 $rgb(192,192,192)|
 $rgb(255,0,128,0,0,0)[%playback_time%]
$rgb(0,0,0,0,0,0)[/%length%
$rgb(192,192,192)|
]
)

$if(
$and(
$not(
%ispaused%
),
%isplaying%,%artist%,%title%,%album%
),
$get(formatting) $rgb(255,0,128,0,0,0)PLAYING
,
$get(formatting) $rgb(192,192,192)PAUSED
)

Screenshots and settings attached:


Title: Re: Foo_osd
Post by: stevehero on 2017-08-14 16:34:20
Guys you need to replace "%isplaying%,%artist%,%title%,%album%" with "%isplaying%" to get the play/pause part of this wonderful osd to work.
It works just fine with that solution I posted. The ,%artist%,%title%,%album% are there to check if they exist with the and fn.
If you just use isplaying it'll give the wrong feedback if you close fb2k and reopen it. Even thought it's paused it'll think it's playing.
That's what the $not(%ispaused%
Is there for.
Title: Re: Foo_osd
Post by: always.beta on 2018-01-06 02:57:30
Embarrassed, I didn't understand the options. Nothing...
Title: Re: Foo_osd
Post by: stevehero on 2018-04-10 23:13:03
Any way to get bold text working with this?
Title: Re: Foo_osd
Post by: kode54 on 2018-04-12 00:39:19
Currently, the only formatting available is for colors. Bold must be set globally for a given overlay, same as italic and underline.
Title: Re: Foo_osd
Post by: stevehero on 2018-04-12 00:45:31
Thanks. 
Title: Re: Foo_osd
Post by: stevehero on 2018-05-10 17:32:55
Tweaked my old one in above post (https://hydrogenaud.io/index.php/topic,43044.msg943370.html#msg943370). (see below the code)

I did notice that the text is cut at the base of the bottom line. Is there any way to fix that? See particularly the S and C for Comment and Style.

Code: [Select]
$if(%isplaying%,
$puts(pipe,$rgb(255,255,255) . )
$puts(genre,$rgb(255,0,128)$replace(%genre%,'/',$rgb(128,128,128)'/'$rgb(255,0,128)))
$puts(title_and_album,$rgb(255,0,128)%artist% $rgb(255,255,255)▪ $rgb(255,0,128)%title% $rgb(255,255,255)Album. $rgb(255,0,128)%album%$crlf())
$if($longer(%comment%,0),$get(title_and_album)$rgb(255,255,255)Comment. $rgb(255,0,128)%comment%,$get(title_and_album)$rgb(255,0,0)No comment)
$if($longer(%style%,0), $rgb(255,255,255)Style. $rgb(255,0,128)%style%, $rgb(255,0,0)No Style)
$if($longer(%genre%,0), $rgb(255,255,255)Genre. $get(genre), $rgb(255,0,0)No Genre)
 $rgb(255,255,255)Progress. $progress(%_time_elapsed_seconds%,%_time_total_seconds%,40,$rgb(255,0,128)' (◣_◢) ',$rgb(128,128,128)'-')
,
$rgb(0,0,0)'(◣_◢)')

(https://i.imgur.com/mtJoWp1.jpg)
Title: Re: Foo_osd
Post by: Anakunda on 2018-05-16 16:24:57
Hiyas, is any chance to change the volume bar to move proportionally with the toolbar volume slider?
I think OSD bar moves from 0 → -100dB linearly so -50db is directly in the middle (if I choose minimum displayable value as -100dB), while standard slider's -50dB is very close the left edge which is natural for volume. I think this should be changed.

Here watch the cap which shows it clear:
https://www.screencast.com/t/KshPFeteI4Qv (https://www.screencast.com/t/KshPFeteI4Qv)

What I wished is to remove the displayable minimum (or leave only for linear mode) and add exponential mode which always has -100dB at left edge and 0dB at right edge.
Title: Re: Foo_osd
Post by: stevehero on 2018-05-17 22:06:57
I was if wondering OSD would work with %cwb_volume% to show a muted and unmuted state such as:

Code: [Select]
$ifgreater(%cwb_volume%,-100,unmuted,muted)
Title: Re: Foo_osd
Post by: kode54 on 2018-05-18 01:44:50
Probably not.
Title: Re: Foo_osd
Post by: stevehero on 2018-05-18 13:11:12
Probably not.
Maybe a future suggestion for the plugin perhaps for the dev.
Title: Re: Foo_osd
Post by: kode54 on 2018-05-18 23:57:36
Hah, yeah, sure. Just show me what I need to do to make it work. Because global formatting hooks haven't been a thing since 0.9.4.5.
Title: Re: Foo_osd
Post by: Anakunda on 2018-05-19 07:48:18
kode54 have you any thoughts for the logarithmic/exponential mode of the volume bar? I'd really find it more suitable.
Title: Re: Foo_osd
Post by: kode54 on 2018-05-19 11:23:53
The core already reports the volume in a logarithmic fashion: In decibels. I already had to convert it back to linear to display it as a sort of percentage.
Title: Re: Foo_osd
Post by: Anakunda on 2018-05-19 14:53:12
So it's not possible to change it to move proportionally with volume slider?
Title: Re: Foo_osd
Post by: seriousstas on 2018-07-20 12:42:53
Hello!
how to see radio (online) tags?
Title: Re: Foo_osd
Post by: seriousstas on 2018-07-20 14:40:33
ChkBox  - Strem Title ..
Title: Re: Foo_osd
Post by: stevehero on 2020-05-23 23:16:44
Emoji support for the formatting would be ❤️ (https://en.wikipedia.org/wiki/%E2%9D%A4)
Title: Re: Foo_osd
Post by: stevehero on 2020-06-17 23:18:17
Just updated my formatting for my constant display on-screen.

(https://i.imgur.com/zRH5Iks.png)

Code: [Select]
$if(%isplaying%,
$puts(pipe,$rgb(255,255,255) . )
$puts(genre,$rgb(255,0,128)$replace(%genre%,'/',$rgb(128,128,128)'/'$rgb(255,0,128)))
$puts(title_and_album,$rgb(255,255,255)Artist/Title.  $rgb(255,0,128)%artist%$rgb(255,255,255) ▪ $rgb(255,0,128)%title% $rgb(255,255,255)Album.  $rgb(255,0,128)%album%)
$if($longer(%comment%,0),$get(title_and_album)$rgb(255,255,255) Comment.  $rgb(255,0,128)%comment%,$get(title_and_album)$rgb(255,0,0)No comment)
$if($longer(%style%,0), $rgb(255,255,255)Style.  $rgb(255,0,128)%style%, $rgb(255,0,0)No Style)
$if($longer(%genre%,0), $rgb(255,255,255)Genre.  $get(genre), $rgb(255,0,0)No Genre)
 $rgb(255,255,255)Progress.  $rgb(255,0,128)$progress(%_time_elapsed_seconds%,%_time_total_seconds%,40,$rgb(255,0,128)' (◣_◢) '%playback_time% ,$rgb(128,128,128)'-') $rgb(255,255,255)%length%,
$rgb(0,0,0)'(◣_◢)')


Title: Re: Foo_osd
Post by: DeepBlueMind on 2021-06-14 14:11:13
Is there a way to show the next following title in the playlist?
Title: Re: Foo_osd
Post by: kode54 on 2021-06-14 23:29:47
Not with the SDK available. Predicting the next track is outside the scope of the SDK, and requires hard coding behavior of every linear/predictable track order mode, and ignoring the shuffle modes.
Title: Re: Foo_osd
Post by: oomingmak on 2021-10-27 22:37:08
It seems that there has not been an answer to Anakunda's question (https://hydrogenaud.io/index.php?topic=43044.msg957104#msg957104).

I have the exact same problem with the volume display in OSD; it in no way corresponds with the position of foobar2000's volume slider. My OSD volume slider reaches zero (totally empty bar) when music is still loudly audible (with my foobar2000 volume setting still having another ~25% to go before it reaches zero). The scale and rate of movement in the OSD volume bar seem totally unrelated to the actual volume.

I did try adjusting the 'minumum' value, but if I managed to get OSD aligned at the quiet end then it would be completely wrong at the loud end (and vice versa).
Title: Re: Foo_osd
Post by: marc2k3 on 2021-10-27 22:51:45
It should be possible. The exact scaling used for the default UI volume slider is available in the SDK helpers/VolumeMap.h
Title: Re: Foo_osd
Post by: oomingmak on 2021-10-27 23:10:16
Thanks for your reply.

If you wouldn't mind, could you give a bit more detail on what I'd need to do, because I'm not very experienced with this and so I don't know where VolumeMap.h is, or what I should be doing with it.
Title: Re: Foo_osd
Post by: marc2k3 on 2021-10-27 23:14:32
Nothing for you to do. You'll have to wait and see if the maintainer (kode54) updates the component.
Title: Re: Foo_osd
Post by: oomingmak on 2021-10-28 00:26:32
Ah, I see.

So scaling information is available in the SDK which kode54 could make use of to adjust the scale of his OSD to match. Hopefully he will consider updating the component, because it would be a huge and welcome improvement.

Thanks for the clarification.
Title: Re: Foo_osd
Post by: Nojevah on 2022-09-19 20:10:22
@kode54: Do you plan to work on foobar 2.0 compatibility for foo_osd ?
Title: Re: Foo_osd
Post by: NetRanger on 2022-09-19 20:15:48
@kode54: Do you plan to work on foobar 2.0 compatibility for foo_osd ?

Have a look over at kode54's fb2k website for more info
https://kode54.net/fb2k
Title: Re: Foo_osd
Post by: Nojevah on 2022-09-19 20:33:34
Wow. I see. Thanks for the info. It's as dead as possible.
Thanks, kode54, for this useful plugin and for all contributions on Foobar2000. I hope someone will continue it, or rewrite an equivalent.
Title: Re: Foo_osd
Post by: regor on 2022-09-19 21:11:40
The source code is there for anyone to continue: https://github.com/losnoco/foobar2000

Kudos to kode54 and all my support (although I suppose he will not read this). I'm freaking out reading his blog entry. Racism and LGTBQ+phobia is a real problem (and have seen other multiple stupid behaviors on the forum too), and I totally understand someone wants stop working in a space where those basic things are not understood. It's a pity and a great loss, but I understand it.
Title: Re: Foo_osd
Post by: mudlord on 2022-09-19 22:42:10
@kode54: Do you plan to work on foobar 2.0 compatibility for foo_osd ?

Why does it need 2.0 support? Does it not work already?
Title: Re: Foo_osd
Post by: regor on 2022-09-19 23:43:43
@kode54: Do you plan to work on foobar 2.0 compatibility for foo_osd ?

Why does it need 2.0 support? Does it not work already?
I suppose it's the x64 support what's needed here. Since at some point x32 should be gone...
Title: Re: Foo_osd
Post by: mudlord on 2022-09-20 04:41:26
Makes sense. I guess thats the only reason to recompile. That and Dark Mode for some components of theirs.
Title: Re: Foo_osd
Post by: Nojevah on 2022-09-20 09:28:17
Ah ? I did not know V1 components were compatible with V2 x32 bits. I though it would need a SDK update or something like that. That's good news, it allows additional lifetime.
Title: Re: Foo_osd
Post by: mudlord on 2022-09-20 22:48:13
Correct, the main changes were metadb changes for some components that use db functionality, Dark Mode, ARM/x64 support, and 64bit audio DSP sample support for x64 builds. There's many many more changes though I might have missed though V1 components work fine on V2 x86 (only).

I don't have a Win10 ARM install for my Pi4 currently to try foobar2000 compiled components for ARM. Probably need a new 256GB microSD card for that.
Title: Re: Foo_osd
Post by: senCys on 2023-07-03 17:32:00
So if its not gonna be updated (im afraid it wont) so it supports other processor architectures,
is there any other component that is similar or a work around or something?

Up until somewhere last week i was still using some older Foobar version just so i could use this component,
i just found it so usefull specially when ingame.  :P
Title: Re: Foo_osd
Post by: razielanarki on 2023-08-06 08:41:03
i very much like this component too, and this weekend i had the time to dig into it a bit, so (with permission of the original author), i've updated it for foobar v2 and recompiled it for x64

uploaded both x86 and x64 versions here: https://hydrogenaud.io/index.php/topic,124571.0.html

the functionality is unchanged, hovever if anything's broken with this new version (compared to 1.74), please let me know, and i'll try to fix it.
Title: foo_osd (by kode54) updated for foobar2000v2/x64 (version 1.74.2)
Post by: Dentaku on 2023-08-06 09:10:55
Great work. Thank you!
Title: Re: Foo_osd
Post by: alexsupra on 2023-10-22 19:34:02
Hi there! On foobar2000 core 1.6.17 and foo_osd version 1.74.2 (combined 32+64 bit component pacakage or other) shows nothing when I press "Test" in "Preferences" - "On-Screen Display" section. Tried other versions, nothing happen. Windpows 10 22H2 x64.
Title: Re: Foo_osd
Post by: boxerfan88 on 2023-11-22 02:47:52
Feature Request: can the volume OSD have a optional user configurable text below the volume bar ?

( I was thinking to display the volume in dB as it changes. )
Title: Re: foo_osd (by kode54) updated for foobar2000v2/x64 (version 1.74.2)
Post by: galapogosian on 2024-01-31 23:52:09
I've got this installed and working, but I don't see any preferences. How do I access them?
Title: Re: Foo_osd
Post by: Gus. on 2024-02-01 00:05:10
preferences > display > on-screen display
Title: Re: Foo_osd
Post by: galapogosian on 2024-02-01 00:27:54
preferences > display > on-screen display

Perfect. Thank you.
Title: Re: Foo_osd
Post by: lolo19430 on 2024-02-21 13:46:55
Hello everyone,
I search in a playlist to display the "item_index"?
Number that is playing...
%queue_index% or %list_index% displays nothing!
Can you help me ?

Foobar 2.1.2 , On-Screen Display 1.74
Title: Re: Foo_osd
Post by: marc2k3 on 2024-02-21 14:33:34
Those fields are typically only available in playlist viewers as detailed here...

https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference#Playlist-only_fields

It is possible for components that are not playlists to support this but it would take a developer who cared enough to update it.
Title: Re: Foo_osd
Post by: Sancho on 2024-02-25 22:19:17
Just discovered this thread and the renewed component (thank you!).

Wanted to give a shoutout to @fabiospark for the post @
https://hydrogenaud.io/index.php/topic,43044.msg914190.html#msg914190

I'm not sure I could have figured out the syntax for the word wrap function. Thanks for sharing your code!

The component is a godsend, esp. the ability to have multiple lines and comments.

Here's my implementation of word wrap for displaying the Comment tag. While most of my files won't need word wrap, I'm pretty sure there are some that will benefit.

Code: [Select]
//start Artist, Album w/Year
$rgb(255,223,2,0,0,0)
[%artist%
$rgb(37,209,25,0,0,0) : ]
$rgb(255,223,2,0,0,0)$if(%title%,['('%date%')' %album%]
//end Artist, Album w/Year

$crlf()

//start Title
$rgb(37,209,25,0,0,0)
%title%,%_filename%)[ '['%_time_elapsed%']']$if(%_ispaused%,' [paused]')
//end Title

$crlf()

//start Comment tag
$rgb(255,223,2,0,0,0)

//If Comment tag length is greater than 85 than start to cut it in two lines
//otherwise show it on a single line
$ifgreater($len(%comment%),85,

//First line of Comment tag, truncated at the last space before the 85th character
$puts(tae,$strrchr($substr(%comment%,1,85), ))
$substr(%comment%,1,$get(tae))
$crlf()

//Second line of Comment tag, from the first character after the last of the first line
//to the last space inside the next 85 chars or to the end of Comment tag if shorter.
$puts(tbs,$add($get(tae),1))
$ifgreater($sub($len(%comment%),$get(tae)),85,
$puts(tbe,$add($get(tbs),$strrchr($substr(%comment%,$get(tbs),$add($get(tbs),85)), )))
$rgb(255,223,2,0,0,0)$substr(%comment%,$get(tbs),$get(tbe))
,$rgb(255,223,2,0,0,0)$substr(%comment%,$get(tbs),$add($get(tbs),85)))

,%comment%)
//end Comment tag

Here are a couple screenshots. I'm often running fb2k on a dedicated PC connected to via VNC, which is in the background while surfing or watching TV. It's handy to have the OSD persist in those situations; easy enough to switch to a timed setting otherwise.

https://ibb.co/wYHsp4y

https://ibb.co/1T8GCVt

.