Help - Search - Members - Calendar
Full Version: foo_LEDZ
Hydrogenaudio Forums > Hosted Forums > foobar2000 > General - (fb2k)
Aero
I'm posting this for a friend of mine...

He has created a new component for Foobar 0.6, and is looking for feedback on the overall interface. It is a resizable LED style display which also has playback controls (play, stop, pause, etc.), playlist display, playlist searching, and bookmarks (compatable with Winamp2's bookmark format).

It is a primarily mouse driven interface, and having a wheel mouse is highly recommended. The player controls are a little different than most interfaces, in that they work by modes. For example, to change the volume, you first select the volume mode (leftmost button on the top of the LEDZ window), then either use your wheel mouse or the arrows at the left to change the volume. The same thing for seeking, changing tracks, and scrolling through the playlist. Also note that when the mouse is in the left side of the window, the wheel affects the mode; when in the right half, it scrolls the text in the window.

This is a pre-alpha component, and some of the functionality isn't hooked up yet (bookmarks and playlist searching are notable examples) and some of it doesn't work perfectly yet. Also note that it requires a recent Foobar2000 0.6 beta version (it has only been tested with 0.6b20). I will try to get my friend to log on to this forum, otherwise you can contact him at: ledz(a t)argz.com with your suggestions.

The component is available at: foo_LEDZ_030416.zip (163kB)
Curi0us_George
Seems to work fine. The interface seems a bit counter-intuitive, though. e.g. How do you unselect the volume? I woud expect that another click would do that. :\

Ask him if he plans to release the source. I want to see that spline code. biggrin.gif
Aero
QUOTE(Curi0us_George @ Apr 16 2003 - 07:53 PM)
Seems to work fine.  The interface seems a bit counter-intuitive, though.  e.g. How do you unselect the volume?  I woud expect that another click would do that.  :\

Ask him if he plans to release the source.  I want to see that spline code. biggrin.gif

I believe the spline code is someone else's open source code, slightly modified. I'll have to double check with Dan (the author of LEDZ) on that, but I think if you look around on codeguru.com or similar sites, you might be able to find it.

As for the unselecting, you either don't worry about it (note that the currently selected item has a little flag above it), or instead of selecting an item, just hover the mouse over it and spin the mouse wheel. Either way works, but it sounds like you should try the hover method.
Apach
Very nice plug in, but i like my current Foobar's interface wink.gif
rejj
Here's a screenshot, for people wondering what it looks like
user posted image

you can see the buttons across the top and side. I'm not really sold on if I wanted to use it or not, but I thought a screenshot might be handy. I know that I certainly had no idea what to expect after reading the initial post. heh.

edit: yes, it really is that dark. sad.gif
Ghim
I think it's a quite good first skin try for foobar2000 biggrin.gif ... even if I still prefer the basic interface...

Now people complaining because of the ASCII interface won't have anymore reason to complain tongue.gif and I hope people will begin to create other skins for foobar...
danZ
OK, I have my own account so Aero needn't be the middle man for questions about LEDZ.

1. Yes, the code for the LED display is freely available and was written by Michel Wassink. It is a very nicely designed bit of code and can be found at http://www.codeproject.com/staticctrl/digistring.asp.

2. The interface was really designed for the mouse wheel and I could see people who click the mode then use the up/down arrows becoming frustrated with it. The easiest method for the UI is as Aero noted, hovering over the item you which to change and using the mousewheel. Also, note that shift, control, and shift+control, with the mousewheel changes the behavior of the buttons in most cases.

3. My original idea was to make the interface work somewhat like a car stereo where you select mode (volume,base,treble, etc.) then +/- to change the levels. But, I'm certainly open to suggestions so if you find problems or don't like the UI please post some constructive suggestions and I'll take them into consideration.
jsheridan
I have only one major request, i want to be able to format the song display to something else other then %title% (using foobar functions for example)

other then that, a really nice thing to have on the desktop
BlueScreenJunky
It's fine, I just don't like it tongue.gif

Actually, what bothers me is that I can't see the icons at the top because
-They're too small, and only the main text is resized when you resize the window
-you have to put you cursor over it to see it (I know I could make the "LED off" brighter, but then it would be ugly and I wouldn't be able to read the text.

the mousewheen thing is a good idea, but not for everything, for exemple the seek function would be more intuitive if you could click on it, and then have a seek bar instead of the title. It could be a real seekbar, or one made of LEDs like this : llllllllllllllllllllllllllllllllllll
Also, I don't use the EQ, but it looks like you can only turn it ON, and not OFF o_O

that's it, just improve it a little bit and I might use it as my UI for foobar. for now I'll just keep it to show my friends it's possible to make a nice UI for foobar wink.gif
danZ
Adding the ability to customize the display is planned as the foobar API is very poweful in this regard. So far, I haven't had time to fully explore this area of the API or hooking into the components menu(s) in foobar,s UI to all for settings like this to be made.

Right now the formatting is

metadb->format_title(entry, &str, "$if(%title%,%title%,%_filename%)",NULL, NULL);
danZ
The EQ is not functional at all. I may or may not leave that in there depending if I can figure out how to programmatically control the EQ in foobar.

The UI is supposed to be small, I didn't want much UI cluttering my screen for simply playing back music. I debated making the buttons normal state color follow the LED off color for the reason you pointed out (hard to see in some color schemes). Perhaps I can make that optional so that the color of the buttons is not tied to the LED off color. Making them resize would be harder but the idea is noted.

Mousewheel for seeking is a little weird, I agree and I did try to stick with one interface interaction for every feature so some don't fit as well as others. You can shift/wheel or ctrl/wheel to move in bigger intervals (10 and 100s I believe).

Thanks for the suggestions.
/\/ephaestous
I keep getting foo_ledz.cfg in every music folder
danZ
Yeah, I see that too - I wasn't fully qualifying the path and it must be following the current working directory which must get changed by various actions in the classic UI.

I'll fix it and I'm about to post an update to yesterdays version which fixes several other bugs too.

Thanks for trying out the UI and sorry for that error.
TurinsRevenge
DanZ - I think this is a great effort and really encourage you to continue. My comments mirror some of the others:

Hard to see the icons which are in the 'off' state unless you roll over them

Mouse wheel can be counter-intuitive makes it difficult to control some of the functions.

It would be nice with color cycling if you could stop it at a certain color and use that color as the new default in addition to using the color picker to establish the default.

Somethings turn on (e.g., equalizer, autoload) but don't turn off

Ability to change the background color to blend better into desktop, i.e. gray background with black icons/Led segments.

Maybe a user modifiable cfg file.

Agasin, great job and thanks
danZ
QUOTE
DanZ - I think this is a great effort and really encourage you to continue. My comments mirror some of the others


Thanks for the feedback.

QUOTE
Hard to see the icons which are in the 'off' state unless you roll over them


Yes, in some color schemes this is true. I'll see about making the buttons optionally NOT follow the LED off color.

QUOTE
Mouse wheel can be counter-intuitive makes it difficult to control some of the functions.


Which ones in particular - seek has been mentioned, are there others? Personally, I think once you use it awhile it becomes fairly intuitive but I'll entertain other ideas if I get some.

QUOTE
It would be nice with color cycling if you could stop it at a certain color and use that color as the new default in addition to using the color picker to establish the default.


You can mouse wheel over any of the 3 color buttons to gradually tweek the color w/o using the color picker. Shift-Wheel and Ctrl-Wheel will tweek the luminance and saturation while unmodified is the hue. Try it out. I never use the color picker but put it in there just in case someone likes that method.

You can use Alt-wheel over the color buttons to change the alpha value of the whole window (Windows 2000+ only) - just like foobar can do.

QUOTE
Somethings turn on (e.g., equalizer, autoload) but don't turn off


EQ isn't hooked up at all so ignore it for now - it might be removed.

QUOTE
Maybe a user modifiable cfg file.


When you get something you like you can save it to one of the 10 presets (buttons along the lower right) by pressing and holding for > 1 second. You see "Preset Added". This is stored in the .cfg file which is binary and not intended to hand edited.

Thanks for testing it out.

danZ
Curi0us_George
Is there a specific reason why you're not storing your info in the standard config? The sdk provides excellent config functionality.
epheterson
I got the LCD thing..

It looks cool, but I can't see myself using it. I just set foobar to always on top, make the box big enough to just show the controls and the song playing and such, and im set!

user posted image
danZ
QUOTE(Curi0us_George @ Apr 17 2003 - 11:31 AM)
Is there a specific reason why you're not storing your info in the standard config?  The sdk provides excellent config functionality.

I didn't know about that - I'm new to foobar and the SDK and just started this project yesterday. I have a lot to understand yet.
Curi0us_George
Ahh. I see. smile.gif Check some of the example components for examples of how to use the config stuff, if you so desire. Also, check out the actual config.h file in the SDK. It just sort of magically saves your data to the foobar2000.cfg file. (ok, it's not magical, but it doesn't require any real work on your part, so it might as well be.)
danZ
Here is the latest version.

http://www.loodi.com/foo_LEDZ_030417.zip

Notable changes.

1. Fixed wandering config file bug reported by /\/ephaestous
2. Fixed bug where playlist and LEDZ display were off by one when skipping next/prev in the playlist.
3. Added "SHADE" button which toggles the full and compact mode
4. Added dB display to volume mode
5. You can drag and drop files and folders onto LEDZ and it will add them to the playlist (there currently no extension filter so everything you drop is added).
6. Added SetFocus() on mouse enter so you don't have to click to get the window into focus()
SacRat
Well, here are some suggestions...
1) *.CFG really appears in played folders smile.gif
2) I'd liked to get either better customizability or more usability.
The things, that Are really needful (IMO) are title/artist display, position indicator/slider, volume indicator/slider, control buttons.
Here're my thoughts about "ideal" UI for Foobar:
It can either be graphical or "standard" Windows'
It should be a small window, which could be docked to any screen corner.
Normally there should be Song and Time indications.
Control elements (Prev, Play, etc...) and sliders (Volume, Position) appear on mouseover. Doubleckicking window could show/hide playlist.
Well, all the settings can easily be hidden in preferences menu smile.gif
btw, if you ever decide to make it skinnable, drop me a line wink.gif
danZ
QUOTE
1) *.CFG really appears in played folders


Are you sure you grabbed the latest version becuase I'm pretty sure that bug is fixed.

http://www.loodi.com/foo_LEDZ_030417.zip

QUOTE
The things, that Are really needful (IMO) are title/artist display, position indicator/slider, volume indicator/slider, control buttons.


I'm trying to figure our how to grab the title format specifier from the foobar settings so that LEDZ display would match your title formatting setting for foobar. Anyone know how to do that?

All of the other things are present just not as sliders. This interface interaction is hover or click item to change then mousewheel up/down (or use the arrows on the left hand side to up/down).
Curi0us_George
I don't think there's any way to get the playlist format string (or any of the other format strings) from foobar. I've looked, and never found that functionality. Even the standard plugins have their own config for formatting.
danZ
New Version of LEDZ is available. I've incorporated several user comments into this release and fixed a few other things.

Major enhancements.

1. Added a seek bar which allows for real time, random seeking.
2. UI buttons follow the LED on color instead of the off color.
3. Search button opens foobar search window
4. Removed Eq and bookmarks buttons. Both features are shelved for now.
5. Mousewheel over small LED changes the display from elapsed time to song title.
6. Shift/Wheel in "SKIP" mode does RANDOM skip
7. Shift/Click "VOLUME" button toggle mute.

Enjoy.
jsheridan
Small request here:

Can you make the UI Buttons light up only when the window is active? (Or make that an option)
smok3
ohmy.gif biggrin.gif 1337,
any chance of making the led fonts configurable? (like there must be all kind of led displays)

p.s. any chance to select the backcolor by picking it from background color/image or any other place on screen?
danZ
QUOTE
Small request here:

Can you make the UI Buttons light up only when the window is active? (Or make that an option)


It appears that some people like the buttons dark and some brighter so what I'm going to do is add another color picker button and let the button normal and rollover colors be set independently of the LED and background colors. This *should* allow everyone to get a color scheme to their liking.
danZ
QUOTE
any chance of making the led fonts configurable? (like there must be all kind of led displays)

p.s. any chance to select the backcolor by picking it from background color/image or any other place on screen?


Actually, the UI isn't using a font. The LED "font" is rendered on the fly using a set of polygons that define the LED characters. I have seen TTF of various LED,LCD, etc. fonts but I'm not using TTF in this UI. That could be a potential future enhancement to use TTF instead of or in addition to the LED polygon font.

Meanwhile, if you are anyone is feeling ambitious, the LED polygon code is designed to allow for a completely different look for the LED by changing the polygon character definitions. What this involves is basically drawing out your segments on graph paper and then defining the polygon points for each segment of the character. There is then a second set of data which defines which segments are turned on or off for each alphanumeric character supported by the LED. If you or others want to design some new LED character sets I'd be willing to add support for them. This would probably be the closest thing to skinning for this particular UI.

Check out the LED source code page for a demo project and to learn how the default character set is defined.
jsheridan
QUOTE(danZ @ Apr 21 2003 - 06:08 AM)
QUOTE
Small request here:

Can you make the UI Buttons light up only when the window is active? (Or make that an option)


It appears that some people like the buttons dark and some brighter so what I'm going to do is add another color picker button and let the button normal and rollover colors be set independently of the LED and background colors. This *should* allow everyone to get a color scheme to their liking.

Even better biggrin.gif
danZ
New version available.

1. New color control for the button color to be set independently of the other colors.
2. Ctrl Click the close button toggles the FB2K main window
3. Shift Click close exits FB2K completely
4. Reordered buttons
5. Added next/prev buttons - Shift Click does Random song

LEDZ Overview:
user posted image
Curi0us_George
QUOTE(Curi0us_George @ Apr 17 2003 - 11:52 AM)
Ahh.  I see.  smile.gif  Check some of the example components for examples of how to use the config stuff, if you so desire.  Also, check out the actual config.h file in the SDK.  It just sort of magically saves your data to the foobar2000.cfg file. (ok, it's not magical, but it doesn't require any real work on your part, so it might as well be.)

Just realized that I named the wrong header. The (useful) config stuff is in cfg_var.h in the pfc folder. The header is indirectly inherited through config.h.
jsheridan
Great work, really like the changes made
impulse3k
Great work on it, but there are two things that I would love.

First if you could put an albumlist button by playlist, and if you could make the font customizable. Thanks!
Curi0us_George
QUOTE(impulse3k @ Apr 22 2003 - 03:43 PM)
Great work on it, but there are two things that I would love.

First if you could put an albumlist button by playlist, and if you could make the font customizable. Thanks!

1. There would be no benefit to adding an albumlist button. Opening the albumlist brings foobar to the foreground, so you might as well just bring foobar to the foreground and then open the albumlist.

2. It's not a font. He's already stated that. It's actually an LED text simulation.
TurinsRevenge
DanZ - Thanks for posting the Ledz Overview image. Explains everything.
danZ
QUOTE
DanZ - Thanks for posting the Ledz Overview image. Explains everything.


No problem - I was necessary since there are lots of things packed into a small space.

I forgot to mention on the overview you can also drag and drop files and directories onto the LEDZ window for adding to the playlist.

Drag and drop appends files to the playlist

Shifted Drag and Drop will clear the playlist and then add the dropped files.

One caveat - currently I don't filter the extensions so it will add everything you drop on to it. Some type of extension filtering is planned and/or getting foobar's extension limits if the SDK ever supports reading values besides your own. (This is also planned for the title formatting spec).
SacRat
will there be any updates?
I'd liked to get rid of on-screen configuration...
danZ
QUOTE
will there be any updates?


What else would people like? I haven't gotten any feedback or suggestions for quite awhile.

OR, I could release the source code if anyone wants it.

QUOTE
I'd liked to get rid of on-screen configuration...


I don't know what you mean. Which configuration?
SacRat
My wishes are:

move color selection, scroll, speed, proportional, clock, color cycle, restore default, presets buttons to configuration settings of plugin in Foobar 2000. This will save a really big amount of space and help avoiding some troubles (damn, I lost my config! smile.gif.

maybe, remove (at least) one of left-right or upd/down buttons, as they mostly duplicate each other.

I'd also liked to have a "lock size" setting, which can fix the size of a window.

SWitch between Time/Title modes on hotkey.

Make control buttons have "normal" (Winamp-like) order.
[|<][|>][||][X][>|][^], but not current [X][||][|>][|<][>|]

While scrolling mouse over Next/Prev buttons I'd liked just to be able to select a song without playing it. Its playback of it shall start on roll or mouse click.

Program's pictograms are made of BMPs. Could you make them be changeable without editing resources (I mean skinning wink.gif? I'd really loved to replace some of them...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.