HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: tk32 on 2004-01-07 21:14:33

Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-07 21:14:33
it's finally here!

[span style='font-size:21pt;line-height:100%']Foo_looks 2.0[/span]

- advanced GUI interface for FB2k with LUA script integration

help us test release candidate 1:

download here (http://www.loodi.com/foo_looks_beta.zip)

installation guide here (http://www.btinternet.com/~sean.m.kelly/foo_looks/install.htm) (important - you will need the LUA dll's)

---

features list:

- access to 'every' fb2k button & menu command from your 'look'
- use full TagZ code to format your text fields
- amazing LUA scripting support for advanced features and interactivity
- support for the 24-bit PNG graphics format including support for the alpha channel
- custom z-layering of the graphics in your looks
- drag & drop files/folders to append to the playlist

advanced features now possible (using LUA):
- playlist display
- rotational volume control
- sliding drawers (as featured in wa3 skins)
- multiple sizes/layouts at the touch of a button

scripts in development:
- window scroll bars (mainly for playlist display)
- click-sliders (like those that set FM/MW/LW on a radio)

and more....

for information on how to design your own look, see our resource pages (http://www.btinternet.com/~sean.m.kelly/foo_looks/)

---------------
[span style='font-size:14pt;line-height:100%']Looks:[/span]

so far, there are only three or four 2.0 compatible 'looks'.
after all, we're only a very small dev. team.

these are:

foo_looks default - a showcase of features for designers to see what can be done with the current build
author: danZ
download: included with the plugin



----------------------
[span style='font-size:14pt;line-height:100%']Documentation:[/span]

we are currently in the process of writing extensive tutorials, guides & references.

so far we have some fragmented documention, and an almost complete tutorial on our resource pages (http://www.btinternet.com/%7esean.m.kelly/foo_looks/)

over the next week, we plan to update these pages regularly and build a very comprehensive guide to using & designing your very own 'looks'

---
[span style='font-size:14pt;line-height:100%']Links:[/span]

designer's resource page (http://www.btinternet.com/~sean.m.kelly/foo_looks/)


-----

we hope you enjoy it!!

plugin developer: danZ
tech support, tutor & webmaster: tk32

if you have any questions/problems/requests/thanks/etc... then you can contact the team

email me: ()
or join us on ICQ (486325)
Title: foo_looks 2.0 (RC1)
Post by: tinodeleste on 2004-01-07 21:43:07
looks great, very nice, thanks !

for danz look: would it be easy to add a close button ? to save the currently used size on foobar close ?

and overall, to add a button/menu to change the look with a click somewhere on the look ? without opening the menu/pref/look and setting another primary/secondary look and swap ?

haven't tested tk32's look now...
Title: foo_looks 2.0 (RC1)
Post by: Gul on 2004-01-07 21:43:34
A bit resource heavy here. Uses 15-100% cpu with std look.  XP1500+.
Looks neat tho 
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-07 21:50:33
Quote
A bit resource heavy here. Uses 15-100% cpu with std look.  XP1500+.
Looks neat tho 

Is that on a fresh start?  I've noticed that the resource usage might be creeping up as you switch looks on the fly.

How is the resource usage on the mini layout which doesn't have the spectrum display?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-07 21:52:30
Quote
looks great, very nice, thanks !

for danz look: would it be easy to add a close button ? to save the currently used size on foobar close ?

and overall, to add a button/menu to change the look with a click somewhere on the look ? without opening the menu/pref/look and setting another primary/secondary look and swap ?

haven't tested tk32's look now...

There is no state persistence at the moment and something I'm trying to figure out how to best implement.

For now you could add this to the overrides section in the look prefs.

Code: [Select]
section look_one_presets
int startLayout layouts.standard


The choices are

layout.mini
layout.compact
layout.standard
layout.cover
layout.tv
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-07 21:55:33
cpu is high for the default skin - you're right

try my fooAMP skin instead


and  can you please report cpu usage for my fooAMP skin

tell me the % used for big mode & small mode

i'm trying to optimize the code since my cpu is quite old also



also

look inside the ski near the top for handy presets

just remember to save changes

Code: [Select]
// presets section//
section presets
int default_mode  0 // 0 = small, 1 = expanded
int id3_headers  1 //
int smart_tags      1 //
int spectrum      1 // 1 = on
int albumart  0 // 0 = off
int always_on_top  1 //
int small_font  0 //
int minVolume  -40
int albumart_width      70
int albumart_height    this.albumart_width
int time_display      1 // 1 = remaining time, 0 = elapsed time
int use_tracknumber    1 // 1 = use id3 tracknumbers if present, 0 = always use playlistnumber


ehehe, damn tab characters don't show up in the forums.

the layout is nicer in the ski

------
new skin in development

(http://www.btinternet.com/~sean.m.kelly/new_project_ss.png)
Title: foo_looks 2.0 (RC1)
Post by: tinodeleste on 2004-01-07 22:15:05
thx for the tip danz. your look seems a little more cpu intensive (10% usual, jumping up to 40% at times. )

tk32, very low cpu usage (0-5% with both looks, xp2600 here...); just couldn't find the expand button without looking the code (my screen is a little bit too dark...)
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-07 22:17:07
if you want to free up some cpu using the default look, open the ski and edit the following:


section grips
int layer 2
list rect int {0,0,7,7}
// list transcolor color.red
list srcoff int { 392 0 }


you need to add the // to the transcolor line

if you are too lazy, just download the modified version here: foo_looks.ski (http://www.btinternet.com/~sean.m.kelly/foo_looks.ski)

it'll make the grips look strange, but cpu will drop to about 5%


we're looking into the problem now
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-07 22:18:12
Quote
thx for the tip danz. your look seems a little more cpu intensive (10% usual, jumping up to 40% at times. )

tk32, very low cpu usage (0-5% with both looks, xp2600 here...); just couldn't find the expand button without looking the code (my screen is a little bit too dark...)

thanks for the report

i'll make the button lighter when i update
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-07 22:28:24
Quote
thx for the tip danz. your look seems a little more cpu intensive (10% usual, jumping up to 40% at times. )

tk32, very low cpu usage (0-5% with both looks, xp2600 here...); just couldn't find the expand button without looking the code (my screen is a little bit too dark...)

Grab the beta again, I update the graphics and config file to remove the transparency on the seek grip.  It looks like GDI+ has a pretty big overhead for blitting using a transparent color key.

I'll see what I can do about that if anything.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-07 22:29:21
new build - fixed the cpu drain of the default look


download here (http://www.loodi.com/foo_looks_beta.zip)


btw designers, don't panic - my skin uses lots of transparency, and still has a low cpu footprint

it's because danZ was using bitmap graphics
Title: foo_looks 2.0 (RC1)
Post by: tinodeleste on 2004-01-07 22:34:09
Quote
if you want to free up some cpu using the default look, open the ski and edit the following:


section grips
int layer 2
list rect int {0,0,7,7}
// list transcolor color.red
list srcoff int { 392 0 }


you need to add the // to the transcolor line


it works, but looks pretty bad... I'll keep the good looking wasting version until there is a fix (or work out square buttons... oh it's done; man you're fast !)

Thanks and good night !
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-07 22:48:25
please don't hesitate to ask about any.....

questions
problems
bugs
suggestions
requests

in this forum

we need to know what you think

both danZ & myself check the forums daily, so you will usually get a quick reply
Title: foo_looks 2.0 (RC1)
Post by: danthaman on 2004-01-07 23:02:46
Hi,

I use the fooAMP skin and have a suggestion.

I like the progress bar in the foobar2000 seek bar since it updates on the fly where you are jumping to, if this same behaviour could be implemented into looks2 (and indeed the fooAMP skin) this would be great.

thanks.
Title: foo_looks 2.0 (RC1)
Post by: AngelGR on 2004-01-07 23:03:35
Dan, Tom, thanks for your work.
I'll update foobarlooks.tk as soon as I've some spare time.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-07 23:06:46
Quote
Hi,

I use the fooAMP skin and have a suggestion.

I like the progress bar in the foobar2000 seek bar since it updates on the fly where you are jumping to, if this same behaviour could be implemented into looks2 (and indeed the fooAMP skin) this would be great.

thanks.

if i understand you correctly, fooAMP already does this

if you click anywhere on the progress bar it jumps to that time


let me know if you meant something different, i may have misunderstood

EDIT:

after thinking about this some more, i realised you meant 'realtime progress drag'

it can be done, easily, but it makes the sound go all choppy

i never liked it - that's why i programmed my grip to jump to the time when you release the mouse button

but as a special request i can code it for you

custom fooAMP (http://www.btinternet.com/~sean.m.kelly/fooAMP2.ski) (realtime progress update)

overwrite fooAMP2.ski with the one above
Title: foo_looks 2.0 (RC1)
Post by: danthaman on 2004-01-07 23:12:10
Sorry, i meant the tooltip that comes up that tells you the time currently at the point where you are dragging to, with the current fooAMP design you have to guess where you are dragging to.

also, the albumart isn't transparent as in previous versions, this would be appreciated also.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-07 23:13:40
Quote
Sorry, i meant the tooltip that comes up that tells you the time currently at the point where you are dragging to, with the current fooAMP design you have to guess where you are dragging to.

also, the albumart isn't transparent as in previous versions, this would be appreciated also.

dynamic tooltips aren't possible yet, sorry


however, i am able to display the jump-to time somewhere else in the skin

i'll think about where the best place to show it is.
Title: foo_looks 2.0 (RC1)
Post by: danthaman on 2004-01-07 23:15:08
having a foolooks2 control of "status bar" which puts this info in, whilst having user defined text (i.e. the %artist% - %title% display) at other times could be sensible.
Title: foo_looks 2.0 (RC1)
Post by: Arch on 2004-01-08 01:29:17
Quote
dynamic tooltips aren't possible yet, sorry


however, i am able to display the jump-to time somewhere else in the skin

Hey tk32
How about just having it overtake the current time display.


On another note, great update, but there's one feature I'd like to see: a toggle button for the look to pop up instead of the main GUI.  It's just to difficult having to search through a menu for fewer options than the main interface gives.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-08 09:52:56
Quote
Quote
dynamic tooltips aren't possible yet, sorry


however, i am able to display the jump-to time somewhere else in the skin

Hey tk32
How about just having it overtake the current time display.


On another note, great update, but there's one feature I'd like to see: a toggle button for the look to pop up instead of the main GUI.  It's just to difficult having to search through a menu for fewer options than the main interface gives.

sure

i'll add realtime progress time update now i realise people would like it

i'll post the update (with some other polishes) later

as for your other request, i'm not sure i understand what you mean?

can you explain it some more please
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-01-08 12:19:32
Hey Danz!

I tried use new release foo_looks (2.0 rc1), but on start foobar next text displayed in console

INFO (foo_looks) : Sprite 'background' is visible with empty rectangle
INFO (foo_looks) : Sprite 'albumart' is visible with empty rectangle
INFO (foo_looks) : Sprite 'spectrum' is visible with empty rectangle
INFO (foo_looks) : Sprite 'rolltext' is visible with empty rectangle
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'seekgrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `100.0' at line 5 in string "..."
ERROR (foo_looks) : Sprite 'seekgrip' Error(s) loading script 'seekSliderImpl'
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'albumartgrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'volumegrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `100.0' at line 9 in string "..."
ERROR (foo_looks) : Sprite 'volumegrip' Error(s) loading script 'volumeSliderImpl'
INFO (foo_looks) : AssetManager:Dumping unused image 'H:\Audio\Carpenters\(1971) Carpenters\cover.jpg'
INFO (CORE) : opening file for playback :
INFO (CORE) : location: "file://H:\Audio\Carpenters\(1983) Voice Of The Heart\09 - You're Baby Doesn't Love You A.mp3" (0)

I solve this error in next way:

change 0.0 to 0,  100.0 to 100

in  foo_looks_common.ski

Is it correct?

I have W2k russian, foobar 7.7a.

pIv
Title: foo_looks 2.0 (RC1)
Post by: RIV@NVX on 2004-01-08 13:30:24
I decided to give it a try. No problems
Just one thing - could you change font used in "Overrides" title and section in Preferences to Tahoma?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-08 13:36:51
Quote
I decided to give it a try. No problems
Just one thing - could you change font used in "Overrides" title and section in Preferences to Tahoma?

For the default look it will work to put this in the overrides preferences

Code: [Select]
//Type in skin independent overrides here
section globals
string fontname "Tahoma"
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-08 13:40:30
Quote
Hey Danz!

I tried use new release foo_looks (2.0 rc1), but on start foobar next text displayed in console

INFO (foo_looks) : Sprite 'background' is visible with empty rectangle
INFO (foo_looks) : Sprite 'albumart' is visible with empty rectangle
INFO (foo_looks) : Sprite 'spectrum' is visible with empty rectangle
INFO (foo_looks) : Sprite 'rolltext' is visible with empty rectangle
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'seekgrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `100.0' at line 5 in string "..."
ERROR (foo_looks) : Sprite 'seekgrip' Error(s) loading script 'seekSliderImpl'
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'albumartgrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'volumegrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `100.0' at line 9 in string "..."
ERROR (foo_looks) : Sprite 'volumegrip' Error(s) loading script 'volumeSliderImpl'
INFO (foo_looks) : AssetManager:Dumping unused image 'H:\Audio\Carpenters\(1971) Carpenters\cover.jpg'
INFO (CORE) : opening file for playback :
INFO (CORE) : location: "file://H:\Audio\Carpenters\(1983) Voice Of The Heart\09 - You're Baby Doesn't Love You A.mp3" (0)

I solve this error in next way:

change 0.0 to 0,  100.0 to 100

in  foo_looks_common.ski

Is it correct?

I have W2k russian, foobar 7.7a.

pIv

Hum, I'll have to look into this as it came up before with respect to locale settings.  I'm not sure if lua can be set to respect different locales.
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-01-08 13:57:16
Next error in new release of foo_looks - 2.0 rc1

If path to the image of album art contained non-english characters  - album cover not displayed.
In my case folder name is russian word.
Previous version - 2.10 work fine.

pIv
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-08 15:02:43
Quote
Quote
Sorry, i meant the tooltip that comes up that tells you the time currently at the point where you are dragging to, with the current fooAMP design you have to guess where you are dragging to.

also, the albumart isn't transparent as in previous versions, this would be appreciated also.

dynamic tooltips aren't possible yet, sorry


however, i am able to display the jump-to time somewhere else in the skin

i'll think about where the best place to show it is.

There is no built in way to display the current position when seeking because seeking is an entirely scripted operation.  In v 1.x seeking was built in and thus I had a special case code to handle the seek to position display.  Its still possible to display this information but it will have to be scripted into your slider script - which I think you already realized but I'm just clarifying.

With foo_looks 2.0 I've attempted to follow the Zen of Lua (http://lua-users.org/wiki/ZenOfLua).  That is, the component does less for you but provides more ways to do more.  Currently the only built in behaviors are facilities to make buttons easier and the spectrum display.  Everything else is scripted including the sliders, the playlist display, the flashing indicators, etc.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-08 15:52:07
Quote
Hey Danz!

I tried use new release foo_looks (2.0 rc1), but on start foobar next text displayed in console

INFO (foo_looks) : Sprite 'background' is visible with empty rectangle
INFO (foo_looks) : Sprite 'albumart' is visible with empty rectangle
INFO (foo_looks) : Sprite 'spectrum' is visible with empty rectangle
INFO (foo_looks) : Sprite 'rolltext' is visible with empty rectangle
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'seekgrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `100.0' at line 5 in string "..."
ERROR (foo_looks) : Sprite 'seekgrip' Error(s) loading script 'seekSliderImpl'
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'albumartgrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `0.0' at line 18 in string "..."
ERROR (foo_looks) : Sprite 'volumegrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
  last token read: `100.0' at line 9 in string "..."
ERROR (foo_looks) : Sprite 'volumegrip' Error(s) loading script 'volumeSliderImpl'
INFO (foo_looks) : AssetManager:Dumping unused image 'H:\Audio\Carpenters\(1971) Carpenters\cover.jpg'
INFO (CORE) : opening file for playback :
INFO (CORE) : location: "file://H:\Audio\Carpenters\(1983) Voice Of The Heart\09 - You're Baby Doesn't Love You A.mp3" (0)

I solve this error in next way:

change 0.0 to 0,  100.0 to 100

in  foo_looks_common.ski

Is it correct?

I have W2k russian, foobar 7.7a.

pIv

Since you seem comfortable changing the scripts could you try this just for a test.

In the script "slider" add setlocale('"en-us") before the global variable declarations

Quote
lua slider
-- User properties
setlocale("en-us")
trackx = false
...


and revert the script values to 100.0 etc. and let me know if everything works OK.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-08 15:53:20
Quote
Next error in new release of foo_looks - 2.0 rc1

If path to the image of album art contained non-english characters  - album cover not displayed.
In my case folder name is russian word.
Previous version - 2.10 work fine.

pIv

I fixed this for the next RC which I'll post today or tomorrow depending on any additional bug reports.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-08 19:34:45
i will be updating the foo_looks 2.0 documentation late tonight (GMT)

foo_looks 2.0 resource pages (http://www.btinternet.com/~sean.m.kelly/foo_looks/)

although for those of you in the states it will be more like early evening

i'll try to complete the tutorial and complete the code references

and put a few 'how to' guides online

the first 'how to' guide will be for my rotational volume dial
Title: foo_looks 2.0 (RC1)
Post by: Arch on 2004-01-08 19:47:33
Quote
Quote

...
On another note, great update, but there's one feature I'd like to see: a toggle button for the look to pop up instead of the main GUI.  It's just to difficult having to search through a menu for fewer options than the main interface gives.

sure

...
as for your other request, i'm not sure i understand what you mean?

can you explain it some more please

The request was more of one for foo_looks, not your skin.  It was that the look could be accessed by the system tray or taskbar icon instead of the main foobar 2000 gui.


And a small 'bug' I noticed:
If you do not have you look set to always on top and another window moves ontop of it then the look takes on that of the Windows GUI.  Screenshot is below.

(http://members.cox.net/tomatoface/remote/screenupdate.png)
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-08 19:50:23
Quote
Quote
Quote

...
On another note, great update, but there's one feature I'd like to see: a toggle button for the look to pop up instead of the main GUI.  It's just to difficult having to search through a menu for fewer options than the main interface gives.

sure

...
as for your other request, i'm not sure i understand what you mean?

can you explain it some more please

The request was more of one for foo_looks, not your skin.  It was that the look could be accessed by the system tray or taskbar icon instead of the main foobar 2000 gui.


And a small 'bug' I noticed:
If you do not have you look set to always on top and another window moves ontop of it then the look takes on that of the Windows GUI.  Screenshot is below.

(http://members.cox.net/tomatoface/remote/screenupdate.png)

I've seen the redraw bug, a mouseover usually clears it up.

I'm planning to add systray support which has been requested by a few other people too
Title: foo_looks 2.0 (RC1)
Post by: mazy on 2004-01-08 21:34:24
danz, that locale should work. i had similar problem with my own lua script. foosion suggested os.setlocale("C") to me (that's lua 5.0 though, 4.0 doesn't use tables for libraries)
Title: foo_looks 2.0 (RC1)
Post by: saratoga on 2004-01-09 02:55:42
This looks interesting.  Reading documentation now.

Thanks.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-09 03:44:01
Quote
This looks interesting.  Reading documentation now.

Thanks.

sorry the docs are not complete, and there are still missing pages

documentation (http://www.btinternet.com/~sean.m.kelly/foo_looks/) is a 1-man job right now


i'll let you know in here whenever i make significant updates

expect one quite soon (should be in the next 24 hours)
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-01-09 07:13:57
Danz,

1. I change script foo_looks_common.ski, as you write:

Code: [Select]
lua slider
-- User properties
setlocale("en-us")


lua seekSliderImpl
-- User properties
setlocale("en-us")


lua volumeSliderImpl
-- User properties
setlocale("en-us")


and change 0 to 0.0 and 100 to 100.0

then I start foobar and see console log:

Code: [Select]
INFO (foo_looks) : Initializing GDI+
INFO (foo_looks) : Sprite 'background' is visible with empty rectangle
INFO (foo_looks) : Sprite 'albumart' is visible with empty rectangle
INFO (foo_looks) : Sprite 'spectrum' is visible with empty rectangle
INFO (foo_looks) : Sprite 'rolltext' is visible with empty rectangle
ERROR (foo_looks) : malformed number;
 last token read: `0.0' at line 19 in string "..."
ERROR (foo_looks) : Sprite 'seekgrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
 last token read: `100.0' at line 7 in string "..."
ERROR (foo_looks) : Sprite 'seekgrip' Error(s) loading script 'seekSliderImpl'
ERROR (foo_looks) : malformed number;
 last token read: `0.0' at line 19 in string "..."
ERROR (foo_looks) : Sprite 'albumartgrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
 last token read: `0.0' at line 19 in string "..."
ERROR (foo_looks) : Sprite 'volumegrip' Error(s) loading script 'slider'
ERROR (foo_looks) : malformed number;
 last token read: `100.0' at line 12 in string "..."
ERROR (foo_looks) : Sprite 'volumegrip' Error(s) loading script 'volumeSliderImpl'
INFO (CORE) : startup time: 2562 ms
INFO (CORE) : opening file for playback :
INFO (CORE) : location: "file://H:\Audio\Ìèòüêè\Ìèòüêîâñêàÿ òèøèíà\(09) Ìèòüêè - Íà ôåâðàëüñêîì ñíåãó....ogg" (0)
INFO (foo_looks) : AssetManager:Dumping unused image 'E:\Program Files\foobar_0.7\components\foo_looks\looks20.jpg'


When I change "," to "." in regional settings foo_looks 2.0rc1 work fine, but that is not good method.

2. In windows XP when I chang mode of looks (compact, normal, album)  - the black screen appears at moment. as i change screen resolution or color numbers in screen propeties.

pIv
Title: foo_looks 2.0 (RC1)
Post by: b3253 on 2004-01-09 11:39:06
Hi, foo_looks v2.0rc is very nice.Thanks! 

By the way, I have two things considered using foo_looks v2.0rc.

1. I am a Japanese.
A jacket art will not be displayed if Japanese
is contained in the folder name. 

2. Although there is a space in the left of
the jacket art of Standard layout,
balance thinks that it is bad.
I want you to attach a volume controller there like v1.10.
How is it?

Please tell me.

I am not so good at English.
There may be a strange text.
I'm sorry.

Thanks.
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-09 14:42:30
Quote
2. [..]
I want you to attach a volume controller there like v1.10.
How is it?

Please tell me.

There is a volume control on all of the default skin layouts (it isn't obvious though!). If you look just above the album art, you will see a small empty square. If you click and drag this horizontally, you will find it is the volume control..

Hope that helps.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-09 15:04:48
Quote
Quote
2. [..]
I want you to attach a volume controller there like v1.10.
How is it?

Please tell me.

There is a volume control on all of the default skin layouts (it isn't obvious though!). If you look just above the album art, you will see a small empty square. If you click and drag this horizontally, you will find it is the volume control..

Hope that helps.

You can also use the mousewheel over the background to change the volume.

The volume is positioned the way it is now so it can be visible on all layouts w/o any additional scripting to reposition it.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-09 15:05:34
Quote
1. I am a Japanese.
A jacket art will not be displayed if Japanese
is contained in the folder name.

Fixed in RC2 which I'll post sometime today.
Title: foo_looks 2.0 (RC1)
Post by: mobyduck on 2004-01-09 16:21:38
Great job (as usual  ).

But in Micro Layout tooltips are badly needed (perhaps in title section, if possible).

Personally, I'd make this layout a bit wider: I find it a bit cluttered up with all those otions in such a small space, but it's the look I use every day cause it doesn't interfere with the other windows.

Another thing I'd like to see is scrolling titles (possibly only when there's not enough space).

And, for the record, with this layout CPU usage is around 0%! 

Thanks for your attention.

Alessandro
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-09 17:03:59
Quote
Personally, I'd make this layout a bit wider: I find it a bit cluttered up with all those otions in such a small space, but it's the look I use every day cause it doesn't interfere with the other windows.

That's why its the "Micro" layout

I'll make it a bit wider and make spot to show the rollover help text.

In the future though I'd like to get away from supporting the default look - it exists to show others the features of the component - I'm surprised people like to use it on a daily basis as I have almost no graphics skills at all.  I'm hoping that people will get inspired to make their own looks.

I'd prefer to concentrate on development vs. look creation.

Look for an RC2 today with a few bug fixes and the modified micro look.
Title: foo_looks 2.0 (RC1)
Post by: atici on 2004-01-09 17:19:34
Ok I know people could get angry. But isn't there a way to make use of WinAmp 3 skin engine somehow? And we'd have access to many skins. WinAmp 3 skins are really beautiful. I am very jealous when I run WinAmp 5, lookwise it kicks fb2k's a**. BTW I appreciate all your work and have no intention of disparaging the current foo_looks development.

Even if it's not possible, could the next version of foo_looks allow FreeForm skinning like WinAmp modern skins? or to achieve such a skinning engine is very hard?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-09 17:27:11
Quote
Ok I know people could get angry. But isn't there a way to make use of WinAmp 3 skin engine somehow? And we'd have access to many skins. WinAmp 3 skins are really beautiful. I am very jealous when I run WinAmp 5, lookwise it kicks fb2k's a**.

Someone is working on a reuseable look file that should work with any winamp 2.x skin file (once you extract the graphics from the .zip archive) since winamp 2.x skins follow a fixed layout.  I believe, but may be wrong, the WA3 and WA5 have freeform skinning which might make it hard to have a generic look that could handle all cases but certainly, if you want to grab your favorite WA3 or 5 skin there is no reason you couldn't make a look that cloned it.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-09 17:36:25
Quote
Even if it's not possible, could the next version of foo_looks allow FreeForm skinning like WinAmp modern skins? or to achieve such a skinning engine is very hard?

foo_looks is freeform - make any graphics you like and tk32 or myself could turn it into a functional look.

EDIT - of course it won't be like WA5 because I've taken a different approach to how things are configured and controlled
Title: foo_looks 2.0 (RC1)
Post by: mobyduck on 2004-01-09 17:37:51
Quote
I'm surprised people like to use it on a daily basis as I have almost no graphics skills at all.

I always liked your micro-mode: what I need is an interface that has all the (main) features "at hand", stays on top but still let me work freely with my other programs.

As you can see, graphics are not on top of my priority list but this doesn't mean I don't like your work from an aesthetic point of view.

Just make it a bit more clean and functional and your MicroLayout will stay on top of all my windows! 

And thanks again for your time.

Alessandro
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-09 17:50:45
foo_looks 2.0 RC2 (http://www.loodi.com/foo_looks_beta.zip)

Ready for testing.

Changes

1.  Fixed bug with cover art search when matches contain utf8 encoded chars.
2.  Fixed bug in import file parser which caused import to fail in certain cases.
3.  Changed microlayout to be a little wider and include rollover help text.
4.  Fixed script logic bug when closing trays during relayout
5.  Moved song time to rollover text area
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-09 18:14:46
i think you're making a mistake if you try to compare foo_looks against wa3 skins

our aim was not just to make eye candy, but to provide unrivalled functionality

we also wanted a GUI that wasn't resource heavy, or had a large RAM footprint


it's a gross misunderstanding of foo_looks to say it's not as good as wa3 skins, because in fact, we can do so many things that were never possible in wa3 skins

a few special features off the top of my head

- text display has never been so powerful & dynamic
you can combine TagZ & LUA scripts to write unbelievably complex & dynamic text, whereas winamp just gives you the same old 'artist - title <00:00>'

- you can add unlimited layers of graphics, with alpha blending & z-layering
you can use this to create some awesome effects

- you can make any part of the look appear/move/disappear based on a condition, or a button
for example, you could write a script that swaps the position of the track info & buttons depending on whether the look is docked on the top, or the bottom of the desktop

and there is so much more....

the beauty of our plugin is that it will evolve as more people contribute

all the tools exist here for wonderful & powerful looks

.....although yes, we can't display round style looks very well yet


but is that such a big deal??

i thought fb2k users preferred function over form?!?!
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-09 18:28:27
The download link should be correct now.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-09 19:12:35
i'd just like to remind people that both danZ & myself are happy to do most of the coding for your looks (at least until we have more tutorials available)

the best thing to work on is the graphics (since we are both awful at that)

if you send us your graphics, or half-written ski files - we'll do anything else that needs to be done


we'll even do all the code for complete beginners

so fire up Photoshop, and help us in the eye-candy department


thanks


()

---
new look in development:

(http://www.btinternet.com/~sean.m.kelly/new_project_ss.png)
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-09 19:31:11
Quote
- you can make any part of the look appear/move/disappear based on a condition, or a button
for example, you could write a script that swaps the position of the track info & buttons depending on whether the look is docked on the top, or the bottom of the desktop

I'd love to know about this - I assume this means I can tell it that if I change layouts that I want it to keep the top right point the same if I'm in the top right part of the screen? (e.g. put the default look into Cover Art Layout, move it to just left of the minimise button and then change to the Standard Layout. You'll know what I want to change then!)
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-10 02:16:39
test out the progress bar on this new skin (in development)




P.S. did you notice my songtime is gently embossed - a nice little trick

the skin is far from complete.. i just wanted to show the dragbar

i'll let you know as i make more progress - i'm planning to have some really innovative features on this skin... watch this space
Title: foo_looks 2.0 (RC1)
Post by: spase on 2004-01-10 02:40:33
Quote
i'll let you know as i make more progress - i'm planning to have some really innovative features on this skin... watch this space

watching eagerly
Title: foo_looks 2.0 (RC1)
Post by: CrazyCoder on 2004-01-10 03:36:09
tk32: I've noticed a bug in the progress bar code:

Code: [Select]
function onattach(this)
    minx = look_getX(this)
    maxx = look_getWidth(this)
end


I think that minx should be 0, I have a progress bar that is several pixels from left and if I use your code clicks are not properly recognozed, however if I set it to 0 it works just fine. Correct me if I'm wrong.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-10 03:50:19
Quote
tk32: I've noticed a bug in the progress bar code:

Code: [Select]
function onattach(this)
    minx = look_getX(this)
    maxx = look_getWidth(this)
end


I think that minx should be 0, I have a progress bar that is several pixels from left and if I use your code clicks are not properly recognozed, however if I set it to 0 it works just fine. Correct me if I'm wrong.

thanks crazycoder, i'm sure you're right

i didn't think anybody would debug it

although i knew it wasn't in a fit state to re-use yet

would you mind if i played the 'tired card'   
it was 3:00am when i wrote it

when using an offset progress bar, it's easy to lose track of whether you are making absolute or relative calculations

it was just a quick hack on the slider script, and it needs a bit of tidying.
i'll also doublecheck it's totally generic.


but i'm glad it's working for you already.


i'll make the other improvements, and then put the slim & complete version on the resource pages when it's done


thanks for shaming me  - i'm happy to see there are other users already interested in the finer points of LUA scripts
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-10 04:05:12
Quote
tk32: I've noticed a bug in the progress bar code:

Code: [Select]
function onattach(this)
    minx = look_getX(this)
    maxx = look_getWidth(this)
end


I think that minx should be 0, I have a progress bar that is several pixels from left and if I use your code clicks are not properly recognozed, however if I set it to 0 it works just fine. Correct me if I'm wrong.

If the logic is based on the size of the sprite then minx should probably be look_getX(sprite) and maxx should be minx + look_getWidth(sprite).

Code: [Select]
function onattach(this)
    minx = look_getX(this)
    maxx = minx + look_getWidth(this)
end


EDIT/ BTW, nice use of borders and fills.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-10 04:50:59
what about the functionality of the dragbar? do you like it?
Title: foo_looks 2.0 (RC1)
Post by: b3253 on 2004-01-10 06:59:57
Quote
Quote
Quote
2. [..]
I want you to attach a volume controller there like v1.10.
How is it?

Please tell me.

There is a volume control on all of the default skin layouts (it isn't obvious though!). If you look just above the album art, you will see a small empty square. If you click and drag this horizontally, you will find it is the volume control..

Hope that helps.

You can also use the mousewheel over the background to change the volume.

The volume is positioned the way it is now so it can be visible on all layouts w/o any additional scripting to reposition it.

OK.Thank you.
It carries out based on a default skin,
and when free, I think that will make a skin.
Title: foo_looks 2.0 (RC1)
Post by: b3253 on 2004-01-10 07:07:31
Quote
Quote

1. I am a Japanese.
A jacket art will not be displayed if Japanese
is contained in the folder name.

Fixed in RC2 which I'll post sometime today.

A jacket art will be displayed even
if Japanese is contained in the folder name.

Thanks! 
Title: foo_looks 2.0 (RC1)
Post by: CrazyCoder on 2004-01-10 11:56:44
Quote
what about the functionality of the dragbar? do you like it?

It's great. Thank you =) I appreciate your work.

I hope some day there will be a generic dragbar in the common scripts that will have an option - to use a grip or to use your approach.

I've notived that making simple things requires a lot of code in foo_looks 2.0 if to compare with 1.0. Of course, it's because generic scripts for standard controls are not written yet. My very simple skin is now 700 lines of code, but it was about 100 lines in 1.0.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-10 15:53:13
Quote
Quote
what about the functionality of the dragbar? do you like it?

It's great. Thank you =) I appreciate your work.

I hope some day there will be a generic dragbar in the common scripts that will have an option - to use a grip or to use your approach.

I've notived that making simple things requires a lot of code in foo_looks 2.0 if to compare with 1.0. Of course, it's because generic scripts for standard controls are not written yet. My very simple skin is now 700 lines of code, but it was about 100 lines in 1.0.

Right, as I stated, foo_looks 2.0 does less for you but gives you the power and flexibility to do more.  1.x was all about making it easy (thus the large, inefficient graphics layout, the built-in sliders, etc.)

Are you using any of the scripts from foo_look_common.ski?  Those are all intended to be generic and reuseable and to cover common things.  It is far from complete and tk32 and I are both intending to attempt to make as many basic scripts availale as possible so that a basic look can be constsructed by just defining some sprites, importing the common scripts, and attaching those as needed.

I'm even considering expanding the import to allow something like

import http://www.blah.com/commonscripts.ski (http://www.blah.com/commonscripts.ski) and then we could host common scripts on the same site as the looks.

Expect 2.x to continue to improve and remember that in 2.0 I basically started over so its more like a first release then a 2.0 despite the name.
Title: foo_looks 2.0 (RC1)
Post by: CrazyCoder on 2004-01-10 17:26:39
Quote
Right, as I stated, foo_looks 2.0 does less for you but gives you the power and flexibility to do more.  1.x was all about making it easy (thus the large, inefficient graphics layout, the built-in sliders, etc.)

Are you using any of the scripts from foo_look_common.ski?  Those are all intended to be generic and reuseable and to cover common things.  It is far from complete and tk32 and I are both intending to attempt to make as many basic scripts availale as possible so that a basic look can be constsructed by just defining some sprites, importing the common scripts, and attaching those as needed.

I'm even considering expanding the import to allow something like

import http://www.blah.com/commonscripts.ski (http://www.blah.com/commonscripts.ski) and then we could host common scripts on the same site as the looks.

Expect 2.x to continue to improve and remember that in 2.0 I basically started over so its more like a first release then a 2.0 despite the name.

Sure, I understand and fully agree with you. Thanks for the input.

Yes, I'm using some common scripts, of course. I like the flexibility of 2.0. It's a good start. However I'm not a designer, I'm coder, I've created a simple look that suits me for 2.0, it took about an hour to create it. Actually, it's almost a port of foo_looks_mini from 1.0 with my custom changes.

At the moment I don't have enough time to play with it, but I'll certainly do so later.

The quick and dirty port is available here: http://amip.tools-for.net/config/dl.php?fi..._looks_comm.zip (http://amip.tools-for.net/config/dl.php?file=foo_looks_comm.zip)

Standard state:



Small bug report: I've noticed that when screensaver disables my look image is messed up, I think that it has to deal with the same thing described some posts above (problem when window is overlapped by another)
Title: foo_looks 2.0 (RC1)
Post by: foosion on 2004-01-10 18:14:18
I've toyed around with foo_looks 2.0 and created this thing (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/endless_tracks.zip), which looks something like this (only the screenshot is not animated):


However, there is one thing worth mentioning: when this is loaded, the VM size of foobar increases by about 100kB every second. I noticed this when Windows told me that it had to increase the swap file. After I was aware of that, I tried the foo_looks_one skin. With that loaded the VM size increased by some kilobytes every now and then, mostly when something is animated.

The most important difference seems to be that my script makes heavy usage of functions that manipulate sprites (change location or image source position).
Title: foo_looks 2.0 (RC1)
Post by: CrazyCoder on 2004-01-10 18:27:31
Quote
However, there is one thing worth mentioning: when this is loaded, the VM size of foobar increases by about 100kB every second. I noticed this when Windows told me that it had to increase the swap file. After I was aware of that, I tried the foo_looks_one skin. With that loaded the VM size increased by some kilobytes every now and then, mostly when something is animated.

I've noticed the same thing, I've left foobar for the night playing and in the morning it crashed because out of memory. I've just noticed in the process manager foobar takes about 70mb after a couple of hours of playing.

It is defnitely related to foo_looks, hope this will be fixed soon 
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-10 20:12:29
Quote
I've toyed around with foo_looks 2.0 and created this thing (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/endless_tracks.zip), which looks something like this (only the screenshot is not animated):


However, there is one thing worth mentioning: when this is loaded, the VM size of foobar increases by about 100kB every second. I noticed this when Windows told me that it had to increase the swap file. After I was aware of that, I tried the foo_looks_one skin. With that loaded the VM size increased by some kilobytes every now and then, mostly when something is animated.

The most important difference seems to be that my script makes heavy usage of functions that manipulate sprites (change location or image source position).

Yeah, good catch, I had a memory leak in look_setRect().

So are you going somewhere with your tilemap or just messing around - its a cool effect.  I was thinking I might script a space invaders game or something just to show the foo_look sprite manipulations, etc.

I know you've been doing a lot with lua so let me know if anything I'm doing seems odd or incorrect.

Look for RC3 in a day or so with the memory leak and a few other bugs fixed.

Edit/
BTW, FYI after looking at your .ski file just want to make sure you know you can do the following.

section tile_common
list fillcolor color.black
list statemap states.None
list rendermap int { render.Image }
bool visible false

sprite tile00
string include "tile_common"

sprite tile01
string include "tile_common"

and so on...
Title: foo_looks 2.0 (RC1)
Post by: foosion on 2004-01-10 20:38:03
Quote
Yeah, good catch, I had a memory leak in look_setRect().

So are you going somewhere with your tilemap or just messing around - its a cool effect.  I was thinking I might script a space invaders game or something just to show the foo_look sprite manipulations, etc.

More like "just messing around". Coding a game will be a pain in the neck, unless you add the ability to dynamically create sprites - which would also simplify coding a resizable skin with a playlist.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-12 14:48:11
v2.0 RC3 Available (http://www.loodi.com/foo_looks_beta.zip)

Changes

1.  Fixed parser bug that prevented using table lookups such as x = foo in inline scripts
2.  Created new global - look_sprites - which is a table of all loaded sprites as defined in the .ski file -
ie.
{ sprite1, sprite2, etc }

This is useful if you want to perform an operation on all sprites or iterate all sprites.
3. Fixed NULL pointer dereference which was causing foo_tunes to crash at startup.  Tested succesfully with foo_tunes 0.0.4
4. Fixed memory leak in look_setRect() - thanks foosion for reporting
5. Moved "albumartDisplay" script to common import file
6. Added albumart slider to default look which will allow you to view all cover art matches.
Title: foo_looks 2.0 (RC1)
Post by: peter barn star on 2004-01-12 16:25:53
DanZ,
very very nice... with your look v2 and Tunes, Foobar is finally getting there!!
           
(and your RC3 works a treat with Tunes running)
cheers and nice work,
Peter
Title: foo_looks 2.0 (RC1)
Post by: tinodeleste on 2004-01-12 18:17:39
just noticed it now, when I try to swap looks from the look components menu, foobar crashes; it does not happen if I use the component menu from the systray.

the slider for album art works great, but it would be nice hiding it in the cover look when the mouse is not on the look for example...

great work !
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-12 19:28:28
Quote
just noticed it now, when I try to swap looks from the look components menu, foobar crashes; it does not happen if I use the component menu from the systray.

the slider for album art works great, but it would be nice hiding it in the cover look when the mouse is not on the look for example...

great work !

I can't reproduce this.  What look are you swapping from and to?

Also, both menu handlers (compenent menu and systray) run in to the same function internally so I'm surprised it only happens from one approach.
Title: foo_looks 2.0 (RC1)
Post by: tinodeleste on 2004-01-12 20:01:34
from your look to any of tk32' or from tk32' last one (tk32-new_skin_project) to one of yours.

here is the crash log.(foobar 7.7a, winxp sp1)

EDIT: removed crash log.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-12 20:35:43
that's very strange


i switch from my looks to danZ' looks all the time.. [span style='font-size:8pt;line-height:100%'](because it's the quickest way of unlocking the graphics file when you need to overwrite it)[/span]


and i can't recreate this either

it could possibly be a clash with another plugin, since for my 'look-editing' instance of fb2k i only have a minimal install

core (0.7.7) + foo_looks (2.0 RC3)


i'll try testing some more
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-12 21:32:32
I'm getting this crashing also. I have a number of different plugins installed and I haven't yet tried removing any to see if it is a bad interaction..(will do this now)

Oh the first part of my Stack dump involves lua_close (not lua_error as above)
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-12 21:40:56
Ok I just removed all but
foo_console
foo_input_std
foo_looks
foo_output_std
foo_ui_std

and I can get this to happen by swapping between any two looks from the components menu in the looks (not the foobar one or the tasktray one. It even happens when I set the default foo_looks.ski as both primary and secondary look...

HTH
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-12 22:20:42
thanks for your efforts teetee

now we just have to wait for danZ to visit the topic and give us some insight


btw, anyone got any foo_looks projects on the go??


---

i added some basic playlist support to my new project

(http://www.btinternet.com/~sean.m.kelly/new_project_ss.png)
Title: foo_looks 2.0 (RC1)
Post by: BUSH on 2004-01-13 12:15:09
really nice work here, i've just started using foo_looks since version 2 appeared and its great.

One thing i'd like to see after playing around with it for a a few hours is the ability to not have to have foo_looks running as always on top. From what  i can see, if you click on foobar in the taskbar it bring up the main foobar window and not the skin. What i'd like is to be able to bring the skin to the front by clicking on the taskbar. I'm not sure if this is possible though. Maybe it would be possible using a toolbar  in a similar way to foo_winbar.

Also with skins that have playlist windows, will it be possible to alter what the playlist displays so i could have it as artist - track or artist - album - track , also will playlist windows be resizeable like winamp.

thanks for any help and keep up the good work
Title: foo_looks 2.0 (RC1)
Post by: BUSH on 2004-01-13 12:17:17
sorry double post
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-13 12:46:34
Quote
Also with skins that have playlist windows, will it be possible to alter what the playlist displays so i could have it as artist - track or artist - album - track


yes - of course

Quote
also will playlist windows be resizeable like winamp.


it's one of the things i am working on now - i'm pretty sure resizing on 1 axis will work (for example, making the window wider).

but it may take me a while before we know if we can do resizing that competes with a typical application window

it's because of the way skin graphics are designed - it's not easy to have graphics that can continue to grow.

my first task is to test resizing windows without any graphics - then we'll know for sure if it is feasible with the current plugin build

i'll keep you informed of any progress i make

note: it may be better to delay this feature until we support 2 seperate look windows
Title: foo_looks 2.0 (RC1)
Post by: peter barn star on 2004-01-13 13:07:54
two minor thing I've noticed:
the new position of the track and volume sliders obscures the seemingly un-reposistionable total time selected counter, and less importanltly the dB level...
it's just that I use foobar to burn my audio cd's and knowing how much spare time is pretty good....I know I can right click and choose show info.....

and everytime you restart foobar the small flaoting window interface resets itself to "Standard Mode" ...

(just incase someone wants to know
cheers,
Peter
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-13 13:12:13
Quote
the new position of the track and volume sliders obscures the seemingly un-reposistionable total time selected counter, and less importanltly the dB level...


yes, there are a couple of design 'faux pas' in the default skin

danZ just wanted to showcase features that would inspire the rest of us

i don't think he expected people to use his look so much

i mean... he only used mspaint


but i'm sure he'd be happy to re-position features if they are overlapping others


Quote
and everytime you restart foobar the small flaoting window interface resets itself to "Standard Mode" ...


danZ has already said how to change the default.

you need to open the ski file, or use the overrides section in the preferences..

read more here (http://www.hydrogenaudio.org/forums/index.php?showtopic=17279&view=findpost&p=170737)
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-13 14:36:47
Quote
really nice work here, i've just started using foo_looks since version 2 appeared and its great.

One thing i'd like to see after playing around with it for a a few hours is the ability to not have to have foo_looks running as always on top. From what  i can see, if you click on foobar in the taskbar it bring up the main foobar window and not the skin. What i'd like is to be able to bring the skin to the front by clicking on the taskbar. I'm not sure if this is possible though. Maybe it would be possible using a toolbar  in a similar way to foo_winbar.

Also with skins that have playlist windows, will it be possible to alter what the playlist displays so i could have it as artist - track or artist - album - track , also will playlist windows be resizeable like winamp.

thanks for any help and keep up the good work

tk32 is right, resizing the window is possible but a freely sizing window such as the default UI might not work out so well.  As he said, the looks are based on static graphics so that they can be, well, better looking.  If you've ever looked close you'd see that winamp main controller was not resizable because it too was based on static graphics but the playlist is resizeable because it is just a basic win32 listbox in window.  I'd still like to see way to pair down the default UI to just be a playlist (no titlebar, no buttons, no toolbars, etc.) and then a way to customize its appearance even more (borders, etc.).  Then, if their were some UI callbacks the default UI as playlist and foo_looks as controller could be a really nice pairing.

Systray support is on the to do list for some upcoming release.

You have to edit the .ski file to change the playlist entry formatting - look for

section ple_common
string fspec ""
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-13 14:45:54
Quote
thanks for your efforts teetee

now we just have to wait for danZ to visit the topic and give us some insight


btw, anyone got any foo_looks projects on the go??


---

i added some basic playlist support to my new project

(http://www.btinternet.com/~sean.m.kelly/new_project_ss.png)

I'm still using 0.7.5 so first thing I'll do is get on the lastest SDK and release.  Then when I get some time I'll look into this issue.

Thanks for the reports and for narrowing it down - looks like some lua cleanup issue during a swap.
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-01-13 14:47:04
hm seems like i'm too stupid to find that playlist 

and is it possible to use circles or other things by specifying multiple points that mark the object's angles? If not, I hereby file that request.
It would make nicer buttons possible. Also, I could perhaps start to design my look
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-13 15:33:53
Quote
hm seems like i'm too stupid to find that playlist  

and is it possible to use circles or other things by specifying multiple points that mark the object's angles? If not, I hereby file that request.
It would make nicer buttons possible. Also, I could perhaps start to design my look

To make buttons irregular shaped I support the use of image transparency.  If  sprite has a transparent color key set then those pixels will not render on the look.  Additionally, the mouse in code will only return true if the pointer is over a non-transparent pixel in that sprite.  Therefore, in theory, hotspots can be any shape.  However, image transparency seems to have some expense in GDI+ blitters so be careful how you use it.

Perhaps, tk32, could post an example of an irregular shaped hotspot as I don't have time to work up an example today.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-13 15:35:04
Quote
just noticed it now, when I try to swap looks from the look components menu, foobar crashes; it does not happen if I use the component menu from the systray.

the slider for album art works great, but it would be nice hiding it in the cover look when the mouse is not on the look for example...

great work !

OK, I know what is going on here and will work out a fix for the next RC.  Thanks.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-13 15:37:34
you can't declare circular buttons in the code, but it can be done!

here's the trick....

design the graphics as a PNG file, and place the buttons over an invisible background

only the visible parts of the button will react to mouse movement

so you can design any shape button you like

it's technically called a 'pixel-accurate' hotspot


i'll write a guide when i get time

(http://www.btinternet.com/~sean.m.kelly/pixel_accurate_sample.png)

so if  i use these as buttons in my look, only the visible pixels will work as the button

[span style='font-size:14pt;line-height:100%']EDIT: this is incorrect[/span] - sorry, i thought it would work

it seems setting a transparent color is the only way to do pixel-accurate hotspots right now... and that has a large cpu overhead

perhaps danZ will think of a way of doing it like above

danZ: GDI already knows how to handle png alpha, surely there will be a way to check for alpha 0
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-13 15:46:27
Quote
you can't declare circular buttons in the, but it can be done!

here's the trick

design the graphics as a PNG file, and place the buttons over an invisible background

only the visible parts of the button will react to mouse movement

so you can design any shape button you like

it's technically called a 'pixel-accurate' hotspot


i'll write a guide when i get time

example to follow......

tk32, are you going to try using PNG alpha channel to control the transparency w/o specifying list transcolor in the .ski file for the sprite?  That won't work now but I just realized it might be possible to use the PNG alpha channel information instead of a fixed color key (thus bypassing the GDI+ color key blitter).

Anyway, if you can work up an example using the current approach I'd appreciate it.
Title: foo_looks 2.0 (RC1)
Post by: BUSH on 2004-01-13 15:47:58
thanks for the insight, now you mention it i do remember that only the playlist window was resizeable in winamp, and i understand why now.

As for you mentioning having the default ui scaled right down to a playlist this sounds interesting especially if you could have it take on the same look as the controller look.  When i think about it it could be perfect, a very small controller part with a button to bring up a hidden playlist window with multiple playlists.

Also i found a crash, when switching from danz' default look to another look using the component menu built in to the look, it doesn't seem to do it switching from tk32 new look back to danz' default one in the same way:


edited out the fail log
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-13 15:52:44
Quote
thanks for the insight, now you mention it i do remember that only the playlist window was resizeable in winamp, and i understand why now.

As for you mentioning having the default ui scaled right down to a playlist this sounds interesting especially if you could have it take on the same look as the controller look.  When i think about it it could be perfect, a very small controller part with a button to bring up a hidden playlist window with multiple playlists.


Yes, if you could strip off the menus, titlebar, etc. and then had the ability to change its appearance (more then what is there now I mean) and the ability to have the two windows working together (moving as one, docking to each other) then you'd have the best of both worlds IMHO.  That's the reason I still don't want to make foo_looks a UI replacement but rather a UI add-on.

Its in essence the setup we have currently we just need a few more hooks to make them really work well together instead of feeling like 2 disjointed items.

Quote
Also i found a crash, when switching from danz' default look to another look using the component menu built in to the look, it doesn't seem to do it switching from tk32 new look back to danz' default one in the same way:


Fixed for next RC.
Title: foo_looks 2.0 (RC1)
Post by: BUSH on 2004-01-13 16:00:05
Quote
Yes, if you could strip off the menus, titlebar, etc. and then had the ability to change its appearance (more then what is there now I mean) and the ability to have the two windows working together (moving as one, docking to each other) then you'd have the best of both worlds IMHO.  That's the reason I still don't want to make foo_looks a UI replacement but rather a UI add-on.

Its in essence the setup we have currently we just need a few more hooks to make them really work well together instead of feeling like 2 disjointed items.

i think what you're aiming out does sound the best way of doing things, sounds like it could be quite complicated to alter the default ui do fit into you're idea, but i'm not a progammer so it all sounds complicated to me   


i just noticed someone posted the crash i found above, i'll edit out the fail log in a minute
Title: foo_looks 2.0 (RC1)
Post by: mobyduck on 2004-01-13 16:02:50
I receive the following message in the console every time a new song starts playing:
Code: [Select]
INFO (foo_looks) : AssetManager:Dumping unused image 'C:\Programmi\foobar2000\components\foo_looks\looks20.jpg'
Using Win2k pro SP4, fb2k v0.7.7, latest foo_looks and Micro layout. Is it normal?

Also, in Micro layout, I would like to remove the playlist content when I mouse over the title and, if possible, replace it with song progress bar (as in v1.0 Mini look, IIRC). Can it be done simply modifying the .ski file (and, if so, can somebody explain how exactly)?

Thanks.

Alessandro
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-13 23:31:17
ok

anybody who was following the tutorial (http://www.btinternet.com/~sean.m.kelly/foo_looks/tutorial.htm), i'd like to apologize it took me so long to start continuing it again..

the good news is that i am ready to pipck up where we left off

--

after reading the tutorial, you should have coded 2 buttons that don't do anything...

well.. you can continue the tutorial in this 'how-to guide #001':


how-to guide #001 - adding functions to the playback buttons (http://www.btinternet.com/~sean.m.kelly/how-to_guide_001.txt)


unfortunately it's plain text at the moment - but i'll turn it into beautiful html soon
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-14 02:10:24
Quote
you can't declare circular buttons in the code, but it can be done!

here's the trick....

design the graphics as a PNG file, and place the buttons over an invisible background

only the visible parts of the button will react to mouse movement

so you can design any shape button you like

it's technically called a 'pixel-accurate' hotspot


i'll write a guide when i get time

Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-14 22:31:17
foo_looks2.0 RC3 doesn't appear to cope with some jpgs with a low number of colours. The file I've uploaded here (http://www.hydrogenaudio.org/forums/index.php?showtopic=17575&view=findpost&p=173529) displays black.

If I then open it in PSP 8.0 and increase the colour depth to 256 colours and resave it, it loads fine.

Thought it might be useful information to know..
Title: foo_looks 2.0 (RC1)
Post by: hizz on 2004-01-14 23:30:03
Quote
function onrightbuttonup(this)
fb2k_menuCommand("Components/Look/Swap")
end

that crashes foobar... had to do it that way because i forgot what the simple way of swapping skins was.... so this is just an fyi thing =)
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-15 01:43:25
Quote
foo_looks2.0 RC3 doesn't appear to cope with some jpgs with a low number of colours. The file I've uploaded here (http://www.hydrogenaudio.org/forums/index.php?showtopic=17575&view=findpost&p=173529) displays black.

If I then open it in PSP 8.0 and increase the colour depth to 256 colours and resave it, it loads fine.

Thought it might be useful information to know..

thanks for identifying the problem

we're trying to encourage designers to consider the PNG graphics format as a standard - since it has support for alpha values, and has lossless compression

it also works really well with GDI+


i don't think danZ did much testing with other formats, especially lossy ones such as JPEG


but keep up the bug reports - that's how these things improve

Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-01-15 07:31:13
With starting of Foobar2000 with foo_looks v2.0rc1-rñ3 the screen to the instant becomes black. Such occurs with the change of display resolution in some games or a change of display resolution in the properties of video adapter.
Also the very occurs when I change looks by command looks_swap or change type of standart look (compact to album, etc.).
With use foo_looks of a version of 1.x such it did not occur.
This phenomenon occurs only in Windows XP, in W2K - everything is normal. My video adapter - GeForse 4MX, the version of detonator - any.
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-15 10:47:20
Quote
we're trying to encourage designers to consider the PNG graphics format as a standard - since it has support for alpha values, and has lossless compression

Oh I agree totally with PNG for the parts of the skin but JPEG is superior (compression-wise) for photographic imagery such as album art (which this image is - I thought I'd mentioned it in my message but obviously not ). Also all websites I've ever seen offering album art to download (saves scanning your own CDs) only have JPEGs and converting JPEG to PNG is a waste of space as it retains all the lossy artifacts and pushed the size up ten-fold..
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-15 13:09:02
Quote
Quote
we're trying to encourage designers to consider the PNG graphics format as a standard - since it has support for alpha values, and has lossless compression

Oh I agree totally with PNG for the parts of the skin but JPEG is superior (compression-wise) for photographic imagery such as album art (which this image is - I thought I'd mentioned it in my message but obviously not ). Also all websites I've ever seen offering album art to download (saves scanning your own CDs) only have JPEGs and converting JPEG to PNG is a waste of space as it retains all the lossy artifacts and pushed the size up ten-fold..

apologies

i didn't realise you were talking about albumart


yes, all my albumart is jpg too  - although i don't have any jpgs with less than 256 colours. (all those are GIFs)
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-15 15:51:01
Quote
With starting of Foobar2000 with foo_looks v2.0rc1-rñ3 the screen to the instant becomes black. Such occurs with the change of display resolution in some games or a change of display resolution in the properties of video adapter.
Also the very occurs when I change looks by command looks_swap or change type of standart look (compact to album, etc.).
With use foo_looks of a version of 1.x such it did not occur.
This phenomenon occurs only in Windows XP, in W2K - everything is normal. My video adapter - GeForse 4MX, the version of detonator - any.

I've noticed this too and I think I know why it is happening.  I'll try to fix that for RC4.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-15 15:55:23
Quote
foo_looks2.0 RC3 doesn't appear to cope with some jpgs with a low number of colours. The file I've uploaded here (http://www.hydrogenaudio.org/forums/index.php?showtopic=17575&view=findpost&p=173529) displays black.

If I then open it in PSP 8.0 and increase the colour depth to 256 colours and resave it, it loads fine.

Thought it might be useful information to know..

I don't do anything special with any image formats, I just pass the filename off to GDI+ and have it load one of its Gdiplus::Image objects.  Maybe MS image codecs don't do well with certain, less common pixel formats.  I don't think I can do much about this w/o writing my own image loaders for the various formats which I don't intend to do.  But thanks for the report so that folks can maybe convert their cover art to at least 8BPP pixel formats.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-15 16:27:42
Quote
Quote
foo_looks2.0 RC3 doesn't appear to cope with some jpgs with a low number of colours. The file I've uploaded here (http://www.hydrogenaudio.org/forums/index.php?showtopic=17575&view=findpost&p=173529) displays black.

If I then open it in PSP 8.0 and increase the colour depth to 256 colours and resave it, it loads fine.

Thought it might be useful information to know..

I don't do anything special with any image formats, I just pass the filename off to GDI+ and have it load one of its Gdiplus::Image objects.  Maybe MS image codecs don't do well with certain, less common pixel formats.  I don't think I can do much about this w/o writing my own image loaders for the various formats which I don't intend to do.  But thanks for the report so that folks can maybe convert their cover art to at least 8BPP pixel formats.

Actually, after thinking about this I'm wrong - I do actually do something to the image when its cover art - I scale it using a scaled blit into a secondary Gdiplus::Bitmap object that has the same pixel format as the source image.  I bet what is happening is that the scaled image doesn't have a palette (index image formats are such a pain in the @ss) so all index lookups return the color black.

The image you posted is reporting itself as 0x00030803 which means it is an 8 bits per pixel index image format.  Did you post the wrong image because you were talking about ones with 4BPP or less.  But this image shows up black too so are you sure you got album art to work that uses 8BPP?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-15 16:52:08
Quote
Quote
Quote
foo_looks2.0 RC3 doesn't appear to cope with some jpgs with a low number of colours. The file I've uploaded here (http://www.hydrogenaudio.org/forums/index.php?showtopic=17575&view=findpost&p=173529) displays black.

If I then open it in PSP 8.0 and increase the colour depth to 256 colours and resave it, it loads fine.

Thought it might be useful information to know..

I don't do anything special with any image formats, I just pass the filename off to GDI+ and have it load one of its Gdiplus::Image objects.  Maybe MS image codecs don't do well with certain, less common pixel formats.  I don't think I can do much about this w/o writing my own image loaders for the various formats which I don't intend to do.  But thanks for the report so that folks can maybe convert their cover art to at least 8BPP pixel formats.

Actually, after thinking about this I'm wrong - I do actually do something to the image when its cover art - I scale it using a scaled blit into a secondary Gdiplus::Bitmap object that has the same pixel format as the source image.  I bet what is happening is that the scaled image doesn't have a palette (index image formats are such a pain in the @ss) so all index lookups return the color black.

The image you posted is reporting itself as 0x00030803 which means it is an 8 bits per pixel index image format.  Did you post the wrong image because you were talking about ones with 4BPP or less.  But this image shows up black too so are you sure you got album art to work that uses 8BPP?

Fixed it.
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-15 16:54:23
Quote
The image you posted is reporting itself as 0x00030803 which means it is an 8 bits per pixel index image format.  Did you post the wrong image because you were talking about ones with 4BPP or less.  But this image shows up black too so are you sure you got album art to work that uses 8BPP?

My assumption that it was 4BPP was based on opening it in PSP and finding that I could increase its depth to 8BPP. Now that I look again, I can apparently also decrease its depth to 4BPP. PSP reports it as 8BPP as well so perhaps it doesn't relate to the BPP and more to the indexing issue you mention. It certainly is a little odd to see a paletted JPEG..

If your code works with GIFs (which I understand are always paletted), then presumably you can reuse that bit to deal with paletted JPEGs?
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-15 16:55:34
lol! that's what happens when someone comes in to ask you a weird question while you're writing a reply

Thanks for fixing it.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-15 17:19:19
v2.0 RC4 Available (http://www.loodi.com/foo_looks_beta.zip)

Changelog:

1.  Fixed bug in scaled cover art image wrt indexed pixel formats.
2.  Believe I have fixed the black flash display resolution problem.
3.  Fixed "Swap" crash bug
4.  Added support for pixel accurate hotspots using PNG alpha channel information

Code: [Select]
sprite foobar
string image "bar.png"
bool pixelaccurate true


A sprite set up this way will only report that the mouse is inside it when over a pixel with an alpha value > 0.  This allows you to make a hotspot of any shape.  PNG is the recommended format for foo_looks at it readily supports 32BPP ARGB pixel formats and seems to provide the best rendering performance and uses lossless compression.

New look:

Aero has updated his AeroAmp look which should work with any Winamp 2.X skin (provided you extract the assets from the zip file) with only slight modifications (fonts, colors, etc.).

AeroAmp (http://www.loodi.com/aeroamp.zip)
Title: foo_looks 2.0 (RC1)
Post by: AlexJ on 2004-01-15 19:22:43
Failed to load, LUA.DLL not found

*finds it*
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-15 19:47:42
Quote
Failed to load, LUA.DLL not found

*finds it*

Installation Instructions - see starter post of this thread (http://www.btinternet.com/~sean.m.kelly/foo_looks/install.htm)
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-01-16 12:58:41
Hey, Danz

I find next small bug:

If main window of Foobar not opened when Foobar started (minimized it to tray at last session, then close Foobar and start Foobar again) change volume with mouse wheel not working in looks 2.0, when Foobar started and mouse pointed to looks window.

I must activate  main  window, then select looks window and only then mouse wheel volume change is working.
Title: foo_looks 2.0 (RC1)
Post by: Thor on 2004-01-16 15:09:13
WhyTF don't you make this a _REAL_ UI replacement??!
Peter made a great API for custom user interfaces, and yet yuo simply don't use it.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-16 15:20:21
Quote
WhyTF don't you make this a _REAL_ UI replacement??!
Peter made a great API for custom user interfaces, and yet yuo simply don't use it.

Because I've yet to make or see someone else make a look that can do everything the default UI can do.  foo_looks 2.0 is approaching a point of having enough flexibility to make a robust UI but personally, I still think there are certain operations that are easier and work better in the standard Win32 widget based UI.

If you are happy to have a look as the only UI that won't allow you access to all the things you might be used to in the default UI then I'd be happy to hook foo_looks into the UI replacement services. 

I think most users are still happy with current configuration of fb2k as playlist manager and foo_looks and small, nice looking playback controller.  Correct me if I'm mistaken.
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-16 16:39:26
Quote
I think most users are still happy with current configuration of fb2k as playlist manager and foo_looks and small, nice looking playback controller.  Correct me if I'm mistaken.

I certainly prefer it how it is at the moment. It is great to be able to customize how I show the Album art and Now Playing information while still retaining a separate, powerful playlist viewer.
Title: foo_looks 2.0 (RC1)
Post by: tinodeleste on 2004-01-17 00:07:30
Quote
Because I've yet to make or see someone else make a look that can do everything the default UI can do.  foo_looks 2.0 is approaching a point of having enough flexibility to make a  think most users are still happy with current configuration of fb2k as playlist manager and foo_looks and small, nice looking playback controller.  Correct me if I'm mistaken.

Totally agree with you Danz.
There are way too many features in the original UI to merge into a nice little look !
Title: foo_looks 2.0 (RC1)
Post by: ExUser on 2004-01-17 08:09:09
Quote
I think most users are still happy with current configuration of fb2k as playlist manager and foo_looks and small, nice looking playback controller.  Correct me if I'm mistaken.

Heh, one of the reasons I don't play with foo_looks more is because it doesn't properly replace the GUI. I'd use it occasionally for fun if I could get it to make the main FB2K GUI go away for a little bit. I dislike the inconsistency of having a standard Win GUI window as a playlist and a custom-drawn graphical window as a "control".

You're right that there aren't any looks out there that replace everything, but if the code to do a complete replacement was there, there would be more incentive to make foo_looks a full-yfeatured GUI replacement.

Chicken and egg problem, all over again. Anyhow, add me to the list of people who'd like to see foo_looks hook into the GUI replacement SDK.

Is it possible to hook it in and still retain the "supplemental UI" mode if the user desires?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 12:54:06
i think you've underestimated the capabilities of the plugin

i think i can safely say that we can do 'everything' that the main UI can do

it just requires a little specialised scripting


perhaps i should explain the shift in plugin design from versions 1.0 - 2.0

-----

in 1.0, danZ provided a way to hook all the most common skin elements into your looks using minimal code. in other words, you just passed it a ski that was, in effect, a list of variables

for example, if you wanted a progress bar, you just specified how wide, what position, and what colour/graphic

this approach was great for amateurs, but more enthusiastic designers soon reached the inherent limitations of this approach.

then danZ included LUA. he realised he could still code those basic UI components, that users could import (using foo_looks_common.ski), but it also meant that those users who wanted something more special, could completely re-code those components, or even build new ones from scratch

in a way, danZ has done less.. to allow us to do more

if that makes sense.


he has still given us all the functions required to trigger everything that can be triggered from the main UI


nobody has written a skin that clones the main UI because everyone was happy with the concpet of a nice small controller that could be docked on thye desktop while the playlist is minimized to the system tray


however, if you would like to see the capabilities as a clone - i will try to write a user-friendly skin that behaves as much like the main ui as possible


hope this helps explain some things
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-17 12:58:43
Quote
i think i can safely say that we can do 'everything' that the main UI can do

it just requires a little specialised scripting

Is it possible to display the playlist entries using the Title formatting in the preferences, including the colour codes?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 13:03:10
Quote
Quote
i think i can safely say that we can do 'everything' that the main UI can do

it just requires a little specialised scripting

Is it possible to display the playlist entries using the Title formatting in the preferences, including the colour codes?

damn you

ok, text & colour is not a strong point at the moment

our text can only be a solid colour, or a two colour gradient

if you want multiple colours, you will need more than one text field to display each item

as for the formatting code, you can cut & paste it into your skin

however, all colour codes will be ignored by foo_looks


there is no way to extract the string from the preferences yet


perhaps i can make a convenient cut & paste area for formatting strings
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-17 13:17:49
Quote
damn you

ok, text & colour is not a strong point at the moment

our text can only be a solid colour, or a two colour gradient

if you want multiple colours, you will need more than one text field to display each item

as for the formatting code, you can cut & paste it into your skin

however, all colour codes will be ignored by foo_looks

ok

(sorry to push this more)

Since there isn't a way to measure the width of any particular text (the reason danz can't do only-when-necessary scrolling), wouldn't it be quite hard to reconstruct a playlist with a different colour for Artist, Album, Tracknumber, Title etc. ? You wouldn't know where to place the text fields.. and they'd change with each entry.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 13:19:12
no it's fine

you only need to update the plindex for each field

the text positions remain static, and you just update them as required

it's all automated from an LUA script, like in the default look
Title: foo_looks 2.0 (RC1)
Post by: teetee on 2004-01-17 13:38:07
So you could make a playlist that looked like

this (http://www.hydrogenaudio.org/forums/index.php?showtopic=17695&view=findpost&p=174434)?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 13:48:05
no

that's not possible

the fields would be fixed width if you wanted to have different colours


i could do the same format in a single colour


perhaps we should ask danZ about supporting colour codes

then it would be possible
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 14:48:11
How-to guide #002 is done

how-to guide #001 - adding functions to the playback buttons (http://www.btinternet.com/~sean.m.kelly/how-to_guide_001.txt)
How-to guide #002 - writing more interesting scripts (http://www.btinternet.com/~sean.m.kelly/how-to_guide_002.txt)


enjoy,

tk32
Title: foo_looks 2.0 (RC1)
Post by: foosion on 2004-01-17 14:54:28
Quote
as for the formatting code, you can cut & paste it into your skin

What about adding an interface to config_var_string::g_get_value(), so you can do
Code: [Select]
format = fb2k_getConfigString("titleformat:Playlist")

in a skin?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 16:05:16
Quote
Quote
as for the formatting code, you can cut & paste it into your skin

What about adding an interface to config_var_string::g_get_value(), so you can do
Code: [Select]
format = fb2k_getConfigString("titleformat:Playlist")

in a skin?

Yeah, I was planning on adding something like that anyway, I guess now is better then later.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 16:06:34
Quote
Quote
I think most users are still happy with current configuration of fb2k as playlist manager and foo_looks and small, nice looking playback controller.  Correct me if I'm mistaken.

Heh, one of the reasons I don't play with foo_looks more is because it doesn't properly replace the GUI. I'd use it occasionally for fun if I could get it to make the main FB2K GUI go away for a little bit. I dislike the inconsistency of having a standard Win GUI window as a playlist and a custom-drawn graphical window as a "control".

You're right that there aren't any looks out there that replace everything, but if the code to do a complete replacement was there, there would be more incentive to make foo_looks a full-yfeatured GUI replacement.

Chicken and egg problem, all over again. Anyhow, add me to the list of people who'd like to see foo_looks hook into the GUI replacement SDK.

Is it possible to hook it in and still retain the "supplemental UI" mode if the user desires?

Thanks for your point of view.  I'll see if there is a clean and simple way to support both modes (UI addon and UI replacement).
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 16:12:41
Quote
Quote
damn you

ok, text & colour is not a strong point at the moment

our text can only be a solid colour, or a two colour gradient

if you want multiple colours, you will need more than one text field to display each item

as for the formatting code, you can cut & paste it into your skin

however, all colour codes will be ignored by foo_looks

ok

(sorry to push this more)

Since there isn't a way to measure the width of any particular text (the reason danz can't do only-when-necessary scrolling), wouldn't it be quite hard to reconstruct a playlist with a different colour for Artist, Album, Tracknumber, Title etc. ? You wouldn't know where to place the text fields.. and they'd change with each entry.

There is a way to measure strings in GDI+ I just didn't get it to work first try and left it for more interesting tasks.  I can revisit this issue.

Supporting the color codes could be a challenge.  The only way I can think to do it is to parse every string that gets rendered and resetting the current pen every time I encounter a color code block.  Sounds like a pain.  I'd be curious to know how PP handles this in the default UI since he must be ownerdrawing the list control for the playlist entries.
Title: foo_looks 2.0 (RC1)
Post by: foosion on 2004-01-17 16:57:08
Quote
Supporting the color codes could be a challenge.  The only way I can think to do it is to parse every string that gets rendered and resetting the current pen every time I encounter a color code block.  Sounds like a pain.  I'd be curious to know how PP handles this in the default UI since he must be ownerdrawing the list control for the playlist entries.

Presumably he uses uTextOutColors (or rather uTextOutColorsTabbed) from utf8api.dll. Source code is included in the SDK, so you can see how it's done.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 17:28:08
Quote
Quote
Supporting the color codes could be a challenge.  The only way I can think to do it is to parse every string that gets rendered and resetting the current pen every time I encounter a color code block.  Sounds like a pain.  I'd be curious to know how PP handles this in the default UI since he must be ownerdrawing the list control for the playlist entries.

Presumably he uses uTextOutColors (or rather uTextOutColorsTabbed) from utf8api.dll. Source code is included in the SDK, so you can see how it's done.

Unless I misunderstand those he must be parsing the source string somewhere else to create multiple calls to uTextOuColors with the appropriate substring and color.  That's what I was saying I'd have to do - parse each string and break out each chunk that is a particular color then set the pen, render, then get next chunk on through.  I can't use these functions since my rendering is all custom and uses GDI+ for text rendering.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 17:50:50
ok, I added

fb2k_getConfigString(name) for the next RC so that you can do something like


Code: [Select]
look_setFspec(sprite,fb2k_getConfigString('titleformat:Playlist'))


And as expected if you have color information in your playlist formatting it shows up like this

004000

in the rendered string since I don't have a method for supporting multiple colors in a single formatted text string.

I'll start looking into a way to support this feature or a future version.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 18:14:54
if anyone would like to play with my new skin project, you can get it here:

(http://www.btinternet.com/~sean.m.kelly/new_project_ss.png)

download here. (http://www.btinternet.com/~sean.m.kelly/tk32-new_skin_project.zip)


i've tried to organise the code in a very user-friendly way.

there are no core scripts used, i have written my own


i import the scripts from new_project_common.ski


i am currently working on the playlist mode, so it's still pretty buggy.

any suggestions are appreciated
Title: foo_looks 2.0 (RC1)
Post by: foosion on 2004-01-17 18:15:46
Quote
Unless I misunderstand those he must be parsing the source string somewhere else to create multiple calls to uTextOuColors with the appropriate substring and color.  That's what I was saying I'd have to do - parse each string and break out each chunk that is a particular color then set the pen, render, then get next chunk on through.  I can't use these functions since my rendering is all custom and uses GDI+ for text rendering.

uTextOutColors calls text_out_colors, which does parse color codes. The passed color is the default color as set in preferences.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 18:22:25
Quote
Quote
Unless I misunderstand those he must be parsing the source string somewhere else to create multiple calls to uTextOuColors with the appropriate substring and color.  That's what I was saying I'd have to do - parse each string and break out each chunk that is a particular color then set the pen, render, then get next chunk on through.  I can't use these functions since my rendering is all custom and uses GDI+ for text rendering.

uTextOutColors calls text_out_colors, which does parse color codes. The passed color is the default color as set in preferences.

OK, but unfortunately it takes a DC and probably uses ExtTextOut or something to allow the text position to be maintained while it draws all the text chuncks.  Won't work for foo_looks since I render my text with GDI+ and don't want to give up the anti-aliased text support so I'll still have to create my own custom version of those functions.

Thanks for the help though as its given me some ideas on how to implement all of this.
Title: foo_looks 2.0 (RC1)
Post by: Linkin on 2004-01-17 18:24:44
how can i avoid this:
(http://home.arcor.de/jpichler/extern/foo_looks.jpg)
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 18:35:37
Quote
if anyone would like to play with my new skin project, you can get it here:

download here. (http://www.btinternet.com/~sean.m.kelly/tk32-new_skin_project.zip)


i've tried to organise the code in a very user-friendly way.

there are no core scripts used, i have written my own


i import the scripts from new_project_common.ski


i am currently working on the playlist mode, so it's still pretty buggy.

any suggestions are appreciated

I'd like to see the "core" playback buttons in the same place in all 3 modes (pl, id3,vis) - perhaps under those tabs as when in the current pl mode.

Also, I'm working on an idea to support image tiling which would allow for better dynamic resizing - ie. the top and side borders could be a small image that is tiled over and over again on the x or y axis to allow the window border to be any size.  To see what I mean take a look at the graphics used for a winamp 2.x playlist window.

(http://www.loodi.com/pledit.png)

if you look close you'll notice that there are grapics used for the borders that can be tiled inbetween the static corner graphics to produce a window any size.

I'll just add somethign like

Code: [Select]
sprite foobar
list rect int { 0,0,400,15 }
list srcoff int { 20,20 }
list tilesize int { 10, 15 }


in this case the image would tile a 10 X 15 image to fill the 400 pixel width of the sprite.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 18:44:37
Quote
how can i avoid this:
(http://home.arcor.de/jpichler/extern/foo_looks.jpg)

by keeping the look in always-on-top mode

or by moving the mouse over the look

please tell me what you did in order to produce this display
Title: foo_looks 2.0 (RC1)
Post by: Linkin on 2004-01-17 18:53:38
Quote
Quote
how can i avoid this:
(http://home.arcor.de/jpichler/extern/foo_looks.jpg)

by keeping the look in always-on-top mode

or by moving the mouse over the look

please tell me what you did in order to produce this display

I have deactivated always on top, because i just want to have it on the desktop. moving the mouse over the look brings back its original look. to produve it i just opened browser (firebird) and closed it again.

edit: opening windows explorer does the same job, like every other windows i guess.
Title: foo_looks 2.0 (RC1)
Post by: ExUser on 2004-01-17 19:26:31
Quote
i think i can safely say that we can do 'everything' that the main UI can do

it just requires a little specialised scripting

I didn't intend to imply otherwise; I meant that no-one's taken the effort yet to develop a look that can completely replace the original UI, with full playlist support and all. I didn't mean to imply foo_looks wasn't capable of it.
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-01-17 20:59:58
DanZ: Image tiling sounds great. Personally I have quite alot of catching up to do, but thanks to tk32's dedicated work it will be alot easier than it could have been. Keep up the good work both of you! 

tk32: It's strange, but your new look isn't visible here (WinXP SP1). I just downloaded it, but nothing shows up when I activate it. Any ideas? DanZ's default look works as it should though.


Btw: A collection of links to tutorials about making nice graphics would be appreciated. Maybe as a new thread at first and then move it to one of the sites later on... Just a thought.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 21:06:20
Quote
tk32: It's strange, but your new look isn't visible here (WinXP SP1). I just downloaded it, but nothing shows up when I activate it. Any ideas? DanZ's default look works as it should though.


i have no idea why it won't display for you in windows XP

i have tried the skin on win2k & winXP, using foo_looks 2.0 RC4 and it works fine on both.


can anybody else confirm this bug?


as for graphics tutorials, i can teach you what i know about placement and design

but i'm no expert on button graphics techniques etc...

few pointers for those making graphics though:

- use software that supports layers (Photoshop or PSP)
- when saving as a PNG, use the 'extract for web' feature (and select PNG 24-bit)
- always keep a copy with the layers intact
- avoid flattening layers unless it is really necessary
- if you want to customize somebody else's skin, then ask him/her for the PSD file with the layers
- save each update as a seperate file, instead of overwriting the original (eg my_skin_001.psd, my_skin_002.psd)
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-01-17 22:46:47
Sorry, I was stupid and I'll go hide now...       
I tried to activate new_project_common.ski 
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 22:52:43
Quote
Sorry, I was stupid and I'll go hide now...      
I tried to activate new_project_common.ski 

don't worry

i've done that before too



i've renamed the scripts file to new_project_common.lua

that solves the problem

i should have thought of this sooner


(although, i suppose now i should remove the non-lua code from the start of the file) 
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-01-17 23:11:47
@tk32: I like your new look (Hmm, "skin" works better when you say it like that...  ).

Btw: Is the small "now playing marker" supposed to follow when scrolling the playlist? Is it indended to indicate the direction of the current track or something.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 23:14:19
Quote
Sorry, I was stupid and I'll go hide now...      
I tried to activate new_project_common.ski 

I've done this too - its because the imported .ski file has no window section so the window ends up at 0 width and height.  Using a different extension is a good idea since it will prevent the imported file from showing up in the preferences page and will prevent accidental drag and drop.  I'll do this for the foo_look_common.ski too.  Maybe we could come up with some convention for the extension for imported files even though it is arbitrary.

.inc ?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 23:15:09
Quote
Btw: Is the small "now playing marker" supposed to follow when scrolling the playlist? Is it indended to indicate the direction of the current track or something.


it's supposed to point to the current track

but it's not working yet

atm, it only points to the current track if it is visible in the playlist - i need to make it disappear otherwise

i'm working on it now

---

btw danZ, i think we need to have an extension that indicates that it will be used for lua scripts only

i was naughty to place some section declarations in mine as well. i will move them to the ski now

.lua is cool i think
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-17 23:23:48
Quote
Quote
Btw: Is the small "now playing marker" supposed to follow when scrolling the playlist? Is it indended to indicate the direction of the current track or something.


it's supposed to show the current track

but it's not working yet

i'm working on it now

---

btw danZ, i think we need to have an extension that indicates that it will be used for lua scripts only

i was naughty to place some section declarations in mine as well. i will move them to the ski now

.lua is cool i think

but the imported files aren't restricted to lua code and it might be useful to have common sections in their, section color is a fine example of this. 

The imported files can have any mixture of all the supported .ski file syntax.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-17 23:26:32
i think it's a bad idea to unnecessarily de-couple parts of the look code

the only reason i seperated my lua to a seperate file was for readabilities sake

i personally think it's a bad idea to encourage spreading the code amongst multiple files

...especially while all skins share the same folder

i was merely trying to seperate form from function so people could read the 2 distinctly


----

UpNorth & all upcoming 'look' designers:

here are some nice Photoshop tutorials:

http://www.eyeball-design.com/fxzone/frames02.htm (http://www.eyeball-design.com/fxzone/frames02.htm)
http://phong.com/tutorials/ (http://phong.com/tutorials/)
http://www.gurusnetwork.com/tutorials/photoshop/index.html (http://www.gurusnetwork.com/tutorials/photoshop/index.html)
http://photoshopgurus.info/index.htm (http://photoshopgurus.info/index.htm)
Title: foo_looks 2.0 (RC1)
Post by: Linkin on 2004-01-18 10:39:18
is it possible for the standard look of foo_looks 2.0 RC to remember its layout?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-18 16:01:27
Quote
is it possible for the standard look of foo_looks 2.0 RC to remember its layout?

not yet, but you can set a default in the SKI, or using the overrides section.

the question was answered on page1:

http://www.hydrogenaudio.org/forums/index....ndpost&p=170737 (http://www.hydrogenaudio.org/forums/index.php?showtopic=17279&view=findpost&p=170737)
Title: foo_looks 2.0 (RC1)
Post by: NEMO7538 on 2004-01-18 20:59:45
I've done a test of the standard Foo_looks under WIN 98 SE, these are the results

--> GDIPlus dll installed in the Foobar directory
--> No errors at load time, Foo_looks is loaded properly
--> Correct menu but nothing shows up
--> Crash when stopping foobar

llegal operation:
Code: C0000005h, flags: 00000000h, address: 019AE9ECh
Access violation, operation: read, address: FFFFFFFFh
Call path:
WinMain=>app_shutdown
This is the first crash logged by this instance.
Code bytes (019AE9ECh):
019AE9ACh:  90 90 90 90 8B 01 50 E8 EC 65 00 00 C3 90 90 90
019AE9BCh:  90 90 90 90 8B C1 33 C9 89 08 89 48 04 89 48 08
019AE9CCh:  89 48 0C 89 48 10 89 48 14 89 48 18 89 48 1C C3
019AE9DCh:  90 90 90 90 83 EC 2C 53 8B 1D D4 1C 9D 01 56 57
019AE9ECh:  8B 43 04 50 68 B0 1E 9D 01 E8 76 2C FE FF B9 0B
019AE9FCh:  00 00 00 BE C0 1E 9D 01 8D 7C 24 14 83 C4 08 F3
019AEA0Ch:  A5 8B 4B 04 51 FF 15 18 53 9C 01 F7 D8 1B C0 B9
019AEA1Ch:  0B 00 00 00 F7 D8 8D 74 24 0C BF C0 1E 9D 01 89
Stack (0066FD1Ch):
0066FCFCh:  00000197 00010216 0066FD1C 0000019F
0066FD0Ch:  BFF55769 10003173 00000000 0000001E
0066FD1Ch:  BFF55769 10003173 00000000 019B5A69
0066FD2Ch:  019D1A08 019AF27C 10003173 004011FD
0066FD3Ch:  004296BB 0066FD70 0000000F 004296FE
0066FD4Ch:  0066FD70 0000000F 004105DA 00000000
0066FD5Ch:  81858BE5 00000000 00000244 00000113
0066FD6Ch:  00000010 113773C4 4B48B387 58ABDF8B
0066FD7Ch:  38E56CBC 00000007 00000236 019D1A00
0066FD8Ch:  0066FD9C 0040F154 00000000 00000000
0066FD9Ch:  0066FE38 0042DC3E 00400000 00000000
0066FDACh:  81858BE5 00000001 00000000 818391B0
0066FDBCh:  00560000 C0000005 81858BE5 00790A40
0066FDCCh:  00000000 00000000 00790C30 00000001
0066FDDCh:  00000044 00000000 00000000 00000000
0066FDECh:  00000000 00000000 00000000 00000000
0066FDFCh:  00000000 00000000 00000000 00000401
0066FE0Ch:  00000001 00000000 00000000 000011A2
0066FE1Ch:  00000000 0066FDB4 0066FB4C 0066FF68
0066FE2Ch:  0042DC68 004306D0 00000000 0066FF78
Registers:
EAX: 019C5E48, EBX: 00000000, ECX: 019D1A00, EDX: 00000010
ESI: 10003173, EDI: BFF55769, EBP: 0066FD8C, ESP: 0066FD1C
Failed to get module/symbol info.

Version info:
foobar2000 v0.7.7
ANSI



Let me know if you need more information
Title: foo_looks 2.0 (RC1)
Post by: kode54 on 2004-01-19 13:07:35
Quote
Quote
how can i avoid this:
(http://home.arcor.de/jpichler/extern/foo_looks.jpg)

by keeping the look in always-on-top mode

or by moving the mouse over the look

please tell me what you did in order to produce this display

Maybe its that strange "feature" I've heard about EndPaint... If something invalidates a region of your window while you're still repainting it (between BeginPaint and EndPaint) the whole window region will still be validated by the EndPaint call. Does anyone know a better solution than avoiding BeginPaint/EndPaint?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-19 15:10:39
Quote
I've done a test of the standard Foo_looks under WIN 98 SE, these are the results

Sorry, foo_looks only works on Win2K and above.  I have too many shared libraries that use Win32 calls to be able to utilize the utf8api.dll correctly at this time.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-19 15:17:54
Quote
Quote
Quote
how can i avoid this:
(http://home.arcor.de/jpichler/extern/foo_looks.jpg)

by keeping the look in always-on-top mode

or by moving the mouse over the look

please tell me what you did in order to produce this display

Maybe its that strange "feature" I've heard about EndPaint... If something invalidates a region of your window while you're still repainting it (between BeginPaint and EndPaint) the whole window region will still be validated by the EndPaint call. Does anyone know a better solution than avoiding BeginPaint/EndPaint?

I'm a bit perplexed by these strange redraw problems because I use a double buffered rendering system and I flip the entire back buffer (full window contents) everytime I receive a WM_ERASEBKGND message.  I draw the invalid regions in the backbuffer but any time I'm drawing to the screen DC it is the full window.  That is, I never draw just part of the window to the actual device which is what this looks like. 

To me this behavior seems to indicate the windows is invalidating my window and then not telling me ( or I need to catch one or more messages that I'm not currently).

I'll keep trying to figure it out - for now it will just remain as a nuisance
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-19 21:07:20
v2.0 RC5 Available (http://www.loodi.com/foo_looks_beta.zip)

Changelog.

1.  Added support for image tiling

Code: [Select]
sprite foo
string image "bar.png"
list rect int { 0,0,200,5}
list tilesize int {5,5}


The image in bar.png will be tiled in a 5 X 5 grid the sprite's rect.

How might this be useful?  Check out the small demo look, foo_dlg.ski, included in this package.

2.  Added

Code: [Select]
fb2k_getConfigString(name)


which returns contents of the specfied config string

potential use - set the playing item display to whatever the user has configured in fb2k title formatting prefs.

Code: [Select]
function onattach(this)
    look_setFspec(this,fb2k_getConfigString('titleformat:Playlist'))
end
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-19 21:09:18


love the new demo skin

thanks for showing us how powerful tiling is.

i spent the last few days thinking about how to achieve this feature without tiling


now i'll add it to my project skin in the form of a resizable corner handle

--

note - i'm a little confused as to why you made rounded corners, despite this feature still not being implemented....

is this a hint that it'll be in RC6 ?? 
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-19 21:21:07
Quote
i spent the last few days thinking about how to achieve this feature without tiling


now i'll add it to my project skin in the form of a resizable corner handle

It would have been a pain - sizing with a mouse move (drag) will be a little trickier with scripting just becuse you'll need to track the mouse, etc.  I was thinking about maybe trying to add a few more facilities to make window sizing easier like builting support for a sizing border so you'd get the nice little sizing cursor like on other windows and then maybe some facility for allowing sprites to autosize or automove with the window.  This would eliminate a lot of scripting.  This is still just an idea.  Meanwhile, you should be able to script something that's decent.
Title: foo_looks 2.0 (RC1)
Post by: kalmark on 2004-01-19 23:11:21
Well, guys, I must say, foo_looks became quite impressing!    I never thought about using it before, but now, seeing tk32's "new project" look, I definitely see the potential  A true Winamp-beater in eye-candy

Just to make some sense: the default look from danZ gives 100% cpu usage, even doing nothing. Might be normal, I was not interested enough to double-check it. WinXP with SP1,  foobar 0.7.7b.
Title: foo_looks 2.0 (RC1)
Post by: bogsnarth on 2004-01-19 23:45:05
i'm really looking forward to trying out this new foo looks, but i have a major problem.. i followed the installation instructions exactly, got the lua dlls and everything..  i backed up my old foo looks dir and dll thankfully, because when i started foobar with foo_looks 2.0 rc5, i got a steady stream of errors in the console.. it seemed to find an error on every single line of code.. when it reached 1000 lines i alt ctrl del'd it and deleted the dll and foo looks dir, then renamed the backups and everything works fine again..

sys specs: fb2k 0.7.7b, foo_looks 2.0 rc5
previous skin: amp5 look
winxp sp1

i also have foo_osd installed.. dunno if that matters


perplexed,
bogs

Title: foo_looks 2.0 (RC1)
Post by: Chun-Yu on 2004-01-19 23:49:56
Foo_looks seems to be doing something weird with certain title formatting strings - http://pelit.koillismaa.fi/fb2k/strings.php?f=40 (http://pelit.koillismaa.fi/fb2k/strings.php?f=40) gives a syntax error and eats up all your CPU time.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-19 23:53:47
that's unfortunate

ok, here's the deal until danZ can answer:


unless you are a look designer - stick to RC4 for the time being



in RC4, foo_looks didn't try to interface with the title-formatting at all

i will inform danZ of the potential title-formatting bug
Title: foo_looks 2.0 (RC1)
Post by: Chun-Yu on 2004-01-19 23:57:45
I am using RC4 (I think) - http://www.loodi.com/foo_looks_beta.zip (http://www.loodi.com/foo_looks_beta.zip), right?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-20 00:04:20
Quote
I am using RC4 (I think) - http://www.loodi.com/foo_looks_beta.zip (http://www.loodi.com/foo_looks_beta.zip), right?


the www.loodi.com build is always the latest (in this case RC5)


so i have uploaded RC4 for those that may want to downgrade, at least until we have had a chance to investigate this potential bug

foo_looks 2.0 RC4 (http://www.btinternet.com/~sean.m.kelly/foo_looks_2.0_RC4.zip)
Title: foo_looks 2.0 (RC1)
Post by: bogsnarth on 2004-01-20 00:19:29
thanks tk32, that's just what i needed

i'm also using the dynamic title formatting from upnorth, for the record..



edit: errrr.. apparently that wasn't what i needed.. same error
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-20 00:22:15
Quote
thanks tk32, that's just what i needed

i'm also using the dynamic title formatting from upnorth, for the record..

edit: errrr.. apparently that wasn't what i needed.. same error 

i've just tested UpNorth's 'dynamic' with RC5 and it works fine

win2k pro sp4
foobar 0.7.7
foo_looks 2.0 RC5


though let's not speculate until danZ has had an opportunity to check things out

EDIT:
if you are still getting errors after downgrading, you may need to delete these DLL's from the foo_looks folder:

luaCOMExtension.dll
luaRegexExtension.dll

this is just a speculation - but they might be responsible for the errors
(since they were not present in the RC4 install)

---
btw Kalmark, thanks for the praise on my new skin. 
it's far from complete, and i'm no artist, but yes... i'm sure you can all see the potential
Title: foo_looks 2.0 (RC1)
Post by: bogsnarth on 2004-01-20 00:44:01
Quote
EDIT:
if you are still getting errors after downgrading, you may need to delete these DLL's from the foo_looks folder:

luaCOMExtension.dll
luaRegexExtension.dll

this is just a speculation - but they might be responsible for the errors
(since they were not present in the RC4 install)

since i just deleted the folder and renamed my old one those dlls aren't around anymore, but i just opened the RC5 zip and saw that there is no RegEx.dll included.. maybe that's the source of the problem?

edit: oh you already edited that out

i'm confused now
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-20 00:49:11
let me explain - i help danZ beta test the plugin

so i sometimes get strange named files in my folder

RegEx.dll was an early verison of luaRegexExtension.dll

sorry to confuse you
Title: foo_looks 2.0 (RC1)
Post by: bogsnarth on 2004-01-20 01:05:30
ahh i see..

well i just tried changing to another formatting string (thanks foo_syfm ) specifically Gems by Lyx, and foo looks 2.0 works.. so i guess the problem is with the latest version of upnorth's dynamic format..

if anybody can figure out why it would give an error on literally every single line of code, (and especially how to fix it)  i'd appreciate it..  dynamic has been my favorite formatting string so far, and while i like the general look of Gems, i prefer the album mode look of dynamic..

thx for the help on this, tk32 and Chun-Yu.

peace,
bogs
(ps: sorry all of my posts on this forum have been reporting problems and asking for help.. i'll try to be more helpful if i can ever find a question i'm capable of answering.. )
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-20 01:07:33
the best contribution anyone can make is to attempt to design their own look

we love 'look' contributions
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-20 01:27:35
Quote
luaCOMExtension.dll
luaRegexExtension.dll

Neither of those are needed or being referenced by any code - they are for some stuff I'm testing out.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-20 01:30:50
Quote
that's unfortunate

ok, here's the deal until danZ can answer:


unless you are a look designer - stick to RC4 for the time being



in RC4, foo_looks didn't try to interface with the title-formatting at all

i will inform danZ of the potential title-formatting bug

I'll have to take a look at this its obviously related to

Code: [Select]
function onattach(this)
    look_setFspec(this,fb2k_getConfigString('titleformat:Playlist'))
end


which I added to my look in RC5.

It worked fine with my playlist formatting (the default foobar2000 settings) but apparently opened up a big can of worms in other cases.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-20 01:35:32
thanks danZ,

..... so here's the slightly modified version of the default look that will work with RC5 (http://www.loodi.com/foo_looks_beta.zip):

foo_looks.ski (http://www.btinternet.com/~sean.m.kelly/foo_looks.ski)(modified)


it works exactly how it should, but without reading the title-formatting.

i simply removed the following...

Code: [Select]
function onattach(this)
look_setFspec(this,fb2k_getConfigString('titleformat:Playlist'))
end



note:
the bug is not present in any of the other 'looks' (including mine)
Title: foo_looks 2.0 (RC1)
Post by: bogsnarth on 2004-01-20 01:57:23
that works perfectly at this end, tk32.. i had extremely high cpu usage with the default 2.0 look but without that line it's no more than a look from v1.

thanks a ton B)
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-01-20 08:12:50
Danz,

I ask you again.

If Foobar200 started minimized to tray and then I activate looks - change volume level with mouse wheel unavailable, I must activate main windows of Foobar and point mouse to looks again. Only in this case I must change volume level with mouse wheel.
Is this a bug or peculiarity of looks.

My seconf question: in foo_looks_common.ski and another available fo me skins I change real 100.0 to integer 100 and 0.02  to 1/50 (regional setting in lua not work).  I not found any errors, when I made this changes. It is correct?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-20 12:24:12
Quote
Danz,

I ask you again.

If Foobar200 started minimized to tray and then I activate looks - change volume level with mouse wheel unavailable, I must activate main windows of Foobar and point mouse to looks again. Only in this case I must change volume level with mouse wheel.
Is this a bug or peculiarity of looks.


this is normal behaviour for the look

the mouse wheel only triggers when the look is in focus / activated


but you could script a look that allows mouse wheel whenever the pointer is hovering over the look

it doesn't sound like a bug - but just how danZ intended it to work

---

...as for the 2nd question... i can't help you - you'll have to wait for danZ to reply.

however, i can tell that LUA doesn't honour the integer type when making calculations, so in other words, the results to these two calculations would be the same:

Code: [Select]
100.0 / 3.0
= 33.33333333333334

100 / 3
= 33.33333333333334


that might clear up some things.. or not.

--

perhaps you might even like to investigate how to customize the mouse wheel code yourself - it would be a nice little challenge (if you enjoy those). and i promise that it is not too hard

just check out my first 2 guides (#001 (http://www.btinternet.com/~sean.m.kelly/how-to_guide_001.txt),#002 (http://www.btinternet.com/~sean.m.kelly/how-to_guide_002.txt)) for a solid introduction to LUA scripting basics, and if you have any more problems, you can ask me by email

in fact, if anyone has any coding/LUA/graphics problems, they can email me..

()
or ICQ (486325)
Title: foo_looks 2.0 (RC1)
Post by: foosion on 2004-01-20 13:13:24
Quote
My seconf question: in foo_looks_common.ski and another available fo me skins I change real 100.0 to integer 100 and 0.02  to 1/50 (regional setting in lua not work).  I not found any errors, when I made this changes. It is correct?

This is a 'feature' of Lua. The Lua parser accepts floating point numbers in the same format as used in virtually any other programming language (basically the English format). However, to convert a string to the actual floating point value that is then used in Lua, it uses the strtod function from the C library which is locale-dependent.
For my foo_lua project, I patched Lua to use a custom version of lua_str2number, which is by default #defined as str2d in lobject.c.

Lua supports only one number type natively. By default this is set to 64 bit floating point. If you need integer division, use floor(a/b) (for a positive quotient), or ceil(a/b) (for a negative quotient), to get the same results as with integer division.
Title: foo_looks 2.0 (RC1)
Post by: Chun-Yu on 2004-01-20 13:39:34
Thanks tk32, it works fine with the modified ski.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-20 15:06:02
Quote
Danz,

I ask you again.

If Foobar200 started minimized to tray and then I activate looks - change volume level with mouse wheel unavailable, I must activate main windows of Foobar and point mouse to looks again. Only in this case I must change volume level with mouse wheel.
Is this a bug or peculiarity of looks.


Sorry, I meant to reply to your first post.  Yes, there is some bug where the look will not get the WM_MOUSEWHEEL message until you click another window and then click the look.  Not intentional, I'm trying to track it down.

Quote
My seconf question: in foo_looks_common.ski and another available fo me skins I change real 100.0 to integer 100 and 0.02  to 1/50 (regional setting in lua not work).  I not found any errors, when I made this changes. It is correct?


Lua has a setlocale function which seemed to work for me when I tried it but others report that it does not work.  The changes you have made should give the same outcome without running into any locale specfic problems.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-20 15:14:14
Quote
Quote
My seconf question: in foo_looks_common.ski and another available fo me skins I change real 100.0 to integer 100 and 0.02  to 1/50 (regional setting in lua not work).  I not found any errors, when I made this changes. It is correct?

This is a 'feature' of Lua. The Lua parser accepts floating point numbers in the same format as used in virtually any other programming language (basically the English format). However, to convert a string to the actual floating point value that is then used in Lua, it uses the strtod function from the C library which is locale-dependent.
For my foo_lua project, I patched Lua to use a custom version of lua_str2number, which is by default #defined as str2d in lobject.c.

Lua supports only one number type natively. By default this is set to 64 bit floating point. If you need integer division, use floor(a/b) (for a positive quotient), or ceil(a/b) (for a negative quotient), to get the same results as with integer division.

Any idea why

setlocale()

won't work?

That is, every script that was going to rely on floating point contants, etc. could call this before doing any floating point operations.

I tried this locally, in that I set the local to Russian and the lua parser then correctly gave me errors for 100.0, etc. when I ran my look.  But when I instructed the Russian user to use setlocale("en-us") it did not correctly handle the 100.0, etc.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-20 15:33:00
Quote
Foo_looks seems to be doing something weird with certain title formatting strings - http://pelit.koillismaa.fi/fb2k/strings.php?f=40 (http://pelit.koillismaa.fi/fb2k/strings.php?f=40) gives a syntax error and eats up all your CPU time.

I "preprocess" tags to support things like _istoggled, _isvisible, etc. so that one field can change based on other events, conditions in the look.  Because of this I have a lot of tag processing overhead since every field displaying formatted text must be reformatted on a regular basis to reflect these event changes.  Having a large tag like the one you are using for your playlist just isn't feasible and will eat all the CPU time while the look continually tries to update its text.  This overhead will get even worse if I attempt to add support for color information for multi-colored strings.

I'll remove the line from the default ski file to match tk32's modified version that doesn't use fb2k_getConfigString() to set the formatting.

2 choices

1.  I can eliminate most of the custom tag processing, this might be an option since scripting could fill some of the gaps that would be opened up.  This would allow me to reduce the tag overhead.

2. Leave it as is and looks use quick and efficient tag formatting.

I can go either way as I'm big on using very simple formatting.
Title: foo_looks 2.0 (RC1)
Post by: foosion on 2004-01-20 16:26:44
Quote
Any idea why

setlocale()

won't work?

That is, every script that was going to rely on floating point contants, etc. could call this before doing any floating point operations.

I tried this locally, in that I set the local to Russian and the lua parser then correctly gave me errors for 100.0, etc. when I ran my look.  But when I instructed the Russian user to use setlocale("en-us") it did not correctly handle the 100.0, etc.

Are you sure that a Russian Windows supports en-us? You should check the return value of setlocale to see if it was successful. Otherwise, setlocale("C") should work on all Windows installations.
Locales don't affect floating point operations, only floating point parsing - both parsing of the Lua source as well as explicit (tonumber("1.0")) and implicit ("1.0"+1) string to floating point conversions.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-24 02:26:46
(http://www.btinternet.com/~sean.m.kelly/new_project_ss.png)

suggestions please

i need to know what to do from here

i was considering: ()
Title: foo_looks 2.0 (RC1)
Post by: kalmark on 2004-01-24 08:33:40
Quote
i was considering:
  • pop-up button panels (for playback/playlist controls)
  • support for resizing the skin
  • replace the scroll up/down buttons in PL view with a custom scrollbar

Tha last two I support, the first I don't understand  And, as someone mentioned before, you should put the play/stopt/etc. buttons to the same place in all styles of the look ( not just two of them, in vis too! ), maybe on left side if the style selection part.

Just one "dev" question: wherefrom do you get the vis data? In your look's code I could not find an entry for this. (Though I was just doing a quick search for "vis" in the file  )

Keep up the good work! 
Title: foo_looks 2.0 (RC1)
Post by: mobyduck on 2004-01-24 10:19:34
Quote
suggestions please

About the mini mode:

- make its height equal to window titlebar
- add (if not already there) a clickable progress bar of the current song (perhaps on mouseover?)
- place one button to close the look and one button to close fb2k (but don't ask me how to graphically differentiate them  )
- make artist - title scroll when there's not enough space to fully display those info

HTH.

Alessandro
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-24 14:25:30
here's a version you can test:

tk32-new_skin_project.zip (http://www.btinternet.com/~sean.m.kelly/tk32-new_skin_project.zip)

notes:

- watch the vis mode carefully - the spectrum fades lighter & darker
- left-click the close button to quit - right-click to hide the look.
- in PL mode, click the "current"/"focus" buttons to jump to that item - or double-click to set that item (set-focus|play focus) - try it and see, it will make sense
- click the PL|ID3|VIS buttons to change mode, and right-click them for toggle-fb2k|info box|skin-info
- "c" button shows the console


the code is quite neat - but it's still a little hacky

you're all welcome to borrow code


Kalmark, the vis code is here:

Code: [Select]
sprite spectrum
list rect int { 9 42 220 40 }
list srcoff int { 290 85 }
int bands 20
list rendermap int {}
list scripts string { "spectrumAnim" }


it's a built-in feature of foo_looks, and the scripts i've written only control when it displays


enjoy
Title: foo_looks 2.0 (RC1)
Post by: orjansjoholm on 2004-01-26 11:18:28
I really like your new skin and I would like to give you some feedback.

I think that the play buttons in the small windows are vague; maybe they could be a bit darker?

A double click beside the menu changes the skin from up-down and vs.

There are too many typefaces, and it’s not clear if a button is clickable or not.

I don’t like the yellow highlighting and cursive font of the song that is playing.

The play button moves around and can be found on 3 different places and in “VIS” mode you can not find them at all.

I would like to see a scrollbar in the menu instead of the up/down buttons.

I like the font in the menu and current|focus. “PL ID3 VIS” aren’t so visible.

Too many frames around the play list.

Just my 50 cents, keep up the good work.

Regards,

Örjan Sjöholm
Title: foo_looks 2.0 (RC1)
Post by: GoWaN on 2004-01-26 11:21:14
Quote
Quote
suggestions please

About the mini mode:

- make its height equal to window titlebar
- add (if not already there) a clickable progress bar of the current song (perhaps on mouseover?)
- place one button to close the look and one button to close fb2k (but don't ask me how to graphically differentiate them  )
- make artist - title scroll when there's not enough space to fully display those info

HTH.

Alessandro

100% agreed
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-01-26 18:20:03
cool

thanks for the feedback

this is exactly the sort of comments i needed


i'll get to work on the next update soon..



note - this skin is & was 'in progress' and playback buttons had not been properly designed yet (or placed)
Title: foo_looks 2.0 (RC1)
Post by: wanked on 2004-01-27 03:29:21
how many rc's will foo_looks 2.0 go thru before its public, also is 2.0 compatible with 1.0 skins?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-01-27 05:08:43
Quote
how many rc's will foo_looks 2.0 go thru before its public, also is 2.0 compatible with 1.0 skins?

I have one more version, RC6, about ready to release and then will wait for tk32 to finish up his new look.  Then I think it is ready.  I was hoping to have a few more looks because, to answer your question, 1.x looks are not compatible without serious reworking which means 2.0 will only have a handful of choices.
Title: foo_looks 2.0 (RC1)
Post by: peter barn star on 2004-01-27 05:10:14
tk32:
for my 2 cents:
-I think the yellow highlight is alright - it actually makes it easy to see which song is being played...personal preference I spose.
-loving the 6 second fast fwd if you right click the track progress bar in ID3 [down] mode
- maybe an option to display track remaining time?


and this s sure to be a dumb question: but foobar takes about 3 times as long to load now (compared to when neither foo_looks or Foo_tunes was installed)...is therre any chance this load time will be improved...Fast loading was one of the main draw cards of foobar....

2 cents over and out
Title: foo_looks 2.0 (RC1)
Post by: iwod on 2004-01-31 22:04:11
Quote
Quote
Quote
I think most users are still happy with current configuration of fb2k as playlist manager and foo_looks and small, nice looking playback controller.  Correct me if I'm mistaken.

Heh, one of the reasons I don't play with foo_looks more is because it doesn't properly replace the GUI. I'd use it occasionally for fun if I could get it to make the main FB2K GUI go away for a little bit. I dislike the inconsistency of having a standard Win GUI window as a playlist and a custom-drawn graphical window as a "control".

You're right that there aren't any looks out there that replace everything, but if the code to do a complete replacement was there, there would be more incentive to make foo_looks a full-yfeatured GUI replacement.

Chicken and egg problem, all over again. Anyhow, add me to the list of people who'd like to see foo_looks hook into the GUI replacement SDK.

Is it possible to hook it in and still retain the "supplemental UI" mode if the user desires?

Thanks for your point of view.  I'll see if there is a clean and simple way to support both modes (UI addon and UI replacement).

Exactly what i said b4........ may be last time i should have shut more loudly so shuld have been done this time round.

A GUI system that combine both current and foo_looks into one. Giving Both the maximum benifit of customization and simplity........

However, i would like to know the resources usage for this comaring to using to Foobar without it and Winamp 2.x and 5........

Would be interesting.........
Title: foo_looks 2.0 (RC1)
Post by: wanked on 2004-02-01 00:48:37
when will foo looks 2.0 b released? just looking for like an estimation
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-01 01:12:58
2.0 will be released very soon

we are in the very final stages of testing RC6, and just waiting for my lazy a$$ to finish my new skin so that it can be released in conjunction with it.

my guess is about 4 days


btw: is anyone out there working on any skins / graphics for the plugin?

we'd love some contributions .. in any form

if it's lack of support, or knowledge, then please don't hesitate to let me know. i'm happy to write as many tutorials as it takes for you all to be comfortable with the process.

and if you're worried about coding, then just show me your Photoshop/PSP skills and let me do the rest for you.
i am looking for suggestions on what to write for tutorial guide #003

please support us and make a contribution[/i]

()
Title: foo_looks 2.0 (RC1)
Post by: wanked on 2004-02-01 06:15:40
can't wait, i stopped using foobar cuz of the error cant wait to switch back hehe
Title: foo_looks 2.0 (RC1)
Post by: neoufo51 on 2004-02-01 10:12:31
Quote
2.0 will be released very soon

we are in the very final stages of testing RC6, and just waiting for my lazy a$$ to finish my new skin so that it can be released in conjunction with it.

my guess is about 4 days


btw: is anyone out there working on any skins / graphics for the plugin?

we'd love some contributions .. in any form

if it's lack of support, or knowledge, then please don't hesitate to let me know. i'm happy to write as many tutorials as it takes for you all to be comfortable with the process.

and if you're worried about coding, then just show me your Photoshop/PSP skills and let me do the rest for you.
  • the basic skin graphics guidelines are here (http://www.hydrogenaudio.org/forums/index.php?showtopic=16500&view=findpost&p=164147)
  • the beginners coding tutorial is here (http://www.btinternet.com/%7esean.m.kelly/foo_looks/tutorial.htm)
  • the additional coding tutorials (text only) are here: #001 (http://www.btinternet.com/~sean.m.kelly/how-to_guide_001.txt) & #002 (http://www.btinternet.com/~sean.m.kelly/how-to_guide_002.txt)
i am looking for suggestions on what to write for tutorial guide #003

please support us and make a contribution[/i]

()

Will it be updated for the 0.8 SDK by RC7?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-01 12:47:09
the 0.8 SDK is a beta - so it's not a high priority at the moment

however, when 0.8 becomes stable we will definitely rebuild the plugin with the new sdk.

until then - we will continue to support the most stable version of foobar (0.7.7b)


---
remember, the fb2k community grows from user contributions. foo_looks is a great way for all you non-programmers to contribute to the community.

design us some graphics
----

p.s. - it was not necessary for neufo51 to quote my entire post for that simple meesage

[span style='font-size:8pt;line-height:100%']</rant>[/span]
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-01 17:46:45
Quote
Will it be updated for the 0.8 SDK by RC7?

The current RC works with 0.8 - I've already tried it so there is no hurry to recompile it with the 0.8 SDK as I won't really gain anything until I'm able to review the new 0.8 features and see what I can add to foo_looks.
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-02-01 17:53:00
weee.... got my own skin in progress, but it will take some time to get it done.
little preview:
(http://home.arcor.de/theurmel/skin.png)
updated ^^
playbutton is a little big, but who cares....
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-01 19:15:35
that's about how my new skin looked when i started (and it only looks a little better now)

the graphics gradually get refined as you work on things


but i'm so pleased that there really are users out there working on skins

now who else is making a skin?


p.s. - i'll be on ICQ tonight working on my skin, in case anybody has anything they want to ask/discuss

my UIN is 486325
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-01 21:20:58
Is it still so that the alpha blending support is only for different layers of the skin?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-01 21:50:12
Quote
Is it still so that the alpha blending support is only for different layers of the skin?

You can alpha blend the whole window with the desktop at a constant value

section window
int alphablend [0-100]

sprites can be individually blended with the sprites under them using same syntax

sprite foobar
int alphablend [0-100]
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-01 21:54:15
Quote
weee.... got my own skin in progress, but it will take some time to get it done.
little preview:

Nice!  You'll also be testing 2 features not used yet, window transparency and pixel accurate hotspots.  I see you are already using PNG images so that is good since they seem to give the best rendering performance (32 bit, non-interlaced).
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-01 22:02:43
Quote
Quote
Is it still so that the alpha blending support is only for different layers of the skin?

You can alpha blend the whole window with the desktop at a constant value

section window
int alphablend [0-100]

sprites can be individually blended with the sprites under them using same syntax

sprite foobar
int alphablend [0-100]

Yes I know that, but what I meant was is there a way to get nice freeform skins (ie a circle) with antialiased edges?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-01 22:07:26
Quote
Quote
Quote
Is it still so that the alpha blending support is only for different layers of the skin?

You can alpha blend the whole window with the desktop at a constant value

section window
int alphablend [0-100]

sprites can be individually blended with the sprites under them using same syntax

sprite foobar
int alphablend [0-100]

Yes I know that, but what I meant was is there a way to get nice freeform skins (ie a circle) with antialiased edges?

nope, you can make part of the window transparent just like in 1.x with

section window
list transcolor int { a r g b }

but it won't give an antialiased edge.  I need to do some more research into blending with the desktop.
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-01 22:16:18
Ok thanks for clearing that up. I believe that if (when) you get it implemeted we'll see a huge amount of new cool looks
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-01 22:34:47
Quote
Ok thanks for clearing that up. I believe that if (when) you get it implemeted we'll see a huge amount of new cool looks

Well, if those looks started appearing I might be forced to work on it a little harder
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-01 23:41:35
just to let everyone know.. i am coding an automatic text-scroll / text-drag script right now

this should lay to rest any worries about the ability to scroll text if it's too long

i'll let you know when it's working.

EDIT: it's working


the script triggers only for text fields that are overflowing

- wait 2 seconds
- start scrolling left
- when the whole string has been displayed begin scrolling right again
- ... then go left again
- ... etc...

a ping pong effect

eventually i'll add support for a traditional wrap-around scroll, and add the ability to click-drag the string left or right with the mouse
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-02 01:11:21
ok

here's an early version of the textscroll script for you to test

it's been enabled for ID3 & VIS mode only so far, and only triggers when the text is too long

(http://www.btinternet.com/~sean.m.kelly/tk32_scroll_test.png)

tk32-new_skin_project.zip (http://www.btinternet.com/~sean.m.kelly/tk32-new_skin_project.zip)


---
and just for good measure - here's a fun little skin idea called 'no graphics'

no_graphics.ski (http://www.btinternet.com/~sean.m.kelly/no_graphics.ski)

(http://www.btinternet.com/~sean.m.kelly/no_graphics.png)

be warned - it's not very good! (yet)
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-02 01:55:02
I am working on a skin, as well as some foo_looks 1.xx to 2 conversions.
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-02-02 09:04:31
Hey, tk32

I tried use new version of you skin new_skin_project.ski with textscroll future.
When I activate skin, I have next console log
Code: [Select]
INFO (foo_looks) : Sprite 'progBar' is visible with empty rectangle
INFO (foo_looks) : Sprite 'progBar2' is visible with empty rectangle
INFO (foo_looks) : Sprite 'nowPlaying' is visible with empty rectangle
ERROR (foo_looks) : attempt to call global `look_measureTextAbs' (a nil value)
ERROR (foo_looks) : attempt to call global `look_measureTextAbs' (a nil value)
ERROR (foo_looks) : attempt to call global `look_measureTextAbs' (a nil value)


Thus, the text in looks not scrolling.

I have foo_looks2.0 rc5, find this bug when run foobar version 7.7c and 8.0 beta 4.
Title: foo_looks 2.0 (RC1)
Post by: BUSH on 2004-02-02 11:57:44
Quote
Hey, tk32


Code: [Select]
INFO (foo_looks) : Sprite 'progBar' is visible with empty rectangle
INFO (foo_looks) : Sprite 'progBar2' is visible with empty rectangle
INFO (foo_looks) : Sprite 'nowPlaying' is visible with empty rectangle
ERROR (foo_looks) : attempt to call global `look_measureTextAbs' (a nil value)
ERROR (foo_looks) : attempt to call global `look_measureTextAbs' (a nil value)
ERROR (foo_looks) : attempt to call global `look_measureTextAbs' (a nil value)

I got the same problem with non scrolling text as above, with the latest foo_looks and foobar beta.


Also i have the look set to always on top, but it seems a bit tempremental in that it doesn't always stay on top. No idea whats causing this or any workaround as it just seems to do it randomly.

I might try and work on some looks, although i'm neither a graphic artist or coder so it might take me a while to get anywhere with it.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-02 12:41:58
i am very sorry

the text scroll uses a brand new feature from RC6 called look_measureTextAbs()


since danZ didn't publically release RC6, you had no way of knowing this

thanks to pIv & BUSH for noticing so soon.


here is the link to foo_looks 2.0 RC6 (http://www.btinternet.com/~sean.m.kelly/foo_looks_2.0_RC6.zip)


i hope danZ won't mind
Title: foo_looks 2.0 (RC1)
Post by: BUSH on 2004-02-02 13:27:48
Thanks for posting RC6, it fixed the error generated however the scroll doesn't seem to be working for me. I take it its meant to scroll any text on the ID3 and Vis screen if it doesn't all fit on the look when static.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-02 13:30:47
that's right

it happens more in VIS mode since all the text is on 1 line


i can't see any reason why it shouldn't work for you - i thoroughly tested it last night
Title: foo_looks 2.0 (RC1)
Post by: mazy on 2004-02-02 13:32:30
same here, it seems that it won't get triggered ...

it only adds '...' to the end
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-02 13:34:40
hmm

something must be wrong

it should never add '...' to the end


EDIT: ok - i found an initialization bug.

try changing the track a few times, the '...' should disappear


looking into a fix now..



thanks for spotting the bug, initialization was something i didn't test, since i update my skin dynamically as i make changes to the code
Title: foo_looks 2.0 (RC1)
Post by: BUSH on 2004-02-02 13:56:23
Yeah, seems to be working fine after changing tracks a few times using the buttons in the look. Looks really good btw, excellent work
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-02-02 14:18:27
As BUSH wrote
Quote

Yeah, seems to be working fine after changing tracks a few times using the buttons in the look. Looks really good btw, excellent work
Quote


But it is not good idea start scrolling only by pressure of buttons in the look.

When I start Foobar again - I an not scrolling text.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-02 14:25:03
Quote
As BUSH wrote
Quote

Yeah, seems to be working fine after changing tracks a few times using the buttons in the look. Looks really good btw, excellent work


But it is not good idea start scrolling only by pressure of buttons in the look.

When I start Foobar again - I an not scrolling text.

yes - i am very aware of this

as i said.. it is a bug.

i am working on it today (when i get some free time)... fix will be ready tonight

EDIT: i think the problem is that the script initializes before the id3 has been read
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-02 16:20:51
is there any chance of people making this into a gallery of skin ideas / concepts

i'd love to see some graphics / drawings of skin ideas

it seems i'm the only one with enough guts to put my graphics under scrutiny

(i forgot URMEL  sorry)

i'm no artist, as you can see - so don't be embarassed of your own designs


let's brighten up this post with some graphics! or even text descriptions of skin ideas

[span style='font-size:14pt;line-height:100%']
the first 10 users who show us a skin concept / graphic will win a prize**[/span]



[span style='font-size:8pt;line-height:100%']**conditions apply. you may be required to make a premium rate toll call to receive your gift.[/span]
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-02 17:41:40
This is a quick scetch I did a while ago (it's not even finished yet, it's actually only a template). It's meant to be just a simple informational display with only basic buttons, as I like the looks more like that. No playlist functionality is (or was) planned. God only knows if I ever am bored enough to finish it.
The problem is that as it's going to be only an informational look, It should blen well with things you use while playing music and currently it does really bad work on that.. Perhaps it would work well on a white background, but definitely not on my black one

But here's the pic:
Title: foo_looks 2.0 (RC1)
Post by: neoufo51 on 2004-02-02 19:16:06
Quote
[[span style='font-size:11pt;line-height:100%']**conditions apply. you may be required to make a premium rate toll call to receive your gift.[/span]

Yeah guys, if you get those graphics in, you get to have phone sex with tk32!

Sorry, it was too funny to resist. 
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-02 20:06:04
that's cool

it's fair game.

i'm just glad you realised it was a joke
-------------------------

Official release of Foo_looks 2.0 RC6 (http://www.btinternet.com/~sean.m.kelly/foo_looks_2.0_rc6.zip)

this came straight from danZ

few changes since the version i posted earlier

--------------------------
finally, if anyone wants to work on this one - it's available from me (i'll send the PSD)

just a concept i didn't have time to develop (i think i need to make it smaller for a start)

(http://www.btinternet.com/~sean.m.kelly/gits_suitcase.png)

p.s. more updates coming later - i'm gonna try to finish a few open projects by tonight
Title: foo_looks 2.0 (RC1)
Post by: Zulithe on 2004-02-02 21:23:28
Thanks tk32. I'm giving my shot at a skin. It will be a bit simple, and no telling how successful I will be but it's worth a try.
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-02-02 22:40:49
@tk32: Can you upload that psd somewhere, I think I could learn something from it. 
I'm not saying I'll turn it into something usable though.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-02 23:12:38
your wish is my command

(http://www.btinternet.com/~sean.m.kelly/tk32_metal_suitcase_ss.png)


tk32_metal_suitcase.rar (http://www.btinternet.com/~sean.m.kelly/tk32_metal_suitcase.rar)
note: this is not a skin - it's an Adobe Photoshop CS 8 .PSD file

it's nothing special - just plenty of layer effects
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-03 01:50:07
ok - it's time to stop being a release candidate and go final

here it is...

[span style='font-size:21pt;line-height:100%']foo_looks 2.0 (http://www.loodi.com/foo_looks.zip)[/span]

no more rc versions

all major bugs have been isolated and fixed

... and plenty new features added along the way.

----
the currently available 'complete' skins are (click for download):

default skin (included with the plugin)
fooAMP2 (http://www.btinternet.com/~sean.m.kelly/fooAMP2.rar)
&
the micropanel (http://www.btinternet.com/~sean.m.kelly/tk32-micropanel.zip) (aka 'new skin project')

(http://www.btinternet.com/~sean.m.kelly/micropanel_ss.png)


there are plenty more skins in development - we hope to see them all soon.


thanks danZ,

enjoy.
Title: foo_looks 2.0 (RC1)
Post by: atici on 2004-02-03 02:11:25
Could you also post a compile with 0.8 SDK ? Thanks.
Title: foo_looks 2.0 (RC1)
Post by: neoufo51 on 2004-02-03 02:17:13
Quote
that's cool

it's fair game.

i'm just glad you realised it was a joke
-------------------------

Course. Otherwise I would not have made such an outrageous comment. 
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-03 04:38:30
Quote
Could you also post a compile with 0.8 SDK ? Thanks.

The released version works with 0.8 and there is no need for me to make a compile against that SDK at this time.
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-02-03 08:21:11
To tk32

Your look micropanel is fine, but:

1. Not work - activate main windows by rightmouseclick on "PL"

2. Show console by leftmouseclick on "C" not work also.

In skin fooAMP2 volume changed by mouse wheel, but volume slider not moved in this case. Main windows in fooAMP2 not activated also.

The bug with activation main windows is absent in foo_looks_beta2.0rcX
Title: foo_looks 2.0 (RC1)
Post by: bernard on 2004-02-03 10:36:27
@tk32

Thanks for this great work, I really like your micropanel, but there is one little suggestion:

What about integrating a volume slider? (Or am I just too blind to find it?)

There's a little plugin on http://pelit.koillismaa.fi/plugins/general.php (http://pelit.koillismaa.fi/plugins/general.php) called "No-delay volume changing (foo_mixer)" that integrates "simple access to your system mixer main volume slider (and mute switch)" in foobar2000's playback drop-down menu.
Is it possible to integrate these features in your micropanel?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-03 10:58:04
Quote
To tk32

Your look micropanel is fine, but:

1. Not work - activate main windows by rightmouseclick on "PL"

2. Show console by leftmouseclick on "C" not work also.

In skin fooAMP2 volume changed by mouse wheel, but volume slider not moved in this case. Main windows in fooAMP2 not activated also.

The bug with activation main windows is absent in foo_looks_beta2.0rcX

i don't understand

the bug must be on your machine onlyas for fooAMP2 - the mouse wheel update is a real bug, so thanks. i will fix it

as for the other thing about main windows - i don't understand


could you try to explain it for me

sorry

---
bernard,

you're right - i have omitted a volume control from micropanel - but i can easily add one

in fact, the vertical white bar was reserved for that very reason

to be honest - i wanted to know how important it was for people to have one.

i will have an update by the end of the day
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-02-03 12:49:32
First concept done 
(http://home.arcor.de/theurmel/skin.png)

todo:
- adjusting size. seems a little big
- cleanup
- seperating buttons from core
- doing pressed-buttons
Title: foo_looks 2.0 (RC1)
Post by: bernard on 2004-02-03 12:50:30
1. Thanks for your reply, I'm looking forward to the upcoming volume slider.
Quote
in fact, the vertical white bar was reserved for that very reason

That bar looked quite suspicious to me (I tried to click and/or adjust it for about a hundred times without success before I asked for a volume slider)

Are you gonna add the standard volume slider with the delay (as it is in fooAMP2) or can I expect a no-delay volume slider? (I would prefer the latter...)



2.
Quote
the bug must be on your machine only

Sorry to say that, but same problem here: PL right click -> no effect, c-click -> no effect
Title: foo_looks 2.0 (RC1)
Post by: desigrid on 2004-02-03 13:00:18
Just started experimenting with foo_looks 2.0 and would appreciate an answer to a question I have:

I am attempting to load and display album art at its native aspect ratio, but am having trouble getting the image size (in pixels) of an image loaded using look_loadImage().

I've looked at http://www.btinternet.com/~sean.m.kelly/functions_list.txt (http://www.btinternet.com/~sean.m.kelly/functions_list.txt) but have not been able to find a related function.
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-02-03 13:02:50
To tk32

This bug with rightclick on "PL" an leftclick on "C"  I  hav only with version foobar 0.8b5.
I  install foobar 0.77b again and all is OK!

I change in looks string to "PL" button

fb2k_menuCommand('Foobar2000/Activate main window')

to string

fb2k_menuCommand('Foobar2000/Exit').

That work in both versions of Foobar.

Also command: fb2k_menuCommand('Components/Show console') not work with Foobar 0.8b5.
Title: foo_looks 2.0 (RC1)
Post by: Megadeus on 2004-02-03 13:56:25
Quote
Quote
To tk32

Your look micropanel is fine, but:

1. Not work - activate main windows by rightmouseclick on "PL"

2. Show console by leftmouseclick on "C" not work also.

In skin fooAMP2 volume changed by mouse wheel, but volume slider not moved in this case. Main windows in fooAMP2 not activated also.

The bug with activation main windows is absent in foo_looks_beta2.0rcX

i don't understand

the bug must be on your machine only
  • right clicking PL works

  • the 'c' console button works
as for fooAMP2 - the mouse wheel update is a real bug, so thanks. i will fix it

as for the other thing about main windows - i don't understand


could you try to explain it for me

sorry

---
bernard,

you're right - i have omitted a volume control from micropanel - but i can easily add one

in fact, the vertical white bar was reserved for that very reason

to be honest - i wanted to know how important it was for people to have one.

i will have an update by the end of the day

tk32,

I have the same problems with micropanel and the main window problem with fooAMP 2.0 using foo_looks 2.0 and foobar 0.8b4.

I fixed the prob in fooAMP 2.0 by substituting this list scripts string in the 'sprite plButton' section:

list scripts string { "[function onleftbuttonup(this) fb2k_menuCommand('Foobar2000/Activate or hide main window') end]" }

That got the PL button to show/hide the fb2k main window.

For micropanel, I had to make a similar change in the list scripts string in the 'sprite pltab' section:

list scripts string { "[function onrightbuttonup(this) fb2k_menuCommand('Foobar2000/Activate or hide main window') end]", "switchMode[i=1 init=look_getValue('presets','startmode')]" }

in order to get the fb2k main window to show/hide by right-clicking 'PL'.

For the left-click 'c' problem, I think pIv has it right.  The fb2k_menuCommand 'Components/Show console' doesn't seem to work in foobar  0.8.  Substituting 'Components/History' or 'Components/Playlist Find...' works, but 'Components/Show console' does nothing.
Title: foo_looks 2.0 (RC1)
Post by: bernard on 2004-02-03 14:42:02
Thanks, Megadeus, PL right-click works perfectly now.
BTW, for the left-click 'c' problem:
I just consciously misinterpret the 'c' as an abbreviation for 'config' and use fb2k_menuCommand('Foobar2000/Preferences') 

Any good ideas for a useful 'c'-right-click?
Title: foo_looks 2.0 (RC1)
Post by: GeSomeone on 2004-02-03 15:24:26
Quote
here it is...
foo_looks 2.0 (http://www.loodi.com/foo_looks.zip)

Time to start a fresh thread ... 
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-03 16:20:29
Quote
Just started experimenting with foo_looks 2.0 and would appreciate an answer to a question I have:

I am attempting to load and display album art at its native aspect ratio, but am having trouble getting the image size (in pixels) of an image loaded using look_loadImage().

I've looked at http://www.btinternet.com/~sean.m.kelly/functions_list.txt (http://www.btinternet.com/~sean.m.kelly/functions_list.txt) but have not been able to find a related function.

I don't have functions for any manipulations or information on images except for loading

look_loadImage(filename)
look_loadThumbImage(filename,newwidth,newheight)

and setting a loaded image to a sprite

look_setImage(image)

I can add the ones you suggested for next release.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-03 16:28:43
Quote
To tk32

This bug with rightclick on "PL" an leftclick on "C"  I  hav only with version foobar 0.8b5.
I  install foobar 0.77b again and all is OK!

I change in looks string to "PL" button

fb2k_menuCommand('Foobar2000/Activate main window')

to string

fb2k_menuCommand('Foobar2000/Exit').

That work in both versions of Foobar.

Also command: fb2k_menuCommand('Components/Show console') not work with Foobar 0.8b5.

menu_manager was one of the classes that was changed/extended for 0.8 and it appears that those changes break some of the menu related commands.  It is always going to be problematic since the menu API relies on strings for most features and those strings might change from one release to another.

So, I'll revert my previous statement and change it to "foo_looks 2.0 *mostly* works with 0.8 Betas".  But, this does show the advantage of scripted looks since you are easily able to correct the problem on your own.
Title: foo_looks 2.0 (RC1)
Post by: desigrid on 2004-02-03 16:48:36
Quote
Quote
I am attempting to load and display album art at its native aspect ratio, but am having trouble getting the image size (in pixels) of an image loaded using look_loadImage().

I don't have functions for any manipulations or information on images except for loading
[snipped]
I can add the ones you suggested for next release.

Thanks for considering my suggestion (well, it was actually a question  ). A function to retrieve the width and height of an image would be really useful for people who want to display album art at its original aspect ratio.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-03 21:07:58
Quote
First concept done 

Are you going to need help with the scripting?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-04 01:27:20
thanks to everyone for isolating, and in most cases, fixing the menu bugs in my skins


i am still using good old 0.7.7b so i was not aware of the potential problems of referencing menu commands.


it's really nice to see people using initiative and modifying looks to their own needs

that's really cool


sorry i wasn't here earlier to answer the questions.
Title: foo_looks 2.0 (RC1)
Post by: wanked on 2004-02-04 02:32:56
when i load this i get an error message, lua.dll not found
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-04 02:39:43
then you've been wanking too much


you need to install the LUA dll's

read the first post on the first page of this topic



perhaps danZ should make an installer that includes LUA
Title: foo_looks 2.0 (RC1)
Post by: wanked on 2004-02-04 03:26:12
was the playlist_format_title_ex crash in the old version a bug in the foo looks gui?
Title: foo_looks 2.0 (RC1)
Post by: stripe on 2004-02-04 03:48:16
I've never been able to get foo_looks running under win98, but I figured I'd try again with v2.0.  With GDI+ and the lua.dlls installed, foobar boots find but components->looks->(any option) does nothing.  When I go to preferences->looks it just says "(empty page)" and sort of does a funky refresh.

When I exit fb, I get this failure.txt:

Quote
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 013CFEECh
Access violation, operation: read, address: FFFFFFFFh
Call path:
WinMain=>app_shutdown
This is the first crash logged by this instance.
Code bytes (013CFEECh):
013CFEACh:  90 90 90 90 8B C1 33 C9 89 08 89 48 04 89 48 08
013CFEBCh:  89 48 0C 89 48 10 89 48 14 89 48 18 89 48 1C C3
013CFECCh:  90 90 90 90 8B C1 33 C9 89 48 04 89 48 18 C3 90
013CFEDCh:  90 90 90 90 83 EC 2C 53 8B 1D 44 2D 3F 01 56 57
013CFEECh:  8B 43 04 50 68 20 2F 3F 01 E8 B6 25 FE FF B9 0B
013CFEFCh:  00 00 00 BE 30 2F 3F 01 8D 7C 24 14 83 C4 08 F3
013CFF0Ch:  A5 8B 4B 04 51 FF 15 20 63 3E 01 F7 D8 1B C0 B9
013CFF1Ch:  0B 00 00 00 F7 D8 8D 74 24 0C BF 30 2F 3F 01 89
Stack (0067FD1Ch):
0067FCFCh:  0000017F 00210216 0067FD1C 00000187
0067FD0Ch:  BFF55769 100036BA 00000000 00000024
0067FD1Ch:  BFF55769 100036BA 00000000 013D6F51
0067FD2Ch:  013F2A78 013D077C 100036BA 004011A0
0067FD3Ch:  0043189D 0067FD70 00000009 004318E0
0067FD4Ch:  0067FD70 00000009 00411211 00000000
0067FD5Ch:  8162C3A2 00000000 00000720 00000113
0067FD6Ch:  0000000A 113773C4 4B48B387 58ABDF8B
0067FD7Ch:  38E56CBC 00000007 000002D0 013F2A70
0067FD8Ch:  0067FD9C 0040FF0E 00000000 00000000
0067FD9Ch:  0067FE38 004367E5 00400000 00000000
0067FDACh:  8162C3A2 00000001 00000000 81618D50
0067FDBCh:  00570000 C0000005 8162C3A2 007A09E0
0067FDCCh:  00000000 00000000 007A0BC0 00000001
0067FDDCh:  00000044 00000000 00000000 00000000
0067FDECh:  00000000 00000000 00000000 00000000
0067FDFCh:  00000000 00000000 00000000 00000401
0067FE0Ch:  00000001 00000000 00000000 000011A2
0067FE1Ch:  00000000 0067FDB4 0067FB4C 0067FF68
0067FE2Ch:  00436810 00439CA8 00000000 0067FF78
Registers:
EAX: 013E6E98, EBX: 00000000, ECX: 013F2A70, EDX: 0000000A
ESI: 100036BA, EDI: BFF55769, EBP: 0067FD8C, ESP: 0067FD1C
Failed to get module/symbol info.

Version info:
foobar2000 v0.8 beta 2
ANSI


stripe/ben
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-04 03:54:33
this has been discussed before

unfortunately we are not able to support win98

sorry


[span style='font-size:8pt;line-height:100%']p.s. dumping the failure.txt wasn't necessary[/span]
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-02-04 14:23:04
Quote
Quote
First concept done 

Are you going to need help with the scripting?

Most likely.
I'll start preparing the skin for scripting tomorrow. I'll ask if I need help.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-04 15:10:35
excellent

try to get as much of the interface ready as possible

all the sprites / statemaps in place


then danZ & myself will help you with some nice custom scripts

is there anything special that you wanted the skin to do?

(http://home.arcor.de/theurmel/skin.png)

looks like that orange section would make a good volume bar


or better still, turn that mute button into a <- arrow, and make it slide the play controls in/out from behind the rest of the skin.

... and we could make the progress bar slide out when the mouse is hovering over the skin

... and a mini mode which was just the play control oval
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-04 17:37:21
Quote
then danZ & myself will help you with some nice custom scripts

I'm working on per pixel alphablending with the desktop after getting some good pointers from kode54 (foo_osd author).  It should be possible to not only support this irregular shape but also to blend the edges or other portions with the desktop and/or windows behind the look.  I've made some progress in this so stay tuned.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-04 18:24:53
this is looking very exciting!

alpha-blending is working already (i just tried a beta build from danZ)


however, when foo_looks redraws the skin graphics, it seems to onion skin over the old update

the result is that the alpha areas of the skin get a little more opaque every time you hover over the skin

eg..

(http://www.btinternet.com/~sean.m.kelly/alpha_demo.png)
by after - i mean about 10 hovers. it gets gradually more opaque with each one

this is just for demo puropses - there is a gradient to alpha over the controls, and a completely invisible rectangle on the right
[span style='font-size:8pt;line-height:100%'](i also downgraded the colour-depth of the screenshot so it was smaller in size - so the gradient does not appear as smoothly as it does in real life)[/span]

notice, however, that the completely transparent pixels are unaffected


however, i'm sure this can fixed


great work danZ
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-02-04 18:57:09

http://home.arcor.de/theurmel/skin_raw.png (http://home.arcor.de/theurmel/skin_raw.png)
Buttons extracted from core. Maybe i've got to take the triangle out or make it round if we want to get the "click-onto-the-button-and-the-controlls-come-out"-thingy to work.

[edit]
Question: Is PNG transparency supported? I didn't find any docs about this topic. Maybe I overread something. plz don't hit me

[edit2]
Jup, I just started to play around a little bit with the script.
I hope to get the thing done until sunday.

[edit3]
Seems like sunday is a little early this week.
Buttons in place in the script, but I seem to not be able to get the elapsed time into the skin. I'm going to bed now. gn8 


and the orange part was ment to be a volumeslider
http://home.arcor.de/theurmel/skin_raw.ski (http://home.arcor.de/theurmel/skin_raw.ski)
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-04 18:59:54
now you need to do some coding URMEL

i trust you are able to do the sprites, rects or srcoff parts yourself


if anyone else feels inspired, then design some graphics & come along for the ride

we're willing to assist as many skin-makers as there are available

---

as for PNG transparency, wait another day for the final word on it

we are in the last stages of supporting 100% complete png transparency (including 255 degrees of desktop transparency)

once we have done this - we should be able to port freeform winamp3 skins
(if that's what you've been hoping for)
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-04 19:36:20
I know why you are seeing the "compounding" alpha blend.  Its because there is no fill (and filling with 0 0 0 0 doesn't work) and since I use a minimally redrawn back buffer the image just layers on top of itself.  The image needs to "erase" the invalid portions by filling the backbuffer with a transparent value but as I said, doesn't work.  I'll keep looking in to it.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-04 19:38:45
Also, looking at the skin.jpg graphic - is there a way in photoshop or whatever to save the image with the alpha values around the edge intact rather then having it antialiased to the transparent background color?  ie. so that the edges would instead blend with the desktop instead getting the blackish jaggies as in the current version.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-04 19:46:25
Quote
Also, looking at the skin.jpg graphic - is there a way in photoshop or whatever to save the image with the alpha values around the edge intact rather then having it antialiased to the transparent background color?  ie. so that the edges would instead blend with the desktop instead getting the blackish jaggies as in the current version.

of course

when you draw the skin , draw it on a new transparent layer

then it anti-aliases to alpha

in fact - here is URMEL's skin blended to alpha:

http://home.arcor.de/theurmel/skin_raw.png (http://home.arcor.de/theurmel/skin_raw.png)


however, if you are working with jagged source graphics, there are processes to fix those jaggies:

http://phong.com/tutorials/anti-alias/ (http://phong.com/tutorials/anti-alias/)
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-04 21:49:39
(http://www.btinternet.com/~sean.m.kelly/alpha_ss2.png)

danZ got it working

WOW WOW WOW

no more excuses - we want your skins!!!

if you are stuck on ideas then ask permission to port some winamp3/5 skins

[span style='font-size:8pt;line-height:100%']
(btw, the little chink in the alpha of the 45degree angled part is my fault)[/span]
Title: foo_looks 2.0 (RC1)
Post by: atici on 2004-02-04 21:59:15
OMG guys you rock!  Yes we want WinAmp3 skin ports! Minima skin for instance or the Modern skin. Yes we wantss it.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-04 22:02:14
If you want to try out the new alphablending support grab v2.1 Beta 1 (http://www.loodi.com/foo_looks_beta.zip).

Also, special thanks to kode54 for helping me figure out what I was doing wrong with the layered window API by sending a code snippet from foo_osd.
Title: foo_looks 2.0 (RC1)
Post by: mazy on 2004-02-04 22:04:15
that's amazing!

i can't think of anything else missing than color groups ala winamp ... and state saving stuff
Title: foo_looks 2.0 (RC1)
Post by: stripe on 2004-02-05 00:25:15
Quote
this has been discussed before

unfortunately we are not able to support win98

sorry


It would be handy if this fact was noted somewhere on the foo_looks pages, especially given the existence of "non winXP" instructions.

Oh wait, nevermind. (http://www.hydrogenaudio.org/forums/index.php?showtopic=14853&hl=)

Apparently it is a non issue.  (am I really the only win98 user?  maybe there are some download stats from before the builds were unified)

stripe/ben
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-05 02:15:27
ok, i have some more Photoshop tutorials for you up & coming skin designers.

if you like this style of skin design (one i just whipped up):

(http://www.btinternet.com/~sean.m.kelly/tk_handorb_ss.jpg)


then check out these tutorials:

http://robouk.mchost.com/tuts/tutorial.php?tutorial=lcdorbs (http://robouk.mchost.com/tuts/tutorial.php?tutorial=lcdorbs)
http://robouk.mchost.com/tuts/tutorial.php...ial=smoothmetal (http://robouk.mchost.com/tuts/tutorial.php?tutorial=smoothmetal)


in fact, there are quite a few nice ones on the site:

http://robouk.mchost.com/tuts/ps.php (http://robouk.mchost.com/tuts/ps.php)


all credit goes to Robouk
Title: foo_looks 2.0 (RC1)
Post by: CyberFoxx on 2004-02-05 02:35:59
Quote
(am I really the only win98 user?  maybe there are some download stats from before the builds were unified)

Nope, you arn't the only Win9x user. I still use Win98SE, mostly because, unlike 2K and XP, it supports my hardware. Plus, I just so happen to like DOS games.  Don't want to have to fiddle around just to get them to partialy work.

I know what you're going through. Every time I see a post about foo_looks, I know it's just teasing me. *Sigh* Maybe one day...
Title: foo_looks 2.0 (RC1)
Post by: anathema on 2004-02-05 03:22:32
very nice to see transparency with desktop coming into play.. however cleartype font seems to get messed up if placed on a transparent background. not seeing a problem with the others.
Title: foo_looks 2.0 (RC1)
Post by: kode54 on 2004-02-05 03:48:01
ClearType rendering doesn't really lend well to RGBA anyway. Triple the effective horizontal resolution from spreading information across the three color channels, but still only one alpha channel.

You could try rendering the text yourself with standard anti-aliasing to a separate buffer, only using 3x the width. Then, you can check out a nice piece of code called Clearize which reduces images to 1/3 of their width with an effect similar to ClearType. That still leaves the alpha channel... perhaps average the 3 alpha levels into one, or maybe a wider filter?

For now, it's probably best to only use ClearType on solid backgrounds...
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-02-05 15:07:22
w00t
basic scriptingstuff done.
I've just got to think about the design of the tags etc.
Now it's going towards the creepy stuff 

http://home.arcor.de/theurmel/skin_raw.png (http://home.arcor.de/theurmel/skin_raw.png)
http://home.arcor.de/theurmel/skin_raw.ski (http://home.arcor.de/theurmel/skin_raw.ski)
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-05 15:18:53
checking your code now..



EDIT:
nice to see you using my playback script

it's not strictly good coding practice, but it makes the thing a lot easier to read & understand

ok, here are my tips

[span style='font-size:14pt;line-height:100%']1.[/span] you need to add 1 additional line to section background

Code: [Select]
list rendermap int { render.Erase render.image }


this 5th new rendermap option allows foo_looks to blend to the desktop (and removes the jagged edges)

i'll write a tutorial on it soon

[span style='font-size:14pt;line-height:100%']2.[/span] as for the pixel accuracy that danZ mentioned below, just add

Code: [Select]
bool pixelaccurate true


to section globals for now

we will discuss it more soon.

[span style='font-size:8pt;line-height:100%']if you want to see the effect it has, try clicking the left half of the cfg button before adding pixel accuracy. and then try clicking it again after.
before using pixel accuracy, the corners of play button rect overlaps with thecfg button. using pixel accuracy stops this.[/span]


[span style='font-size:14pt;line-height:100%']3.[/span] one last thing, the play button sprite is not big enough, and 2 pixels are being cropped at the bottom

change the rect to:

Code: [Select]
sprite button_play
list rect int { 35 20 70 71 }


good work btw
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-05 15:25:23
Quote
w00t
basic scriptingstuff done.
I've just got to think about the design of the tags etc.
Now it's going towards the creepy stuff  

http://home.arcor.de/theurmel/skin_raw.png (http://home.arcor.de/theurmel/skin_raw.png)
http://home.arcor.de/theurmel/skin_raw.ski (http://home.arcor.de/theurmel/skin_raw.ski)

Great start - I still think the bottom of the curve is more jaggy then it needs to be - maybe the alpha information there is still not quite right?

EDIT see tk32 post above... /EDIT

(http://www.loodi.com/jag.png)

Also, you definitely want to try out some pixelaccurate settings for you hotspots.

Another tip:

If you have sprites that display static text it is better to not use string fspec since that text will be processed by the tag routines even though the text is static.  Its more efficient to use

string text "foobar"

Code: [Select]
sprite text_title_head
list rect int { 115 30 40 20 }
int fontsize 7
string text "title:"
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-05 15:43:51
sorry danZ

i kept editing my last post as i found more problems.

editing posts is a bad habit of mine

URMEL: now pick something on your skin that you would like us to help code first
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-02-05 16:00:39
thx guys
fixed most of the problems I noticed. The cropped playbutton gave me a lot of (useless work). I moved some buttons around, recreated the image the 1000th time etc. without checking the scriptcode 

The playback script is a (most likeley everlasting) hack to get the skin usable, I played around with the functions themselfes as described in your guide, but that produced a long list of functions, and I wanted to know how to do this thing:
Code: [Select]
if fb2k_isPlaying() then fb2k_playPause() else fb2k_playStart() end

So I looked at your new_project.ski and copied the whole script because it looked much more elegant than my solution 

Also it's a technique I also used for some eMule-Modifications. Advanced Copy&Pasting. Take other code, understand what it is doing and use it for your own purposes.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-05 16:20:03
Quote
thx guys
fixed most of the problems I noticed. The cropped playbutton gave me a lot of (useless work). I moved some buttons around, recreated the image the 1000th time etc. without checking the scriptcode  

The playback script is a (most likeley everlasting) hack to get the skin usable, I played around with the functions themselfes as described in your guide, but that produced a long list of functions, and I wanted to know how to do this thing:
Code: [Select]
if fb2k_isPlaying() then fb2k_playPause() else fb2k_playStart() end

So I looked at your new_project.ski and copied the whole script because it looked much more elegant than my solution 

Also it's a technique I also used for some eMule-Modifications. Advanced Copy&Pasting. Take other code, understand what it is doing and use it for your own purposes.

Here's a tip that could have saved you some time

in section globals add

list bordercolor int { 200 255 0 0 }
int borderwidth 1

as long as you have not altered the rendermap to omit the border drawing you'll get something like this

(http://www.loodi.com/border.png)

This can be very helpful in find layering problems and position problems.
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-02-05 17:35:30
Note: Read before doing something.
I just redesigned the whole source to make pressed buttons possible. but now, I've got it *g*
[edit]
seems like there's a little mistake with the previous/rewind button. you'll notice it if you press it.
[edit2]
The things I gonna need help with:
1. The Seekbar
2. The Volumebar
...
10. A dB-Visualisation. in the right part of the main-windows (just below the _ x)
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-05 18:34:58
Quote
The things I gonna need help with:
1. The Seekbar

This will be easy since I have a basic seek bar already scripted for the default look.

Just import my shared scripts

Code: [Select]
import foo_looks_common.ski


Then attach the slider and seekSliderImpl scripts to your drag grip sprite.

Here's how it is done in the default look

Code: [Select]
sprite seekgrip
list scripts string { "slider[minx=5 maxx=102 trackx=true]","seekSliderImpl" }


slider takes care of making the grip draggable in a constrained range

minx defines where the seek graphic starts
maxx defines the end of the bar
trackx=true makes it a horizontal slide

seekSliderImpl takes care of making the generic slider script perform a seek.

If you want a fancier seek bar then take a look at some of the scripts tk32 has written.  This will get you the basic functionality quickly though.

Your volume might need some custom scripting depending on how that control is supposed to work

For the visulization are you wanting to display the spectrum there?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-05 22:36:40
ok

you should be fine with danZ implementation of the seekbar, although grabbing that small grip might be a problem.
don't worry for now, we'll address this problem later.

let us know if you have problems attaching it

it's best not to use my custom 'dragbar', since i havn't added the ability to attach a grip to it yet (something i will do when i have time)


meanwhile, i'll get to work on the custom 'curved' volume bar

i already have a plan in my head of how to code it, so i'll post some details here once i've made a little progress

-

can you upload the latest version of the graphics & ski again.
the png was only 1kb (incomplete) last time i tried to get it
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-06 01:01:07
experimenting with some alpha tricks

(http://www.btinternet.com/~sean.m.kelly/handorb_ss.jpg)


if anyone wants to see it in action:

hand_orb.png (http://www.btinternet.com/~sean.m.kelly/hand_orb.png)
hand_orb.ski (http://www.btinternet.com/~sean.m.kelly/hand_orb.ski)

the button doesn't do anything yet though

check out the png to see the layers [span style='font-size:8pt;line-height:100%'](the top right disc is not used currently)[/span]


p.s. it works well as a top-right desktop dock, because it doesn't obscure the window controls
Title: foo_looks 2.0 (RC1)
Post by: bogsnarth on 2004-02-06 01:43:21
i've been using the foo looks 2.0 default look for a week or two now and i really like it.. i'm just curious about a few things.. mainly, why don't the looks remember any settings when you deactivate/reactivate them and when you swap them? i'd like the look to remember which view to start in (compact) and to display time elasped as well as running time..

similarly, in tk32's micropanel the look reverts to the ID3 field when it goes from winshade mode back to regular view..



i think i'm going to try my hand at a skin soon, but i don't have any real experience coding.. just some irc scripting a few years ago..  is it fairly simple to write one of these?


thanks,
bogs
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-06 01:48:36
remembering settings is the next thing to tackle

danZ plans to have it working for version 2.1


as for coding a skin.. it's as simple or complicated as you want it to be

my advice is to follow my beginners tutorial

and then read the 2 mini how-to guides i have written.

here are the links:danZ & myself are 'always' happy to answer questions or help with problems
Title: foo_looks 2.0 (RC1)
Post by: wanked on 2004-02-06 02:54:26
is there a place where i can find skins for 2.0 main site isnt updated
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-06 02:59:34
the only skins available so far are mentioned in this topic

that's why we are trying to encourage more people to contribute

so far we only have 3 fully working skins

default
fooAMP
micropanel


but more on the way


i will update the foo_looks resource pages soon
Title: foo_looks 2.0 (RC1)
Post by: Aero on 2004-02-06 05:30:25
Quote
so far we only have 3 fully working skins

default
fooAMP
micropanel

One more...
AeroAmp (http://loodi.com/aeroamp.zip) - a foo_kung look that allows Winamp 2.x skins to be used in Foobar2000.
Title: foo_looks 2.0 (RC1)
Post by: bogsnarth on 2004-02-06 06:31:57
really nice looking skin aero..  but it doesn't seem to work too well with foobar 0.8b6.. the seek bar and volume slider are locked in the far left positions.. the playback and volume are unaffected by clicking on them.. same with the balance slider... the playlist button doesn't bring up the playlist (i think that's addressed earlier in this thread though..) also the toggles on the time display screen are invisible until they're selected, so it takes a few misclicks to get it just right..  i don't know if that's because there's no highlight-on-rollover implented in the skin or if there is and it's just not working..

when you say this skin allows the porting of wa2 skins, you mean i can use other skins besides the one you've included? how would i go about doing that?



tk32:

i read the robouk photoshop tutorial on creating an mp3 player interface and i've made a base similar to the one in the tutorial.. i'm going to try to make some buttons for it, but i don't think i'll be able to handle the coding.. would you be able to help me out on that front?

thanks
bogs
Title: foo_looks 2.0 (RC1)
Post by: Aero on 2004-02-06 07:07:05
Quote
really nice looking skin aero..  but it doesn't seem to work too well with foobar 0.8b6.. the seek bar and volume slider are locked in the far left positions.. the playback and volume are unaffected by clicking on them.. same with the balance slider... the playlist button doesn't bring up the playlist (i think that's addressed earlier in this thread though..) also the toggles on the time display screen are invisible until they're selected, so it takes a few misclicks to get it just right..  i don't know if that's because there's no highlight-on-rollover implented in the skin or if there is and it's just not working..


I haven't tried foo_looks with Foobar 0.8beta, but I suspect that it is a foo_looks / 0.8 incompatability.  Does it occur with other looks?


Quote
when you say this skin allows the porting of wa2 skins, you mean i can use other skins besides the one you've included? how would i go about doing that?


The skin that is in the AeroAmp.zip file is called Black Dawn, my favorite Winamp skin.  The  .ski file is optimized for Black Dawn, but since I designed the look to close emulate Winamp's skin handling (with some minor omissions*), it does a pretty good job displaying almost all skins.

The easiest way to test this out is to get a Winamp2 skin - this will typically be a .zip or .wsz file.  .wsz is actually just a ZIP file, so rename the file to whatever.zip, then exact all of the images into a directory.  Copy all of the .bmp files to <Foobar Dir>\Components\foo_looks\AeroAmp, then restart Foobar or reload the look.  You should now see the new skin.

A better way to handle multiple skins is to create a new copy of AeroAmp.ski for each skin (Black Dawn.ski, Major Tom.ski, etc.).  Then create separate directories for each of the skin's graphics, under the foo_looks dir.  Finally, edit the .ski file and with search and replace, change all of the "AeroAmp/" instances to "SkinName/".  This will allow you to use the foo_looks configuration window to switch between looks/skins. 


* The emulation is pretty good, but there are a few missing pieces.  The biggest is the lack of support for the skin's bitmapped fonts, so the time display can sometimes be hard to read.  Also, the emulator doesn't read the font and color information from the skin, so sometimes you might need to tweak the .ski a little.  But in general, most skins seems to work ok without modification.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-06 09:11:52
Quote
tk32:

i read the robouk photoshop tutorial on creating an mp3 player interface and i've made a base similar to the one in the tutorial.. i'm going to try to make some buttons for it, but i don't think i'll be able to handle the coding.. would you be able to help me out on that front?

thanks
bogs

of course

but why not try and do the same as URMEL did, and have a go at getting all the sprites, rects, and srcoff values in place. that's the most simple part of the coding - and it can be useful to get acquainted.

if you read the beginners guide you'll know what this means (it's just like map reading)

you should end up with a .ski file that looks a little like this:

Code: [Select]
section window
int width 270
int height 155

sprite background
list rect int { 0 0 window.width window.height }

sprite prev_button
list rect int { 30 78 65 34 }
list srcoff int { 0 124 }

sprite play_button
list rect int { 34 22 70 71 }
list srcoff int { 68 124 }

sprite next_button
list rect int { 30 2 65 34 }
list srcoff int { 230 124 }

sprite stop_button
list rect int { 78 45 27 26 }
list srcoff int { 203 123 }


hopefully, you should also be able to load the skin in foo_looks (although it won't do anything yet)

when you get to this stage - you can hand the job over to me


either post about it in here, or contact me by email

()

[span style='font-size:8pt;line-height:100%']also ICQ (486325)[/span]
Title: foo_looks 2.0 (RC1)
Post by: pIv on 2004-02-06 10:29:53
To Danz

1. I tried your foo_looks 2.1beta1 with foobar 0.8b6.

Activate playlist and show console commands in look now work, but  look command "Exit Foobar" (pressing button) crashed Foobar.
When I select this command from another location (tray or menu) all OK.


2.  I modify AeroAmp look, you may download it from topic Upload.
Changed - add new button: minimyze, show preference. Add change volume with  mouse wheel.
Title: foo_looks 2.0 (RC1)
Post by: CyberInferno on 2004-02-06 13:10:11
<deleted comment>
Title: foo_looks 2.0 (RC1)
Post by: URMEL on 2004-02-06 13:22:23
my webspace seems to be down right now. I'll try to upload it asap.

[edit]
Done.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-06 16:09:05
Quote
To Danz

1. I tried your foo_looks 2.1beta1 with foobar 0.8b6.

Activate playlist and show console commands in look now work, but  look command "Exit Foobar" (pressing button) crashed Foobar.
When I select this command from another location (tray or menu) all OK.

I only did a quick test with 0.8 to see if foo_looks loaded OK and it did.  It appears there are some SDK changes that are affecting certain aspects of the looks.  I've been pretty busy getting alphablending to work which I think is a better use of my time for now.  When 0.8 is released I'll upgrade and correct any problems so feel free to post them here but don't expect any quick turnaround on fixing them.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-06 16:17:56
Quote
hand_orb.png (http://www.btinternet.com/~sean.m.kelly/hand_orb.png)
hand_orb.ski (http://www.btinternet.com/~sean.m.kelly/hand_orb.ski)

I like this and I hope you choose to further develop it as we discussed.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-06 17:11:35
[span style='font-size:14pt;line-height:100%']v2.1 Beta 2 (http://www.loodi.com/foo_looks_beta.zip)[/span]

With the new alphablending in place it is still possible to support a full window constant alpha blend value in addition to any per pixel alpha blending that occurs based on the source graphics.

This alpha value is still set with

section window
int alphablend [0..100]

To make this more useful I added lua support for it via

window_setAlpha(a) -- [0..100]

so that you can alpha the whole window as needed in any scripts you write.

I've included a modified version of tk32's "hand_orb" look that demonstrates this new feature.
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-02-06 17:16:15
Quote
I only did a quick test with 0.8 to see if foo_looks loaded OK and it did.  It appears there are some SDK changes that are affecting certain aspects of the looks.

Could you please elaborate? I'm about to start playing with foo looks again, but if it can't be used with v.0.8 beta x-xx and the future RC x then I might wait and improve my graphics skills instead.

I understand your decision to wait for a final release, but the fact that previous versions have had maybe 30 betas and 10 RC's, we might be talking about quite some time before we see a final release. I suppose quite a few people use betas because if they didn't there wouldn't be any serious beta testing either.

IIRC this has happend before, foo_WSGUI/foo_looks waiting for a final release of foobar2000, but as a plugin for a player that is under (heavy) development itself, your decision doesn't really encourage people to develop all the looks tk32 and yourself seems to hope for. It's lagging one step behind and making it hard for itself to be recognised as a good and useful plugin.

I'm looking forward to start fiddling with my own look, but it's hard to learn when you don't know if the bug is because of something you did yourself, or because the plugin isn't compatible with the most recent version of foobar2000. That kind of thing tends to make me lose my motivation. I've also got the impression that not alot has changed in the SDK, and that most plugins compiled for v.0.7 would also work with v.0.8beta. If that is true and I isn't too much work I'm hoping for an update of foo_looks that doesn't have any serious issues (if there is any at the moment) with the betas.

But, don't get me wrong, I really appreciate all the work you have done and still do to make this plugin something special!


tk32: I really appreciate the links to those graphics tutorials, and also all the work you do to make it easier to get started. Thanks!
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-02-06 17:24:52
v2.1 Beta 2 with tk32's "hand_orb" is just amazing. I don't think I have seen such perfectly round edges ever before. Doesn't use "any" CPU when dragged around all over my screen either. Truly great work! 
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-06 17:38:16
Quote
Quote
I only did a quick test with 0.8 to see if foo_looks loaded OK and it did.  It appears there are some SDK changes that are affecting certain aspects of the looks.

Could you please elaborate? I'm about to start playing with foo looks again, but if it can't be used with v.0.8 beta x-xx and the future RC x then I might wait and improve my graphics skills instead.

I understand your decision to wait for a final release, but the fact that previous versions have had maybe 30 betas and 10 RC's, we might be talking about quite some time before we see a final release. I suppose quite a few people use betas because if they didn't there wouldn't be any serious beta testing either.

IIRC this has happend before, foo_WSGUI/foo_looks waiting for a final release of foobar2000, but as a plugin for a player that is under (heavy) development itself, your decision doesn't really encourage people to develop all the looks tk32 and yourself seems to hope for. It's lagging one step behind and making it hard for itself to be recognised as a good and useful plugin.

I'm looking forward to start fiddling with my own look, but it's hard to learn when you don't know if the bug is because of something you did yourself, or because the plugin isn't compatible with the most recent version of foobar2000. That kind of thing tends to make me lose my motivation. I've also got the impression that not alot has changed in the SDK, and that most plugins compiled for v.0.7 would also work with v.0.8beta. If that is true and I isn't too much work I'm hoping for an update of foo_looks that doesn't have any serious issues (if there is any at the moment) with the betas.

But, don't get me wrong, I really appreciate all the work you have done and still do to make this plugin something special!


tk32: I really appreciate the links to those graphics tutorials, and also all the work you do to make it easier to get started. Thanks! 

As far as I can tell with just a quick look at 0.8 and from user posts the menu stuff in foo_looks is not working well with 0.8 and the changelog indicates that this area of the API changed a lot so this is not surprising.  Otherwise everything you create with 0.7X and 2.1X will work fine once I upgrade to the 0.8 SDK.

The frustration you feel with look development is exactly the same for me as a developer trying to stay current with foobar2000.  I mean, I just this week got 2.0 done and then all of the sudden I'm getting all these reports about how it doesn't work well with the latest beta of foobar.

I won't necessarily wait for the 0.8 release but let me get the new features done and stable before I tackle the SDK upgrade.  Design your look, code it, and just defer on the menu stuff.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-06 17:45:37
Quote
v2.1 Beta 2 with tk32's "hand_orb" is just amazing. I don't think I have seen such perfectly round edges ever before. Doesn't use "any" CPU when dragged around all over my screen either. Truly great work! 

I was pleasantly surprised with the performance too since there are several layers of alphablended compositing going on with this thing.  The lower level API I'm using now must definitely be optimized for the alpha calculations and also surprisingly, 32 bit per pixel blitters are actually faster then 16 or 24 bpp ones.  Windows got something right for once (anyone familar with SetWindowRegion() will appreciate what I mean).

We have some more cool ideas for hand_orb so check back for updates.
Title: foo_looks 2.0 (RC1)
Post by: zanson on 2004-02-06 19:25:41
Quote
Quote
I only did a quick test with 0.8 to see if foo_looks loaded OK and it did.  It appears there are some SDK changes that are affecting certain aspects of the looks.

Could you please elaborate? I'm about to start playing with foo looks again, but if it can't be used with v.0.8 beta x-xx and the future RC x then I might wait and improve my graphics skills instead.

I'm looking forward to start fiddling with my own look, but it's hard to learn when you don't know if the bug is because of something you did yourself, or because the plugin isn't compatible with the most recent version of foobar2000. That kind of thing tends to make me lose my motivation. I've also got the impression that not alot has changed in the SDK, and that most plugins compiled for v.0.7 would also work with v.0.8beta. If that is true and I isn't too much work I'm hoping for an update of foo_looks that doesn't have any serious issues (if there is any at the moment) with the betas.


The only real problem is that menu entry strings changed a lot between 0.7 and 0.8, so anything where you assign a button in foo_looks to call a menu command like:
fb2k_menuCommand("Foobar2000/Hide main window")
in 0.8 the command is now
fb2k_menuCommand("Foobar2000/Activate or hide main window")


See back a few pages of discussion for some more changed entries.:
http://www.hydrogenaudio.org/show.php/showtopic/17279/st/225 (http://www.hydrogenaudio.org/show.php/showtopic/17279/st/225)
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-02-06 21:53:41
@danZ and zanson: Thanks for clarifying. I don't think the kind of problems you describe will affect my coding for quite some time. At least it seems easy enough to avoid it.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 01:28:10
thanks for all the positive comments on 'hand orb'

i'll continue to develop it as a full skin - and try to think of some other innovative features for it too


i was also pleasantly surprised how little demand on cpu there is


danZ: it was a nice idea to edit the skin & show off the alphablend command, but it really makes high demands on my cpu when faded - so i removed it for now.


for the latest version of the 'hand orb' skin, use this link:[span style='font-size:8pt;line-height:100%']note - no updates yet[/span]


UpNorth:
thanks for the praise 

don't be put off making a skin because of the regular SDK changes. the only thing we have had a problem with in 0.8 is accessing the menu commands (since they have been reshuffled for 0.8 - and customizable).

in all cases where this has affected the functionality of a skin, it can usually be rectified with a single line of code.

there is no way that a skin you design one month will become redundant the next.

and if something stopped working for you - we'd waste no time in letting you know what & why.. and how to fix it


looking forward to your contribution
Title: foo_looks 2.0 (RC1)
Post by: wanked on 2004-02-07 03:39:12
b nice if somebody redid the coal skin, in my opinon thats the best toolbar like skin
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 04:30:58
ok URMEL

i finished the first attempt at your volume bar

the code is messy, but it works nicely.
[span style='font-size:8pt;line-height:100%'](it's really late here in London.. so i'll clean up the code tomorrow)[/span]

features:
- when the skin is loaded, it checks the current volume & updates the bar
- you can click anywhere in the area and drag up/down
- the range is from -40dB to 0dB
- the volume changes in realtime as you drag [span style='font-size:8pt;line-height:100%'](but obviously, as always with fb2k volume change, there is a short delay)[/span]

missing:
- if you change the volume from somewhere else (keyboard / replaygain) then the skin doesn't update the graphics
[span style='font-size:8pt;line-height:100%'](i will add this to the code soon)[/span]

notes:
- i had to edit the graphics file a little. i swapped the places of the two volume bar graphics.


here is the code required in the ski:

Code: [Select]
sprite slider_volume
int layer 1
list rect int { 21 26 20 0 }
list srcoff int { 170 195 }

sprite volume_box
string include slider_volume
int height 62
list rendermap int { }
list scripts string { "urmel_vol_drag[bar=slider_volume]" }


the first sprite is the graphics sprite. it get's bigger/smaller depending on what the current volume is.

the second sprite is the control sprite. it is invisible and always stays the same size. when you click inside it, it updates the size of the graphics in the other sprite, and then updates the volume of fb2k.

very similar to the way my dragbar works in the micropanel skin, but modified for volume control (and to use custom graphics)


the script is called urmel_vol_drag, but you can change the name if you like. i didn't paste it here because it's quite big


download the updated graphics & ski here and try it out:

skin_raw.png (http://www.btinternet.com/~sean.m.kelly/skin_raw.png)
skin_raw.ski (http://www.btinternet.com/~sean.m.kelly/skin_raw.ski)


enjoy.

[span style='font-size:8pt;line-height:100%']p.s. - i spotted a few more improvements to make (statemap/tagz/rect) but i'm too tired now.. maybe tomorrow[/span]
Title: foo_looks 2.0 (RC1)
Post by: kode54 on 2004-02-07 09:08:02
Quote
Quote
Quote
I only did a quick test with 0.8 to see if foo_looks loaded OK and it did.  It appears there are some SDK changes that are affecting certain aspects of the looks.

Could you please elaborate? I'm about to start playing with foo looks again, but if it can't be used with v.0.8 beta x-xx and the future RC x then I might wait and improve my graphics skills instead.

I'm looking forward to start fiddling with my own look, but it's hard to learn when you don't know if the bug is because of something you did yourself, or because the plugin isn't compatible with the most recent version of foobar2000. That kind of thing tends to make me lose my motivation. I've also got the impression that not alot has changed in the SDK, and that most plugins compiled for v.0.7 would also work with v.0.8beta. If that is true and I isn't too much work I'm hoping for an update of foo_looks that doesn't have any serious issues (if there is any at the moment) with the betas.


The only real problem is that menu entry strings changed a lot between 0.7 and 0.8, so anything where you assign a button in foo_looks to call a menu command like:
fb2k_menuCommand("Foobar2000/Hide main window")
in 0.8 the command is now
fb2k_menuCommand("Foobar2000/Activate or hide main window")


See back a few pages of discussion for some more changed entries.:
http://www.hydrogenaudio.org/show.php/showtopic/17279/st/225 (http://www.hydrogenaudio.org/show.php/showtopic/17279/st/225)

The API was extended in 0.8 beta 5 so that menu actions can also have GUIDs, and thus can be invoked by GUID. All of the core menu actions now have GUIDs, declared in guid.h.

... Of course, this now means that for any components to take advantage of this feature, they have to be extended to support it. Gee, how would this system be supported in a script? Hardcoded GUIDs, or functions which support GUID parameters and an includes file with the standard GUID set? Or is it even worth implementing?
Title: foo_looks 2.0 (RC1)
Post by: wild on 2004-02-07 11:45:55
Thanx alot for thats great work poeple.

So when we will have final release? and when the homepage will be updated ?

And hey we need more skins 
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 12:16:59
Quote
So when we will have final release?

we've already reached a very stable build.

i'm sure you're aware how fb2k keeps improving. so do we.
there will never be a 'final' release

Quote
and when the homepage will be updated ?

my fault (since i'm the webmaster)

i've just updated it (http://www.btinternet.com/~sean.m.kelly/foo_looks/) with essentials now - and added a simple gallery (http://www.btinternet.com/~sean.m.kelly/foo_looks/gallery.htm) section.
i will make a much bigger update soon though.

Quote
And hey we need more skins 

thanks for offering

we were hoping people like you might like to try & contribute

although, no doubt, we'll continue to make skins ourselves
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 15:23:08
Quote
The API was extended in 0.8 beta 5 so that menu actions can also have GUIDs, and thus can be invoked by GUID. All of the core menu actions now have GUIDs, declared in guid.h.


kode54 thanks for the information that sounds like it could eliminate the problems we are seeing now for at least the core menu items. 

Quote
... Of course, this now means that for any components to take advantage of this feature, they have to be extended to support it. Gee, how would this system be supported in a script? Hardcoded GUIDs, or functions which support GUID parameters and an includes file with the standard GUID set? Or is it even worth implementing?


To implement in scripting I think I'll do something like making a built in global table that is available to all scripts that would map the GUID to a user friendly value.

ie.

Code: [Select]
core_menus = { foobar2000=GUIDforfoobar2000, etc }

then in scripts you could do

fb2k_mainMenu(core_menus.foobar2000)


I'll have to see if there is a way to deal with GUID in lua since it is such a huge value.  Probably user data or something will work.

This is a good example of why sometimes it pays to wait on upgrading to the beta SDKs
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 15:37:29
What I'm working on:
)

What I'd like to know:
1) Is it possible to somehow get the look work like this: normally it would show only the orb part with now playing info etc, but when a button is clicked, the playlist part would somehow "slide" out? And of course a new click would make it slide back again?

2) When I've finished the graphics I can probably wrap it to be a really basic look (perhaps even the playlist functionality is too much for me, don't know as the last time I worked on looks was like.... Well... A LONG time ago and then there was only some basic functions avaliable). So I'd like to get some help then (not yet, as I don't know what I want it to be able to do) with all the scripting stuff etc.

3) tk32: hope you don't mind that I stole the visualization from the last look you posted. Or actually just the idea and the graphic, haven't had time to do anything else than the graphics for the look.

4) What do you think? Should I even bother finishing it?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 15:40:58
Quote
1) Is it possible to somehow get the look work like this: normally it would show only the orb part with now playing info etc, but when a button is clicked, the playlist part would somehow "slide" out? And of course a new click would make it slide back again?


perfectly possible

but a little complicated... we can help with that

Quote
3) tk32: hope you don't mind that I stole the visualization from the last look you posted. Or actually just the idea and the graphic, haven't had time to do anything else than the graphics for the look.


you're welcome - although even mine was just a rushed job - i'll probably make it more beautiful when i get a chance


btw, excellent design

thanks for reminding us that we are not restricted to the same old designs all the time.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 16:03:32
Quote
What I'm working on:

I have a question, how are the track ratings done stored  - meta data, another third party component, ???  While what you show graphically with the stars is easily doable I'm just wondering where the actual data comes from to decide how many stars to render.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 16:05:25
Quote
Quote
What I'm working on:

I have a question, how are the track ratings done stored  - meta data, another third party component, ???  While what you show graphically with the stars is easily doable I'm just wondering where the actual data comes from to decide how many stars to render.

i think it's a custom id3 tag

RATING=1..5



but we'll wait for anza's reply to know for certain


might be cool to think of a way of being able to set the rating from the look
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 16:09:19
Yes it's just a custom tag just as tk32 said. I'm actually breaking standards and use a scale of 1 to 6
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 16:18:31
Gah LUA is shite. In LUA, 0 is true, so I can't even do something simple like:

Code: [Select]
look_setToggle(this, not look_getToggle(this))


Maybe you could change the return types of setToggle and getToggle to booleans, danZ?
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 16:18:31
Quote
Yes it's just a custom tag just as tk32 said. I'm actually breaking standards and use a scale of 1 to 6

we could break it even more .. and support decimals

RATING=4.5

the skin would paint 4 & a half stars
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 16:21:19
Quote
Yes it's just a custom tag just as tk32 said. I'm actually breaking standards and use a scale of 1 to 6

OK, you'll need a simple, custom script to handle the drawing of the stars but I think there are adequate script functions to pull if off (and it can be code to work with a max rating or 5 or 6 )

For the sliding drawer concept my horizontalTray script in the default look should be able to do that with little or no modification.  When you are ready to code up this look let us know and we'll help you out.  First step will be to get all the graphics designed in a way to make the advanced features you want possible.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 16:27:58
Quote
Gah LUA is shite. In LUA, 0 is true, so I can't even do something simple like:

Code: [Select]
look_setToggle(this, not look_getToggle(this))


Maybe you could change the return types of setToggle and getToggle to booleans, danZ?

stop complaining and work around it

Code: [Select]
if look_getToggle(this) == 1 then 
   look_setToggle(this, 0)
else
   look_setToggle(this, 1)
end



EDIT:
sorry danZ - looks like we made a duplicate response again
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 16:30:58
Quote
Gah LUA is shite. In LUA, 0 is true, so I can't even do something simple like:

Code: [Select]
look_setToggle(this, not look_getToggle(this))


Maybe you could change the return types of setToggle and getToggle to booleans, danZ?

I think this is a problem with look_setToggle() which is expecting 1 true or 0 false but in lua false == nil.  So, look_getToggle() is returning ether 1 or nil but the functions taking a bool paramter aren't supporting both cases for false.  Blame me, not lua

EDIT

Actually get toggle is also returning 0 or 1 -- its the 'not' that ends up changing the value to nil

/EDIT

so this works

Code: [Select]
    if (look_getToggle(this) == 0) then
 look_setToggle(this, 1)
    else
 look_setToggle(this, 0)
    end


but not what you posted.  I can change my functions to respect nil for false ...
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 16:38:54
At the time of writing my previous entry, I was in fact doing

Code: [Select]
function onleftbuttonup(this)
     if look_getToggle(this) == 1 then
        look_setToggle(this, 0)
     else
        look_setToggle(this, 1)
     end
  end


Quote
it would break all our current skins to change the return type of the current functions


Is it just me or is what you said a little ironic, considering that foo_looks v2 has broken numerous v1 skins beyond repair already? Why don't we make sure we get the API right from the start, this time around?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 16:44:47
Quote
Why don't we make sure we get the API right from the start, this time around?

the shorthand version you posted should be supported so I'll make sure it works - thanks for pointing out the bug as there are probably other boolean related problems because of this false == nil business.
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 16:48:13
Just a few more questions:

So, if I want to get the visualization alpha blended like in tk32's hand_orb do I have to do it like tk32 has done? With a new layer that goes on top of the visualization and has an alpha blended border?

Also about the stars. Is it enough if I put just one star to the .png? I mean, can I (we) use it for both, the opaque and the semi-transparent stars? I believe it's possible, but I'm just checking

More questions will follow
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 16:49:49
Thanks for the quick response and good work, danZ - Looking forward to it.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 16:52:34
Quote
Just a few more questions:

So, if I want to get the visualization alpha blended like in tk32's hand_orb do I have to do it like tk32 has done? With a new layer that goes on top of the visualization and has an alpha blended border?

Also about the stars. Is it enough if I put just one star to the .png? I mean, can I (we) use it for both, the opaque and the semi-transparent stars? I believe it's possible, but I'm just checking

More questions will follow

the spectrum bar graphic can have its own alpha values to blend it with the background but to contrain it to the oval you'll need some type of overlay mask - tk32 can eloborate.

for the stars the easiest way to do it would be to render a graphic with all 6 stars "on" and have the background contain all 6 stars "off".

The look would then use one sprite for the "on" stars at a higher layer and would use the rating to determine the width of the sprite thus clipping it to render ony X on stars.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 16:58:31
Quote
Thanks for the quick response and good work, danZ - Looking forward to it.

Hum, backup...

There are issues I forgot. 

look_setToggle() isn't a boolean function...  the toggle value is an int not not a bool so that you could support (via scripting) a tri or other multistate toggle.

That's why I return a number for look_getToggle() and your 'not' was not working.

I still can alter the function though to support nil which would set the toggle back to 0...

I'll check other boolean functions though to be sure there isn't a problem.
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 16:58:52
Quote
Quote
Just a few more questions:

So, if I want to get the visualization alpha blended like in tk32's hand_orb do I have to do it like tk32 has done? With a new layer that goes on top of the visualization and has an alpha blended border?

Also about the stars. Is it enough if I put just one star to the .png? I mean, can I (we) use it for both, the opaque and the semi-transparent stars? I believe it's possible, but I'm just checking

More questions will follow

the spectrum bar graphic can have its own alpha values to blend it with the background but to contrain it to the oval you'll need some type of overlay mask - tk32 can eloborate.

So then I'll just have to wait for tk32 to reply

Quote
for the stars the easiest way to do it would be to render a graphic with all 6 stars "on" and have the background contain all 6 stars "off".

The look would then use one sprite for the "on" stars at a higher layer and would use the rating to determine the width of the sprite thus clipping it to render ony X on stars.

That's quite much how I was thinking of doing it when I started designing the look, but some people who use a scale of 1-5 might not like it
Oh well, I'll just do what you suggested.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 17:08:02
hi anza

the only way to get a faded edge on spectrum & text fields is to use a graphical mask

it's even essential when it comes to textscroll (although i am thinking about how to code i universal textscroll that doesn't require a mask)


if you don't feel confident creating the mask graphic, i can help out


as for the stars, you'll only need to draw (in photoshop) 1 on, and 1 off

code can do the rest
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 17:19:37
Quote
That's quite much how I was thinking of doing it when I started designing the look, but some people who use a scale of 1-5 might not like it
Oh well, I'll just do what you suggested.

The script can be written to support a scale of 5 or 6 so it can work for either case.  If someone wants a scale of 5 then they just do as I instructed you but with a graphic containing 5 stars.  The script will decide if the scale in broken into 5ths, 6ths, 20ths, or whatever.
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 17:22:36
I was trying to toggle the foobar2000 window, using some code from the official look:

Code: [Select]
lua togglefb2k
  function onleftbuttonup(this)
     if fb2k_uiIsActivated() then
        fb2k_menuCommand("Foobar2000/Hide main window")
        look_setToggle(this, 0)
     else
        fb2k_menuCommand("Foobar2000/Activate main window")
        look_setToggle(this, 1)
     end
  end
endlua


However, the function doesn't seem to be able to activate the window after it has been hidden. I don't know if this problem lies in fb2k_uiIsActivated() or fb2k_menuCommand. Maybe something is wrong in the above code?

I was wondering how foo_looks gets the menu commands as well, as it doesn't seem to be able to use all of them - For example, there is a menu command called "Foobar2000/Activate or hide", which could make this job easier, but foo_looks doesn't seem to be able to use it.
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 17:26:05
Quote
hi anza

the only way to get a faded edge on spectrum & text fields is to use a graphical mask

it's even essential when it comes to textscroll (although i am thinking about how to code i universal textscroll that doesn't require a mask)


if you don't feel confident creating the mask graphic, i can help out


as for the stars, you'll only need to draw (in photoshop) 1 on, and 1 off

code can do the rest

What would be the fastest way of doing a good mask? Would just a plain "copy the orb and use feather tool to get rid of the center" work well or is there some secret way of doing über cool fades?

Also, I think it would be enough to just draw one star, as the "off" one is just the same, but only with 20% opacity while the "on" one is fully opaque.
Title: foo_looks 2.0 (RC1)
Post by: GoWaN on 2004-02-07 17:32:23
Quote
b nice if somebody redid the coal skin, in my opinon thats the best toolbar like skin

If you talk about this one:
(http://www.barciaonline.com/aural/foobarlooks/images/coal.png)
I'm the maker of it. I don't have much time to learn how to make .ski for new foo_looks, but as I don't seem to find any look that satisfies me so I'll try to do it. I can't promise anything though, if anybody is interested in doing it don't hesitate.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 17:39:26
Quote
What would be the fastest way of doing a good mask? Would just a plain "copy the orb and use feather tool to get rid of the center" work well or is there some secret way of doing über cool fades?


there are many ways of achieving the same effect

firstly though,

- create a new layer and paste a composite copy of the entire skin (or part of the skin) - to do this, make a selection and choose 'edit > copy merged'
- move the new copy of the compositie graphic to somewhere else on the page
- delete the unnecessary parts
- for the parts you want to fade out, use any of the following techniques:

1. make a quick mask over the selected part of the skin, then use any of the tools to gently paint in a fade [span style='font-size:8pt;line-height:100%'](i used a radial gradient on the quick mask to achieve the fade in the hand orb skin)[/span]
2. use a series of different opacity soft erasers to erase parts by hand, bit by bit
3. make feathered selections and delete
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 17:48:53
tk32, ok thanks for the "tutorial"  I'll try it later.

I just can't figure out what kind of buttons would be good for the look.. Perhaps something like this?
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 17:49:23
Quote
Quote
b nice if somebody redid the coal skin, in my opinon thats the best toolbar like skin

If you talk about this one:
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-02-07 17:52:14
@anza: Nice work! 
It's strange, but your look has kind of the same design as the look I'm working on. It's not the same shape or color, but the bordered design with rounded edges with exactly the same thickness. I'm also planing a slide out playlist. Maybe this is what they call scandinavian design? 

@Anyone: 
I can't figure out how to concatenate strings. I'm trying to use the guessing code from my "dynamic" playlist formatting, and that works like it should, but how do I concatenate the guessed artist and title info into one single fspec for display?

Here is an example, but I have tried quite a few things:
Code: [Select]
"string fspec "%guess_artist.artist% - %guess_title.title%"

Hopefully you get the idea. "guess_artist" and "guess_title" are sections and "artist" and "title" are strings (obvious I guess).
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 17:52:47
Quote
tk32, ok thanks for the "tutorial"  I'll try it later.

I just can't figure out what kind of buttons would be good for the look.. Perhaps something like this?

why not make them show in the bottom-right of the orb, on top of the visualization, in a similar sloping way

and only visible when the mouse is inside the skin
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 17:59:16
Quote
@Anyone:  
I can't figure out how to concatenate strings. I'm trying to use the guessing code from my "dynamic" playlist formatting, and that works like it should, but how do I concatenate the guessed artist and title info into one single fspec for display?

Here is an example, but I have tried quite a few things:
Code: [Select]
"string fspec "%guess_artist.artist% - %guess_title.title%"

Hopefully you get the idea. "guess_artist" and "guess_title" are sections and "artist" and "title" are strings (obvious I guess).

string fspec "%guess_artist._artist% - %guess_title._title%"


that should do it
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-02-07 18:07:16
@tk32: Thanks alot!
The combination of foo_looks syntax, LUA and Tagz can be confusing at times.
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 19:06:10
Another (stupid) question:

Code: [Select]
sprite album
list fontcolor int { 170 0 0 0 }
list rect int { 12 82 207 11 }
int fontsize 7
string fspec $if(%tracknumber%,#$num(%tracknumber%,2) - )$upper(%album%) $if3('('%year%')','('%date%')')


After putting that to my .ski I get this error:

INFO (foo_looks) : Look file 'D:\Applications\foobar2000\components\foo_looks\orb.ski' modified - Reloading
ERROR (foo_looks) : Failed to load 'D:\Applications\foobar2000\components\foo_looks\orb.ski'
ERROR (foo_looks) : [Error] [Line: 47] Token = '#$num(%tracknumber%'
ERROR (foo_looks) : [Error] [Line: 48] Token = ')$upper(%album%)'

What's wrong?

edit:

changing the string to


string fspec #%tracknumber%-$upper(%album%)'('%date%')'

makes it work but it's not what I want...
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 19:10:32
Quote
Another (stupid) question:

Code: [Select]
sprite album
list fontcolor int { 170 0 0 0 }
list rect int { 12 82 207 11 }
int fontsize 7
string fspec $if(%tracknumber%,#$num(%tracknumber%,2) - )$upper(%album%) $if3('('%year%')','('%date%')')


After putting that to my .ski I get this error:

INFO (foo_looks) : Look file 'D:\Applications\foobar2000\components\foo_looks\orb.ski' modified - Reloading
ERROR (foo_looks) : Failed to load 'D:\Applications\foobar2000\components\foo_looks\orb.ski'
ERROR (foo_looks) : [Error] [Line: 47] Token = '#$num(%tracknumber%'
ERROR (foo_looks) : [Error] [Line: 48] Token = ')$upper(%album%)'

What's wrong?

edit:

changing the string to


string fspec #%tracknumber%-$upper(%album%)'('%date%')'

makes it work but it's not what I want...

you need quotes around any strings

string fspec " put your tagz syntax here "

if it works sometimes with out the outer quotes then its just by luck (and bad programming in my tokenizer/parser).
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 20:00:10
This is what I got after quickly changing tk32's hand_orb.ski to my needs:


Damn I've dropped totally from the development of this plugin, can't even make a progressbar

Here's the look (mainly for danZ and tk32 or anyone who want's to help me):
orb.png (http://koti.mbnet.fi/antsau/foobar2000/orb.png)
orb.ski (http://koti.mbnet.fi/antsau/foobar2000/orb.ski)
the font for the title display (http://koti.mbnet.fi/antsau/foobar2000/HOOG0553.TTF)

It's got nothing special yet. Only the stuff you can see on the screenshot.

edit: gotta edit that mask a bit..
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 20:12:57
Looking good!

If you're skilled, you can get the code for the progress bar from one of tk32's looks. I will write up an explanation for it, once I finish the look I am working on. However, I am sure he is willing to help you and put you on the right track.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 20:29:32
yeah sure

i'll write a guide to adding important features:

- progress bar
- text scroll
- volume bar
- rotational control
- playback switch (random/repeat)


anza - let me think about how to solve your vis problems
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 20:46:25
Thank you very much tk32!

I almost got the progress bar working (copied from tk32's new_skin_project). So it currently shows up if you have that skin also, as it needs new_project_common.ski. I also fixed the vis a bit, I made it a little lower and it looks better now. I also got a new idea, I'll try to make the wis even more lower and put the controls under it.

The current version can be downloaded from the same URL.
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 20:50:21
I'm making a volume bar by using the following code - Removed some stuff:

Code: [Select]
section presets
int minvolume -45

lua volumebar
  min = look_getValue(presets, minvolume)

  function updateBar(this)
      ...
  end

  function onvolumechange(this, newvol)
     updateBar(this)
  end
endlua


However, I get the following message, because look_getValue isn't returning anything:

Quote
ERROR (foo_looks) : attempt to perform arithmetic on global `min' (a nil value)


It works fine, when I enter a value instead of the look_getValue, so what am I doing wrong?
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 22:13:35
Quote
I'm making a volume bar by using the following code - Removed some stuff:

Code: [Select]
section presets
int minvolume -45

lua volumebar
  min = look_getValue(presets, minvolume)

  function updateBar(this)
      ...
  end

  function onvolumechange(this, newvol)
     updateBar(this)
  end
endlua


However, I get the following message, because look_getValue isn't returning anything:

Quote
ERROR (foo_looks) : attempt to perform arithmetic on global `min' (a nil value)


It works fine, when I enter a value instead of the look_getValue, so what am I doing wrong?

look_getValue("presets","minvolume")
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 22:15:55
I will release this look (http://www.hydrogenaudio.org/forums/index.php?act=ST&f=42&t=18467) once the last bugs are ironed out, and I add a little more functionality.
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-02-07 22:26:09
I'm stuck 

How can I make this text disappear on mouseover, to reveal my playback buttons underneath?
Code: [Select]
section trackinfo
int layer 2

sprite artist
string include trackinfo
list rect int { 10 1 230 16 }
int fontsize 8
string fspec "%tagz._Artist-Title%"


I can't seem to find small, usable LUA scripts that doesn't bite their own tails and fork in every direction. I'm looking forward to take advantage of the complexity LUA offers, but right now it's really confusing. There are so many ways to do the same thing, and that makes it hard to take pieces from looks made by different people.
Title: foo_looks 2.0 (RC1)
Post by: robbertvw on 2004-02-07 22:33:51
Hey all,

I'm new to making skins and well here is my first attemp after finishing the tutorial.

Fu Amp.ski (http://members.home.nl/robbertvanweelderen/skin/RobbertFuAmp.ski)
FuAmp.png (http://members.home.nl/robbertvanweelderen/skin/RobbertFuAmp.png)

I hope it works 

Robbert van Weelderen

Ohh and I forgot to say it's not finished, and I am looking forward to more tutorials.  (But I did find some mistakes in one of them.)

@UpNorth: I forgot to change it before uploading, everything should work now. 
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 22:37:37
Quote
I'm stuck  

How can I make this text disappear on mouseover, to reveal my playback buttons underneath?
Code: [Select]
section trackinfo
int layer 2

sprite artist
string include trackinfo
list rect int { 10 1 230 16 }
int fontsize 8
string fspec "%tagz._Artist-Title%"


I can't seem to find small, usable LUA scripts that doesn't bite their own tails and fork in every direction. I'm looking forward to take advantage of the complexity LUA offers, but right now it's really confusing. There are so many ways to do the same thing, and that makes it hard to take pieces from looks made by different people.

Code: [Select]
sprite artist
string include trackinfo
list rect int { 10 1 230 16 }
int fontsize 8
string fspec "%tagz._Artist-Title%"
list scripts string { "[function onmouseenter(this) look_setVisible(this, false) end]" }


Note: You might also need to add setEnabled(this, false), depending on which sprite (buttons or artist) you declared first. Also, I did not do any code for showing the artist again onmouseleave.
Title: foo_looks 2.0 (RC1)
Post by: upNorth on 2004-02-07 22:44:39
@DocUK: Thanks alot

@robbertvw: You have to rename your image file from "RobbertFuAmp.png" to "Robbert FuAmp.png" or change the ski-file.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 22:45:38
Quote
I can't seem to find small, usable LUA scripts that doesn't bite their own tails and fork in every direction. I'm looking forward to take advantage of the complexity LUA offers, but right now it's really confusing. There are so many ways to do the same thing, and that makes it hard to take pieces from looks made by different people.


Code: [Select]
lua hideOnMouseOver
function onmouseenter(this)
    look_setVisible(this,false)
end

function onmouseleave(this)
    look_setVisible(this,true)
end
endlua


Attach that to any sprites needing this behavior.
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 22:48:16
Quote
Note: You might also need to add setEnabled(this, false), depending on which sprite (buttons or artist) you declared first. Also, I did not do any code for showing the artist again onmouseleave.

This is a good point, hiding the sprite with look_setVisible() does not disable it - that is it will still get mouse input and be clickable, etc.  look_setEnabled() will prevent the mouse input.  So use both functions as necessary depending on your needs.
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 22:56:20
Quote
Quote
Note: You might also need to add setEnabled(this, false), depending on which sprite (buttons or artist) you declared first. Also, I did not do any code for showing the artist again onmouseleave.

This is a good point, hiding the sprite with look_setVisible() does not disable it - that is it will still get mouse input and be clickable, etc.  look_setEnabled() will prevent the mouse input.  So use both functions as necessary depending on your needs.

Even worse, if you have an invisible (but enabled) sprite over other enabled and visible buttons that have hover states defined, the buttons underneath will respond to hovers and change image accordingly because you're entering the defined area of the look, but you can't press them because they're under the invisible sprite.

It took me forever to figure that out from scratch (as my buttons would respond perfectly to hovering, but not clicking).
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 23:00:22
Quote
Any ideas how I could get rid of that "bug" with the visualization?

There might not be any way to do this since the parts of the spectrum you want to hide spill over onto the area that needs to be transparent to the desktop.  If there were parts of the look rendered under the areas of spill over it would be easy to make a mask to do that. 

Let me think about this - unless tk32 has some magic graphics tricks up his sleeve.
Title: foo_looks 2.0 (RC1)
Post by: tk32 on 2004-02-07 23:03:40
ok guys

wait 2 more hours, then i'll get to work on the guides


this topic is more busy than ever today


slow down a little perhaps

Rome wasn't built in a day
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 23:06:40
Quote
Quote
Quote
Note: You might also need to add setEnabled(this, false), depending on which sprite (buttons or artist) you declared first. Also, I did not do any code for showing the artist again onmouseleave.

This is a good point, hiding the sprite with look_setVisible() does not disable it - that is it will still get mouse input and be clickable, etc.  look_setEnabled() will prevent the mouse input.  So use both functions as necessary depending on your needs.

Even worse, if you have an invisible (but enabled) sprite over other enabled and visible buttons that have hover states defined, the buttons underneath will respond to hovers and change image accordingly because you're entering the defined area of the look, but you can't press them because they're under the invisible sprite.

It took me forever to figure that out from scratch (as my buttons would respond perfectly to hovering, but not clicking). 

Correct again, all sprites get mouseenter/mouseleave events but only the topmost sprite will get the mouse click events.  I did it this way to keep it easy to make buttons without scripts. 

If I didn't do it this way you'd have something like Shockwave were every sprite gets the click event and then they all have to have a script that determines if they should handle the mouse click, figure out which graphic to display, etc.

Since buttons are a common, necessary exercise I tried to make them as easy as possible to setup and that is why the script events are the way the are and there is the built in statemap stuff for the various button graphics.
Title: foo_looks 2.0 (RC1)
Post by: ronyzyz1 on 2004-02-07 23:17:30
danZ:

Some issues that I need clarification/help with:look_getValue(presets, minvolume)
I posted about this in this thread a bit earlier. I can't seem to get this function to return anything.

fb2k_menuCommand("Foobar2000/Activate main window")
This command doesn't work at all. Not in the official look, and not in mine either. This might be a problem with the fact that I'm running a beta of foobar2000 v0.8?

Dedicated functions to showing and hiding the window would be nice, considering fb2k_menuCommand("Foobar2000/Activate main window") doesn't work at all.

Ideally, we should also have an onfb2kstatuschange() or something to be notified when the foobar2000 window is restored from system tray or taskbar again, so we can keep track of the toggles and so on.

look_setToggle(this, not look_getToggle(this))
We already talked about this - Doesn't work because of return values of the functions, and LUA's variable 'types'.

%_playlist_number%
I can't get this to return anything but 0. It works in the official look, but it does not work in my formatting string:

Code: [Select]
string fspec "%_playlist_number%. [%artist% - ]$if(%title%,%title% ['['%album%[ #[%disc%/]$num(%tracknumber%,2)]']'],%_filename_ext%) ['('$upper($ext(%_filename_ext%))@%__bitrate%kbps')']"
Title: foo_looks 2.0 (RC1)
Post by: anza on 2004-02-07 23:25:08
I'm slowly beginning to understand foo_looks again
This is what my orb does right now. I need two more things and it's perfect (for me): solution for the vis problem and the text scroller  After that you others might also want the buttons and the playlist ability. But now I'm off for some sleep... It's 01:25 here (so I'll get to sleep ~6hrs) and I'm extremely tired 
Title: foo_looks 2.0 (RC1)
Post by: danZ on 2004-02-07 23:29:37
Quote
Some issues that I need clarification/help with:


    Quote
    [/li][li]look_getValue(presets, minvolume)


    You missed my previous reply

    look_getValue("presets", "minvolume")

    You have to quote the values you are looking up otherwise lua thinks they are variable names.

    Quote
    [/li][li]fb2k_menuCommand("Foobar2000/Activate main window")


    Not working well with 0.8 and has been well hashed out earlier in this thread.  I'll look at it when I move to 0.8 SDK.

    Quote
    [/li][li]look_setToggle(this, not look_getToggle(this))


    I think this is correct in looking back at it because set/get toggle is dealing with an integer not a boolean.  toggles to don't have to be on/off they could be tri or more stated such as look_setToggle(this,3).

    So, you need to use the long hand lua posted earlier.

    Code: [Select]
    lua simpleToggle
    -- User properties
    toggle = 0

    function onattach(this)
        look_setToggle(this, toggle)
    end

    function onleftbuttonup(this)
        if (look_getToggle(this) == 0) then
     look_setToggle(this, 1)
        else
     look_setToggle(this, 0)
        end
    end
    endlua


    you can just attach simpleToggle if that is all you need.

    Quote
    [/li][li]%_playlist_number%


    Every sprite can be associated with a specifc playlist index.  By default it is -1 which means the "now playing" song meta data.  Since the playlist numbers are 0 based I add one in my custom tag parser - thus you are getting 0.

    You can set the playlist index in the ski file with

    sprite foo
    int playlistindex N

    in LUA

    look_setPlaylistIndex(sprite,index)

    This will format the text against the meta data for that specific index.

    Note that once you set the playlistindex that is relative to the active playlist so will change the displayed text as you change playlists (tabs in the main ui).[/li][/list]
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-07 23:40:22
    Quote
    Also, foo_looks crashes if you forget to put the file extension while defining the image that should be used..

    Weird, I fixed it though
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-07 23:46:02
    Quote
    You missed my previous reply

    look_getValue("presets", "minvolume")

    You have to quote the values you are looking up otherwise lua thinks they are variable names.


    Sorry about that. I didn't see it at all.

    Quote
    Not working well with 0.8 and has been well hashed out earlier in this thread.


    Didn't see that either.

    Quote
    Quote
    • %_playlist_number%


    Every sprite can be associated with a specifc playlist index.  By default it is -1 which means the "now playing" song meta data.  Since the playlist numbers are 0 based I add one in my custom tag parser - thus you are getting 0.

    You can set the playlist index in the ski file with

    sprite foo
    int playlistindex N

    in LUA

    look_setPlaylistIndex(sprite,index)

    This will format the text against the meta data for that specific index.

    Note that once you set the playlistindex that is relative to the active playlist so will change the displayed text as you change playlists (tabs in the main ui).


    I don't understand this at all. I don't think you understand what I'm trying to do. I just want to retrieve the number the playing song is in the playlist, so I can show it on my skin.
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 00:46:57
    Quote
    I don't understand this at all. I don't think you understand what I'm trying to do. I just want to retrieve the number the playing song is in the playlist, so I can show it on my skin.

    I do understand and what I'm trying to convey is that every sprite fomats its text against either the now playing item or a specific playlist index.

    By default the playlist index is -1 which means to fomat against the now playing song.  The now playing song is not associated with any playlist index and thus returns 0 for %_playlist_number%.  This is a result of how the foobar2000 api works not a design choice.

    tk32 ran into this same issue and can provide some pointers on how to get the result you are looking for by using a script to keep the playlist index in sync with the now playing item.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 01:00:25
    Bah. It used to work in foo_looks 1. I guess I'll remove it altogether, unless tk32's solution is quite simple.
    Title: foo_looks 2.0 (RC1)
    Post by: atici on 2004-02-08 01:55:37
    @anza: I like this skin. But the font for Title is so big it could only fit a few characters. Why not split it into two lines with a smaller font? I have classical pieces here whose titles are huge. And how do you set the stars?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 03:26:28
    Quote
    Hey all,

    I'm new to making skins and well here is my first attemp after finishing the tutorial.

    Fu Amp.ski (http://members.home.nl/robbertvanweelderen/skin/RobbertFuAmp.ski)
    FuAmp.png (http://members.home.nl/robbertvanweelderen/skin/RobbertFuAmp.png)

    I hope it works  

    Robbert van Weelderen

    Ohh and I forgot to say it's not finished, and I am looking forward to more tutorials.  (But I did find some mistakes in one of them.)

    @UpNorth: I forgot to change it before uploading, everything should work now. 

    great work robert

    i am trying the skin now



    sorry if there were a couple of mistakes in the tutorial - i think i know which one it is (section colors)


    i'll be writing more tutuorials VERY SOON.

    starting with the topic of adding a really nice & functional progress bar

    keep up the good work
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 03:33:14
    Quote
    Quote
    Note: You might also need to add setEnabled(this, false), depending on which sprite (buttons or artist) you declared first. Also, I did not do any code for showing the artist again onmouseleave.

    This is a good point, hiding the sprite with look_setVisible() does not disable it - that is it will still get mouse input and be clickable, etc.  look_setEnabled() will prevent the mouse input.  So use both functions as necessary depending on your needs.

    i solved this by making 2 global functions for micropanel; enable() & disable()

    it combines visible & enabled into 1 function, and also works with groups of sprites

    Code: [Select]
    section globals
    string script "

        function enable(group)
     look_setVisible(group,true)
     look_setEnabled(group,true)    
        end

        function disable(group)
     look_setVisible(group,false)
     look_setEnabled(group,false)
        end
    "


    now you can do something like this:

    Code: [Select]
    lua hideOnRollover
    function onmouseenter(this) disable(this) end
    function onmouseleave(this) enable(this) end
    endlua


    or even something like this

    Code: [Select]
    lua buttonsOnRollover
    buttongroup = { prev, play, stop, next }
    function onmouseenter(this) enable(buttongroup) end
    function onmouseleave(this) disable(buttongroup) end
    endlua



    hope this helps
    [span style='font-size:8pt;line-height:100%']
    p.s. there are a few more little gems like this waiting to be found in micropanel_common.ski. might be worth checking out[/span]

    anza - after having a quick think about your vis problem, i realised that i do not have any magic tricks left up my sleeve for this one. the spillage on the right hand side can be dealt with when the playlist section is shown, but the spillage on the left cannot be hidden/masked. we have 3 choices as far as i can tell:
    1. resize the spectrum
    2. relocate the spectrum
    3. ask danZ nicely if there is any way he can make foo_looks clip graphics that fall outside of the skin [span style='font-size:8pt;line-height:100%'](i think this option is very unlikely)[/span]
    i didn't have this trouble with hand orb, because it was a circle window, and i was able to size the spectrum so it didn't spill out into the desktop area.
    i will continue to think about this problem, but i think you should know.. it might end in tears  sorry.

    DocUK - all of the problems you're having with playlistnumber etc. i had to deal with when i coded my fooAMP2 skin. check out the scripts in that to see if you can solve some of those hair-pulling problems you've encountered.
    the script in question is lua updatePLnum. it simply keeps the plindex of all my tagz sprites up to date, which means that the details of the most recently played track remain displayed after you press stop. it only needs to be attached to one sprite, since it works independantly.
    it's a bit of a pain the a$$, but don't blame foo_looks. in order to support full playlist display, danZ had to slightly break the old method of having a single playlist index number. tbh, it's the API's fault

    --
    finally,

    sorry i wasn't around much earlier when this topic went through the roof. i kind of left danZ out for the slaughter.

    anyway - i'm free now so i can answer any questions you may have

    it's really promising to see the amount of interest we've generated today. we were not prepared for the bombardment of questions

    i'm sure you all agree that danZ has done an incredible job on this wonderful plugin

    3 cheers... and a couple of beers (at least next time he's in my neighbourhood)


    --
    and the last piece of news for the day.
    my next big skin project (after hand orb) will be a collaboration with artist Dan Mauch (http://www.ninjaskin.com)... called Graviton (see screenshot (http://www.ninjaskin.com/graphics/graviton.jpg))
    Title: foo_looks 2.0 (RC1)
    Post by: Zulithe on 2004-02-08 06:59:34
    Wow... Graviton is already the best looking skin I've seen in foo_looks and it's not even out yet! Blows away what I am working on  Can't wait to see it in action. I'm tired of all these very tiny looks with buttons so tiny they are actually pretty useless, this one looks nicely sized!
    Title: foo_looks 2.0 (RC1)
    Post by: anza on 2004-02-08 08:33:43
    Quote
    anza - after having a quick think about your vis problem, i realised that i do not have any magic tricks left up my sleeve for this one. the spillage on the right hand side can be dealt with when the playlist section is shown, but the spillage on the left cannot be hidden/masked. we have 3 choices as far as i can tell:
    1. resize the spectrum
    2. relocate the spectrum
    3. ask danZ nicely if there is any way he can make foo_looks clip graphics that fall outside of the skin [span style='font-size:8pt;line-height:100%'](i think this option is very unlikely)[/span]
    i didn't have this trouble with hand orb, because it was a circle window, and i was able to size the spectrum so it didn't spill out into the desktop area.
    i will continue to think about this problem, but i think you should know.. it might end in tears   sorry.

    Well I guess I'll just have to resize the spectrum then. I'm going to have to see what I can come up.

    edit: meh.. I tried to use another mask for the spilling part, but it doesn't work. When I set int alphablend 0 for it, it starts to use a HUGE amount of CPU and memory, and also nothing changes, the visualization still spills out.. Damn, I think I really need to change the vis  I would've liked it like that...

    Also tk32, I'm currently using the progress bar code from your new_skin_project (was it called like that? Whatever  ) and I've noticed that sometimes it thinks I'm dragging it even though I'm trying just to move the look around.

    Could you tell me how to get the star thingy to work? Currently I'm just making it like this:
    Code: [Select]
    sprite ratingback
    int layer 3
    int valign align.Near
    int halign align.Near
    list fontcolor int { 30 76 94 124 }
    list rect int { 94 11 120 28 }
    int fontsize 30
    string fontname "GuinnessExtraStout"
    string fspec "$repeat('*',6)"

    sprite rating
    int layer 3
    int valign align.Near
    int halign align.Near
    list fontcolor int { 180 76 94 124 }
    list rect ratingback.rect
    int fontsize 30
    string fontname "GuinnessExtraStout"
    string fspec "$if(%rating%,$repeat('*',%rating%))"

    This works fine, but I want to use the stars from the orb.png, so I don't have to distribute another font with the look.

    Quote
    @anza: I like this skin. But the font for Title is so big it could only fit a few characters. Why not split it into two lines with a smaller font? I have classical pieces here whose titles are huge. And how do you set the stars?

    This is just a really early release and hasn't got many of the things I've planned. One of these things is text scrolling when the title (or artist's or album's name) doesn't fit in. Of course I can make the title font a bit smaller.
    I'm using a custom tag to get the stars. Just add a tag called RATING with the value of 1 to 6.
    I use musicmusic's QuickTag (http://members.lycos.co.uk/musicf/) to get the values easily to context menu (and also I've binded them to Win++, Win+-, Win+1, Win+2 etc).
    Title: foo_looks 2.0 (RC1)
    Post by: _DA_ on 2004-02-08 08:49:23
    When 2.0 was relatively early in development, there was an image of one of the skins in development that I really liked.

    It was like a winamp skin, but smaller, with a slightly different layout (I think.).

    Does anyone know what I'm talking about?

    http://www.btinternet.com/~sean.m.kelly/fo...oks/gallery.htm (http://www.btinternet.com/~sean.m.kelly/foo_looks/gallery.htm) <-- it's none of these.

    It was a skin planned for 2.0. Perhaps it was simply a photoshop effort without any sort of functionaliy, but I'd like to know if it's still in the pipeline.
    Title: foo_looks 2.0 (RC1)
    Post by: anza on 2004-02-08 10:05:12
     

    Comments and suggestions are welcome.

    [span style='font-size:8pt;line-height:100%']also, remember to download the fonts (http://koti.mbnet.fi/antsau/foobar2000/orb_fonts.zip) if you haven't downloaded them before.[/span]

    How could I get some text to fade in when I hover the mouse over those buttons? I'd like to get ie. "Play" to show there between the buttons and the vis.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 11:55:09
    Quote
    Quote

    Quote

    Note: You might also need to add setEnabled(this, false), depending on which sprite (buttons or artist) you declared first. Also, I did not do any code for showing the artist again onmouseleave.


    This is a good point, hiding the sprite with look_setVisible() does not disable it - that is it will still get mouse input and be clickable, etc. look_setEnabled() will prevent the mouse input. So use both functions as necessary depending on your needs.


    i solved this by making 2 global functions for micropanel; enable() & disable()

    it combines visible & enabled into 1 function, and also works with groups of sprites

    Code: [Select]
    section globals
    string script "

    function enable(group)
    look_setVisible(group,true)
    look_setEnabled(group,true)
    end

    function disable(group)
    look_setVisible(group,false)
    look_setEnabled(group,false)
    end
    "


    Heh, it's funny when you're doing parallel development. Here's what I did (note that I came up with this independent of tk32:

    Code: [Select]
    function show(this)
      look_setEnabled(this, true)
      look_setVisible(this, true)
    end

    function hide(this)
      look_setEnabled(this, false)
      look_setVisible(this, false)
    end
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 12:57:08
    I had some trouble doing a conversion between LUA and TagZ:

    This is working in LUA:

    Code: [Select]
    minvolume = look_getValue("presets", "minvolume")
    percent = 1 - fb2k_getVolume() / 100 / minvolume
    look_setFspec(volumelabel, percent)


    But this isn't working (note that %_volume% is fb2k_getVolume() / 100):

    Code: [Select]
    sprite volumelabel
    ...
    string fspec "$sub(1, $div(%_volume%, %presets._minvolume%))"


    Don't worry about the maths, as it is doing exactly what I want it to. However, when I try to put the calculation into TagZ form, it does not work. I was wondering if it is because the TagZ math functions don't work to small decimals - Thousandths etc.
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-08 13:18:16
    After reading danZ's answer here (http://www.hydrogenaudio.org/forums/index.php?showtopic=17279&view=findpost&p=181803) and the following discussion yesterday, i added look_setEnabled too, but it didn't work.

    I have this in my common scrips:
    Code: [Select]
    lua hideOnMouseOver
    function onmouseenter(this)
    look_setVisible(this, false)
    look_setEnabled(this, false)
    end

    function onmouseleave(this)
    look_setVisible(this, true)
    look_setEnabled(this, true)
    end
    endlua

    and this in my main ski-file:
    Code: [Select]
    sprite infoarea
    list rect int { 10 194 11 15 }
    list srcoff int { 388 2 11 15 }
    list statemap int { 0 0 0 0 0 0 0 0 0 0 }
    int layer 2
    list scripts string { "hideOnMouseOver" }

    It's not supposed to do anything but hide and show a small piece of graphics just to try it. The hiding seems to work fine, but nothing happens "onmouseleave". It's just gone for good. I have just started playing with foo_looks again, but my thought about this problem was that after disabling it, it will no longer register a "onmouseleave". I was thinking about using the coordinats for the sprite and the position of the mouse inside the look for a later workaround, but it would be even better if it could be fixed right away.


    I'll throw in a couple of questions:

    1) Is it ok to use three or more ski-files and put everything except the main ski-file inside a folder? I got the idea from AeroAmp by Aero, and IMHO it's easier to keep things organized this way. A positive side effect is that common files won't show up among the looks in preferences and another is that it is easy to delete a skin (one ski-file and one folder).

    2) Is extensive tiling a waste of resources? I want to have a go at it some time, so I'm just curious.

    3) Is that resizable look still around? I remeber danZ posted a look that had buttons to expand and contract it, and IIRC it was quite small.


    My fear now, is that I will never finish a single look, because I enjoy playing with the code and trying out different things too much 


    @tk32: Graviton (http://www.ninjaskin.com/graphics/graviton.jpg)  just amazing IMHO
    Title: foo_looks 2.0 (RC1)
    Post by: robbertvw on 2004-02-08 13:18:43
    Hey,

    I did a little update to my skin, now it looks like this:



    Robbert

    Sorry, this is better 
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 13:36:10
    Quote
    DocUK - all of the problems you're having with playlistnumber etc. i had to deal with when i coded my fooAMP2 skin. check out the scripts in that to see if you can solve some of those hair-pulling problems you've encountered.
    the script in question is lua updatePLnum. it simply keeps the plindex of all my tagz sprites up to date, which means that the details of the most recently played track remain displayed after you press stop. it only needs to be attached to one sprite, since it works independantly.
    it's a bit of a pain the a$$, but don't blame foo_looks. in order to support full playlist display, danZ had to slightly break the old method of having a single playlist index number. tbh, it's the API's fault


    Is it not possible to just get the play list number onattach() and onplaybacknewtrack(), and then just store that. Because right now, the fspec changes everytime I switch playlist. Only the playlist number is correct now 

    At the moment, I'm doing this:

    Code: [Select]
    lua playlistnumber
    function update(this)
        look_setPlaylistIndex(this, fb2k_getNowPlaying())
    end
    function onattach(this)
      update(this)
    end
    function onplaybacknewtrack(this)
      update(this)
    end
    endlua

    sprite songinfo
    ...
    string fspec "%_playlist_number%. [%artist% - ]$if(%title%,%title% ['['%album%[ #[%disc%/]$num(%tracknumber%,2)]']'],%_filename_ext%) ['('$upper($ext(%_filename_ext%))@%__bitrate%kbps')']"
    list scripts string { "playlistnumber"}
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 13:40:11
    Quote
    1) Is it ok to use three or more ski-files and put everything except the main ski-file inside a folder? I got the idea from AeroAmp by Aero, and IMHO it's easier to keep things organized this way. A positive side effect is that common files won't show up among the looks in preferences and another is that it is easy to delete a skin (one ski-file and one folder).



    yes - i'm glad you've realised this - it's a great idea

    now that we are getting more serious looks, it's gonna be important to use sub dirs to store all of the skin's resources

    perhaps one day we'll zip all the files and each skin will be a single file
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 13:46:01
    Quote
    Quote
    DocUK - all of the problems you're having with playlistnumber etc. i had to deal with when i coded my fooAMP2 skin. check out the scripts in that to see if you can solve some of those hair-pulling problems you've encountered.
    the script in question is lua updatePLnum. it simply keeps the plindex of all my tagz sprites up to date, which means that the details of the most recently played track remain displayed after you press stop. it only needs to be attached to one sprite, since it works independantly.
    it's a bit of a pain the a$$, but don't blame foo_looks. in order to support full playlist display, danZ had to slightly break the old method of having a single playlist index number. tbh, it's the API's fault


    Is it not possible to just get the play list number onattach() and onplaybacknewtrack(), and then just store that. Because right now, the fspec changes everytime I switch playlist. Only the playlist number is correct now 

    At the moment, I'm doing this:

    Code: [Select]
    lua playlistnumber
    function update(this)
        look_setPlaylistIndex(this, fb2k_getNowPlaying())
    end
    function onattach(this)
      update(this)
    end
    function onplaybacknewtrack(this)
      update(this)
    end
    endlua

    sprite songinfo
    ...
    string fspec "%_playlist_number%. [%artist% - ]$if(%title%,%title% ['['%album%[ #[%disc%/]$num(%tracknumber%,2)]']'],%_filename_ext%) ['('$upper($ext(%_filename_ext%))@%__bitrate%kbps')']"
    list scripts string { "playlistnumber"}

    the answer is probably yes,

    although i havn't tested it yet so i won't try to write a script without testing it first


    i was thinking of an alternative strategy however:

    if you use string text "" instead of string fspec "" then the text will only update when you force it to. [span style='font-size:8pt;line-height:100%'](fspecs update twice per second)[/span]

    you could therefore write a script that only updates the text when you want it to [span style='font-size:8pt;line-height:100%'](note: you would ot put the %playlistnumber% in the text string, but retrieve it in the script)[/span]

    this may, or may not work

    --
    sorry i don't have any great deal of experience with this still

    if you don't mind being patient, i'll add it to my big list of things to do
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 13:50:41
    This is a simple question, but I haven't had the need to use this before now:

    How do I set a color to be transparent in my sprites? I want the background to show through where the color is on those sprites.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 14:14:26
    Quote
    This is a simple question, but I haven't had the need to use this before now:

    How do I set a color to be transparent in my sprites? I want the background to show through where the color is on those sprites.

    we removed this feature because you just have to make that area transparent, and then add { render.erase } to the start of the rendermap.

    that's how our freeform skins works, but there's nothing to stop you putting holes in or around of any type of sprite graphics

    in fact, for sprites you don't need to use render.erase


    your sprites can be just like in URMEL's skin graphics (http://www.btinternet.com/~sean.m.kelly/skin_raw.png)
    check out his .ski (http://www.btinternet.com/~sean.m.kelly/skin_raw.ski) if you're still confused


    ---
    btw URMEL,

    did you see that i coded the volume bar for you??

    http://www.hydrogenaudio.org/forums/index....ndpost&p=181520 (http://www.hydrogenaudio.org/forums/index.php?showtopic=17279&view=findpost&p=181520)

    i thought you might have missed the post when the topic got busy
    Title: foo_looks 2.0 (RC1)
    Post by: bernard on 2004-02-08 14:42:35
    @tk32
    I'm using your micropanel and am very happy with it, except for the missing volume slider.
    I would love to have a volume slider that controls the main system volume level and not foobar's volume level (because of foobar's delayed reaction to volume changes that is quite annoying).
    Sorry to bother you, but I can't code it myself, so I kindly ask you, if you could please do it for me?
    Do you remember, we discussed it before:

    Quote
    you're right - i have omitted a volume control from micropanel - but i can easily add one

    in fact, the vertical white bar was reserved for that very reason

    to be honest - i wanted to know how important it was for people to have one.

    i will have an update by the end of the day
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 14:44:24
    Quote
    Quote
    This is a simple question, but I haven't had the need to use this before now:

    How do I set a color to be transparent in my sprites? I want the background to show through where the color is on those sprites.

    we removed this feature because you just have to make that area transparent, and then add { render.erase } to the start of the rendermap.

    So transparent areas will only work with PNGs (and GIFs)?
    Title: foo_looks 2.0 (RC1)
    Post by: anza on 2004-02-08 14:58:47
    Quote
    So transparent areas will only work with PNGs (and GIFs)?

    Why would you want to use some other format than PNG?
    j/k


    tk32: Is there a way to get rid of the "..."?
    (http://koti.mbnet.fi/antsau/foobar2000/orb_beta2.png)

    edit: nevermind, got it already
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 15:16:52
    anza, when I drag your skin, my song skips. This doesn't happen with other skins (such as foo_looks, micropanel, fooAMP2) so I'm wondering what is causing it.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 15:32:54
    Quote
    Quote
    Quote
    This is a simple question, but I haven't had the need to use this before now:

    How do I set a color to be transparent in my sprites? I want the background to show through where the color is on those sprites.

    we removed this feature because you just have to make that area transparent, and then add { render.erase } to the start of the rendermap.

    So transparent areas will only work with PNGs (and GIFs)?

    PNG is the recommended file type

    but gif is usable (if you don't mind using only 256 colors, and having jagged edges)



    bernard - i will add the volume control very soon, but it will still be the delayed volume kind. there is no way to code any other type at the moment

    for an example of what it will be like, try the orange volume bar in URMEL's skin that i coded for him recently.

    URMEL's skin + tk32's custom volume bar
    skin_raw.png (http://www.btinternet.com/~sean.m.kelly/skin_raw.png)
    skin_raw.ski (http://www.btinternet.com/~sean.m.kelly/skin_raw.ski)
    Title: foo_looks 2.0 (RC1)
    Post by: anza on 2004-02-08 15:34:21
    I have the same problem (or at least I think I have).
    Sometimes it seems to try to move the progressbar when you try to move the skin around, and I have NO idea what is causing this. Maybe tk32 could have a look at my .ski? And it doesn't even occur all the time.. Weid.

    If you want to see some sort of text scrolling (done with TAGZ, so it's really ugly), download the new version (http://koti.mbnet.fi/antsau/foobar2000/orb.zip).
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 15:45:14
    Quote
    I have the same problem (or at least I think I have).
    Sometimes it seems to try to move the progressbar when you try to move the skin around, and I have NO idea what is causing this. Maybe tk32 could have a look at my .ski? And it doesn't even occur all the time.. Weid.

    If you want to see some sort of text scrolling (done with TAGZ, so it's really ugly), download the new version (http://koti.mbnet.fi/antsau/foobar2000/orb.zip).

    ok

    i have identified the problem..

    whever you rollover the progress bar and then click another part of the skin, it seems to trigger onleftbuttonup in the progbar script, which results in the brief skip/repeat you hear

    if you carefully move the cursor into the skin without touching the progbar, you don't get this problem


    i think it's either a problem with my dragbar script, or else a problem with the plugin, since there is nothing wrong with anza's code

    we'll have a fix worked out soon
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 15:47:49
    danZ:

    A function to write to the foobar2000 console would be nice (for debugging).
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 15:50:53
    Quote
    danZ:

    A function to write to the foobar2000 console would be nice (for debugging).

    sorry

    we forgot to mention this one


    Code: [Select]
    LOG('hello, world!')

    LOG("hello, world!")

    LOG('variable x: '..x)

    LOG(x..' + '..y..' = '..x+y)



    danZ & myself use it all the time for debugging
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 15:55:14
    Quote
    Quote
    danZ:

    A function to write to the foobar2000 console would be nice (for debugging).

    sorry

    we forgot to mention this one

    danZ & myself use it all the time for debugging

    Arghs! That would've helped so much! 
    Title: foo_looks 2.0 (RC1)
    Post by: anza on 2004-02-08 15:58:34
    tk32, ok thanks for "solving" that problem

    I'm just beginning to design the button that would make the playlist to slide out/back in, so I'd really appreciate if someone would write me the code needed for that (and of course for the playlist itself).
    Also I wouldn't mind having a good text scrolling script that would scroll the text smoothly and not like I'm now doing it.

    TIA.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 16:03:12
    Quote
    tk32, ok thanks for "solving" that problem

    I'm just beginning to design the button that would make the playlist to slide out/back in, so I'd really appreciate if someone would write me the code needed for that (and of course for the playlist itself).
    Also I wouldn't mind having a good text scrolling script that would scroll the text smoothly and not like I'm now doing it.

    TIA.

    ok

    it will take a little more time than danZ expected

    because you can't simply re-use the tray code he had written for the default look

    the tray code simply slides out the tray, but your tray is bigger than the whole skin, so your tray will need to grow in size rather than slide


    i'm happy to have a go at it once the graphics are all ready - but i'm just warning you it may take more than a day or 2 depending on how many other jobs i have going


    as for text scroll - we are still discussing the best way to approach this at the concept level. we'll let you all know once we've decided the best startegy to scroll text
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 17:40:31
    Is it possible for two scripts assigned to the same sprite to share functions?

    I want to do some abstraction, so my progress and volume bars can share some code (the code to get and set percentages, and to be dragged, etc). All my code is ready for merging, but one script doesn't seem to be able to see the others' functions.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 17:45:14
    Quote
    Is it possible for two scripts assigned to the same sprite to share functions?

    I want to do some abstraction, so my progress and volume bars can share some code (the code to get and set percentages, and to be dragged, etc). All my code is ready for merging, but one script doesn't seem to be able to see the others' functions.

    the only way i can think of doing this is

    1. make the shared functions global (like my enable / disable functions)

    2. combine the two scripts into 1 and set a flag to determine which one to use


    eg

    Code: [Select]
    sprite vol
    list scripts string { "progAndVol[type=vol]" }

    sprite prog
    list scripts string { "progAndVol[type=prog]" }
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 17:49:23
    Not very elegant, really. Oh well 
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-08 20:44:58
    I'm stuck again

    How do I pass the name of a sprite to a LUA script in my common-ski?
    This is the script I want to pass it to:
    Code: [Select]
    lua relativeDisplacement
        
        myRect = { }
        MY = nil
        
        function displace(this, MY)

     myRect.x = look_getX(MY) + 10
     myRect.y = look_getY(MY)

     look_setX(pause,myRect.x)
     look_setY(pause,myRect.y)
        
        end

        function onleftbuttonup(this)
     displace()
        end

    endlua

    and this is the line in my sprite where I try to pass the name of the sprite:
    Code: [Select]
    list scripts string { "relativeDisplacement[MY=play]" }


    The code above gives me this error:
    Quote
    ERROR (foo_looks) : attempt to perform arithmetic on a nil value
    , but if I change MY -> play (the name of the sprite I want to read the 'x' value from) it works. One problem is that I don't know how to initialize "MY", and the other is that I don't know how to use it to pass the name of a sprite ('play').

    What I'm trying to do is to make a script that places buttons relatively to each other (in this case the pause button relative to the play button). Right now I do it with a onleftbuttonup, in a temporary sprite just because I don't know how to make this happen "by itself" on startup (I have tried a couple of things woth onattach(), but I can't get it to work).

    I hope some of this makes sense and that someone can help me...
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 20:52:27
    Quote
    Is it possible for two scripts assigned to the same sprite to share functions?

    I want to do some abstraction, so my progress and volume bars can share some code (the code to get and set percentages, and to be dragged, etc). All my code is ready for merging, but one script doesn't seem to be able to see the others' functions.

    On script can call another script so you can do some cross script messaging but there is currently a limitation that I need to solve in that you can't return a value from the function call.

    Search the default look and/or foo_looks_common.ski for

    look_callScript()
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 20:56:15
    Quote
    I'm stuck again

    How do I pass the name of a sprite to a LUA script in my common-ski?
    This is the script I want to pass it to:
    Code: [Select]
    lua relativeDisplacement
        
        myRect = { }
        MY = nil
        
        function displace(this, MY)

     myRect.x = look_getX(MY) + 10
     myRect.y = look_getY(MY)

     look_setX(pause,myRect.x)
     look_setY(pause,myRect.y)
        
        end

        function onleftbuttonup(this)
     displace()
        end

    endlua

    and this is the line in my sprite where I try to pass the name of the sprite:
    Code: [Select]
    list scripts string { "relativeDisplacement[MY=play]" }


    The code above gives me this error:
    Quote
    ERROR (foo_looks) : attempt to perform arithmetic on a nil value
    , but if I change MY -> play (the name of the sprite I want to read the 'x' value from) it works. One problem is that I don't know how to initialize "MY", and the other is that I don't know how to use it to pass the name of a sprite ('play').

    What I'm trying to do is to make a script that places buttons relatively to each other (in this case the pause button relative to the play button). Right now I do it with a onleftbuttonup, in a temporary sprite just because I don't know how to make this happen "by itself" on startup (I have tried a couple of things woth onattach(), but I can't get it to work).

    I hope some of this makes sense and that someone can help me...

    Remove the parameter list from your displace function declaration.  MY is global to all the functions in this lua/endlua block so doesn't need to be a paramter.  You can simply access it

    lua relativeDisplacement

    myRect = { }
    MY = nil

    function displace() -- no parameters needed

    myRect.x = look_getX(MY) + 10
    myRect.y = look_getY(MY)

    look_setX(pause,myRect.x)
    look_setY(pause,myRect.y)

    end

    function onleftbuttonup(this)
    displace()
    end

    endlua
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-08 21:02:34
    Thanks danZ 
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 21:02:54
    Quote
    it will take a little more time than danZ expected

    because you can't simply re-use the tray code he had written for the default look

    the tray code simply slides out the tray, but your tray is bigger than the whole skin, so your tray will need to grow in size rather than slide

    I'm not sure about this - I was thinking that as the tray slid to the closed position it will get clipped by the oval and appear to shrink.  That is, as it moves to the left it will go under the oval and then gradually off the left side of the look which will clip it.

    I'd give it a try before writing any new code.
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 21:09:13
    Quote
    Quote
    Quote
    Quote
    This is a simple question, but I haven't had the need to use this before now:

    How do I set a color to be transparent in my sprites? I want the background to show through where the color is on those sprites.

    we removed this feature because you just have to make that area transparent, and then add { render.erase } to the start of the rendermap.

    So transparent areas will only work with PNGs (and GIFs)?

    PNG is the recommended file type

    but gif is usable (if you don't mind using only 256 colors, and having jagged edges)



    bernard - i will add the volume control very soon, but it will still be the delayed volume kind. there is no way to code any other type at the moment

    for an example of what it will be like, try the orange volume bar in URMEL's skin that i coded for him recently.

    URMEL's skin + tk32's custom volume bar
    skin_raw.png (http://www.btinternet.com/~sean.m.kelly/skin_raw.png)
    skin_raw.ski (http://www.btinternet.com/~sean.m.kelly/skin_raw.ski)

    You can still specify a transparent colorkey

    sprite foobar
    list transcolor int { 255 255 0 0 } // make all red pixels transparent

    but the performace is horrible because GDI+ is very slow when blitting with a color key matrix.

    Using a 32 bit PNG image with the transparency defined using the alpha channel is faster, more flexible, and easier.
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 21:16:30
    Quote
    Is it not possible to just get the play list number onattach() and onplaybacknewtrack(), and then just store that. Because right now, the fspec changes everytime I switch playlist. Only the playlist number is correct now 

    This is why there is a concept of now playing (-1) and a specific playlist index.  Now playing is its own meta data and not associated with any playlist or playlist index and that is why is only shows up if foobar is playing.  Also, it remains even as the playlist is changed.  The con is that there is no playlist number.

    Using a specific playlist index means you can show playlist number, have the text formatted regardless of the playback state (playing, stopped, etc.), but it changes with any changes in the playlist.

    This is just the way the foobar API works.  It makes sense if you really sit down and think about it (which I did when dealing with this issue during development).  foo_looks 1.0 was somewhat flawed in the area of text formatting IMHO.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 21:21:41
    Quote
    Quote
    Is it not possible to just get the play list number onattach() and onplaybacknewtrack(), and then just store that. Because right now, the fspec changes everytime I switch playlist. Only the playlist number is correct now 

    This is why there is a concept of now playing (-1) and a specific playlist index.  Now playing is its own meta data and not associated with any playlist or playlist index and that is why is only shows up if foobar is playing.  Also, it remains even as the playlist is changed.  The con is that there is no playlist number.

    Using a specific playlist index means you can show playlist number, have the text formatted regardless of the playback state (playing, stopped, etc.), but it changes with any changes in the playlist.

    This is just the way the foobar API works.  It makes sense if you really sit down and think about it (which I did when dealing with this issue during development).  foo_looks 1.0 was somewhat flawed in the area of text formatting IMHO.

    Well alright, I think I understand how it works now. Do you have any suggestions for how I could grab artist, title, album, tracknumber, bitrate, and format from the Now Playing index (-1), and the playlist number from the active playlistindex?
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 21:26:42
    Quote
    Quote
    anza - after having a quick think about your vis problem, i realised that i do not have any magic tricks left up my sleeve for this one. the spillage on the right hand side can be dealt with when the playlist section is shown, but the spillage on the left cannot be hidden/masked. we have 3 choices as far as i can tell:
    1. resize the spectrum
    2. relocate the spectrum
    3. ask danZ nicely if there is any way he can make foo_looks clip graphics that fall outside of the skin [span style='font-size:8pt;line-height:100%'](i think this option is very unlikely)[/span]
    i didn't have this trouble with hand orb, because it was a circle window, and i was able to size the spectrum so it didn't spill out into the desktop area.
    i will continue to think about this problem, but i think you should know.. it might end in tears   sorry.

    Well I guess I'll just have to resize the spectrum then. I'm going to have to see what I can come up.

    I need to give this some more thought - avoid this situation for now like you have done by resizing your layout.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 21:29:31
    I have a question about the rendermaps. I don't understand the significance or the use for them. I mean, if I don't specify any fillcolors, will not specifying render.Fill improve performance? Why would you want to not render something you have specified as well?

    I don't get it, can you please explain 
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 21:45:06
    Quote
    Quote
    Quote
    Is it not possible to just get the play list number onattach() and onplaybacknewtrack(), and then just store that. Because right now, the fspec changes everytime I switch playlist. Only the playlist number is correct now 

    This is why there is a concept of now playing (-1) and a specific playlist index.  Now playing is its own meta data and not associated with any playlist or playlist index and that is why is only shows up if foobar is playing.  Also, it remains even as the playlist is changed.  The con is that there is no playlist number.

    Using a specific playlist index means you can show playlist number, have the text formatted regardless of the playback state (playing, stopped, etc.), but it changes with any changes in the playlist.

    This is just the way the foobar API works.  It makes sense if you really sit down and think about it (which I did when dealing with this issue during development).  foo_looks 1.0 was somewhat flawed in the area of text formatting IMHO.

    Well alright, I think I understand how it works now. Do you have any suggestions for how I could grab artist, title, album, tracknumber, bitrate, and format from the Now Playing index (-1), and the playlist number from the active playlistindex?

    This is psuedo-code - didn't test it but it shows the idea I think will work

    Code: [Select]
    lua myformat

    spec = ""

    function onplaybackstart(this)
       updatetext(this)
    end

    function onplaybacknewtrack(this)
       updatetext(this)
    end

    function updatetext(this)
        local index = fb2k_getNowPlaying()
        local text = fb2k_formatTitle(index,spec,nil))
        look_setText(this,index..": "..text)
    end

    endlua


    Code: [Select]
    sprite nowPlaying
    string fspec "" // don't set the fspec
    list scripts string { "myformat[spec='%artist% and whatever']" }
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 21:51:50
    Quote
    I have a question about the rendermaps. I don't understand the significance or the use for them. I mean, if I don't specify any fillcolors, will not specifying render.Fill improve performance? Why would you want to not render something you have specified as well?

    I don't get it, can you please explain 

    You can use the render map to control what gets rendered AND/OR the order.

    sprite textonly
    list rendermap int { render.Text }

    sprite textonfill
    list rendermap int { render.Fill render.Text }

    sprite fillovertext
    list rendermap int { render.Text render.Fill }

    sprite textoverimage
    list rendermap int { render.Text render.Image }

    sprite nothing
    list rendermap int { }

    By default the render map is { render.Image render.Fill render.Text render.Border }

    Its true you can set null text, invisible colors, etc. which gives the same effect as removing items from the render map but I did it this way so that you could just define a fill color and then get a fill, etc. with out dealing with render map.

    Render map is for advanced users/uses.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 22:17:17
    Quote
    Quote
    I have a question about the rendermaps. I don't understand the significance or the use for them. I mean, if I don't specify any fillcolors, will not specifying render.Fill improve performance? Why would you want to not render something you have specified as well?

    I don't get it, can you please explain 

    You can use the render map to control what gets rendered AND/OR the order.

    sprite textonly
    list rendermap int { render.Text }

    sprite textonfill
    list rendermap int { render.Fill render.Text }

    sprite fillovertext
    list rendermap int { render.Text render.Fill }

    sprite textoverimage
    list rendermap int { render.Text render.Image }

    sprite nothing
    list rendermap int { }

    By default the render map is { render.Image render.Fill render.Text render.Border }

    Its true you can set null text, invisible colors, etc. which gives the same effect as removing items from the render map but I did it this way so that you could just define a fill color and then get a fill, etc. with out dealing with render map.

    Render map is for advanced users/uses.

    What effect does specifying a rendermap have on performance?
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 22:25:05
    Quote
    Quote
    Quote
    I have a question about the rendermaps. I don't understand the significance or the use for them. I mean, if I don't specify any fillcolors, will not specifying render.Fill improve performance? Why would you want to not render something you have specified as well?

    I don't get it, can you please explain 

    You can use the render map to control what gets rendered AND/OR the order.

    sprite textonly
    list rendermap int { render.Text }

    sprite textonfill
    list rendermap int { render.Fill render.Text }

    sprite fillovertext
    list rendermap int { render.Text render.Fill }

    sprite textoverimage
    list rendermap int { render.Text render.Image }

    sprite nothing
    list rendermap int { }

    By default the render map is { render.Image render.Fill render.Text render.Border }

    Its true you can set null text, invisible colors, etc. which gives the same effect as removing items from the render map but I did it this way so that you could just define a fill color and then get a fill, etc. with out dealing with render map.

    Render map is for advanced users/uses.

    What effect does specifying a rendermap have on performance?

    Not much in most cases.  That is, having a fillcolor of { 0 0 0 0 } is just as good as defining a rendermap with "render.Fill" removed.

    Removing render.Image from the map is about the only think that could potentially improve performance.

    Again, its for flexibility in ordering or special circumstances, not performance.
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-08 22:27:55
    Quote
    sprite fillovertext
    list rendermap int { render.Text render.Fill }

    sprite textoverimage
    list rendermap int { render.Text render.Image }

    This looks inconsistent to me. The last one is "imageovertext" isn't it?
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 22:36:55
    Quote
    Quote
    sprite fillovertext
    list rendermap int { render.Text render.Fill }

    sprite textoverimage
    list rendermap int { render.Text render.Image }

    This looks inconsistent to me. The last one is "imageovertext" isn't it?

    Yeah, cut and paste and in a hurry error...
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 22:39:09
    EDIT:

    i just duplicated danZ' answer
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 22:40:13
    Quote
    Quote
    Quote
    Quote
    Is it not possible to just get the play list number onattach() and onplaybacknewtrack(), and then just store that. Because right now, the fspec changes everytime I switch playlist. Only the playlist number is correct now 

    This is why there is a concept of now playing (-1) and a specific playlist index.  Now playing is its own meta data and not associated with any playlist or playlist index and that is why is only shows up if foobar is playing.  Also, it remains even as the playlist is changed.  The con is that there is no playlist number.

    Using a specific playlist index means you can show playlist number, have the text formatted regardless of the playback state (playing, stopped, etc.), but it changes with any changes in the playlist.

    This is just the way the foobar API works.  It makes sense if you really sit down and think about it (which I did when dealing with this issue during development).  foo_looks 1.0 was somewhat flawed in the area of text formatting IMHO.

    Well alright, I think I understand how it works now. Do you have any suggestions for how I could grab artist, title, album, tracknumber, bitrate, and format from the Now Playing index (-1), and the playlist number from the active playlistindex?

    This is psuedo-code - didn't test it but it shows the idea I think will work

    Code: [Select]
    lua myformat

    spec = ""

    function onplaybackstart(this)
       updatetext(this)
    end

    function onplaybacknewtrack(this)
       updatetext(this)
    end

    function updatetext(this)
        local index = fb2k_getNowPlaying()
        local text = fb2k_formatTitle(index,spec,nil))
        look_setText(this,index..": "..text)
    end

    endlua


    Code: [Select]
    sprite nowPlaying
    string fspec "" // don't set the fspec
    list scripts string { "myformat[spec='%artist% and whatever']" }

    Okay I got it to work. But now I decided to be clever:

    This works (note that I used index + 1 so it matches playlist numbers):

    Code: [Select]
    section presets
    string songinfospec "[%artist% - ]$if(%title%,%title% ['['%album%[ #[%disc%/]$num(%tracknumber%,2)]']'],%_filename_ext%) ['('$upper($ext(%_filename_ext%))@%__bitrate%kbps')']"

    lua songinfo
      function updateText(this)
         index = fb2k_getNowPlaying()
         spec = look_getValue("presets", "songinfospec")

         text = fb2k_formatTitle(index, spec, nil)
         look_setText(this, (index + 1)..". "..text)
      end

      function onattach(this)
         updateText(this)
      end

      function onplaybacknewtrack(this)
         updateText(this)
      end
    endlua

    sprite songinfo
    ...
    string fspec ""
    list scripts string { "songinfo"}


    However, I wanted it to be intuitive, so I figured I could replace %_playlist_number% in the spec with the index before I used it to format my getNowPlaying() info. The code below actually crashes foobar2000 saying:

    Quote
    ERROR (foo_looks) : malformed pattern (ends with '%')


    Code: [Select]
    section presets
    string songinfospec "%_playlist_number%. [%artist% - ]$if(%title%,%title% ['['%album%[ #[%disc%/]$num(%tracknumber%,2)]']'],%_filename_ext%) ['('$upper($ext(%_filename_ext%))@%__bitrate%kbps')']"

    lua songinfo
      function updateText(this)
         index = fb2k_getNowPlaying()

         spec = look_getValue("presets", "songinfospec")
         spec = gsub(spec, "%_playlist_number%", index)

         text = fb2k_formatTitle(index, spec, nil)
         look_setText(this, text)
      end

      function onattach(this)
         updateText(this)
      end

      function onplaybacknewtrack(this)
         updateText(this)
      end
    endlua

    sprite songinfo
    ...
    string fspec ""
    list scripts string { "songinfo"}


    I don't know what I'm doing wrong. Why can't I manually replace %_playlist_number% with the index, and then format getNowPlaying() against this new spec? Do some of the functions parse the TagZ or what?
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 22:45:16
    Quote
    I don't know what I'm doing wrong. Why can't I manually replace %_playlist_number% with the index, and then format getNowPlaying() against this new spec? Do some of the functions parse the TagZ or what?

    I think % has special meaning in the gsub() function

    See Lua 4.0 string functions (http://www.lua.org/manual/4.0/manual.html#6.2)
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-08 22:45:58
    Two more questions:

    1) I seem to have problem understanding the word "this". I thought that if I used it instead of the name of a sprite in e.g. "look_setY(sprite [ {sprite, ... } ], y)" then it would mean the name of the sprite that called the script/function e.g. "pause" in the last code I posted (like this: look_setY(this,myRect.y)). If so, there is another problem in my code.

    2) Can I get something like "look_getSrcWidth(sprite)"? I want to use it to set the width of the rect as they tend to be the same.
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 22:51:37
    Quote
    Two more questions:

    1) I seem to have problem understanding the word "this". I thought that if I used it instead of the name of a sprite in e.g. "look_setY(sprite [ {sprite, ... } ], y)" then it would mean the name of the sprite that called the script/function e.g. "pause" in the last code I posted (like this: look_setY(this,myRect.y)). If so, there is another problem in my code.

    2) Can I get something like "look_getSrcWidth(sprite)"? I want to use it to set the width of the rect as they tend to be the same.

    for the predefined handlers "this" is the sprite that is currently having this handler called.

    simple example

    lua logname

    function onleftbuttondown(this)
        LOG(look_getName(this))
    end

    endlua

    sprite foo
    list scripts string { "logname" }

    sprite bar
    list scripts string { "logname" }

    Both sprites have the same script attached (each gets a copy attached to it).  When the component detects the left button down on either sprite it sets the this parameter to the sprite in question and calls the handler.

    the output if you click on sprite foo is "foo" if you click on bar it is "bar"

    This is how one script can be written and then applied to several different sprites.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 23:01:03
    Thanks danZ, I got it:

    Code: [Select]
    function updateText(this)
      index = fb2k_getNowPlaying()
      spec = gsub(look_getValue("presets", "songinfospec"), "%%_playlist_number%%", index + 1)

      text = fb2k_formatTitle(index, spec, nil)
      look_setText(this, text)
    end


    Any suggestions about what I should do if nothing is playing onattach?

    I will do if (index < 0) but should I show what is currently selected in the playlist or what? How would I do that?
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-08 23:09:36
    I hope you don't mind all these questions, but I have struggled alot without getting things right. After reading the answer to my last 1) question I wonder what I do wrong this time.

    These are my sprites:
    Code: [Select]
    sprite prev
    string include "Playback_Buttons"
    list rect int { 10 2 9 15 }
    list srcoff int { 305 2 9 15 }
    list scripts string { "playback[type='prev']" }

    sprite play
    string include "Playback_Buttons"
    int width 9
    int height 15
    //list rect int { 22 2 9 15 }
    list srcoff int { 318 2 9 15 }
    list scripts string { "relativeDisplacement[model=prev target=play relX=12]", "playback[type='play']" }
    and this is the script:
    Code: [Select]
    lua relativeDisplacement

        myRect = { }
        model = nil
        target = nil
        
        function displace()

     myRect.x = look_getX(model) + relX
     myRect.y = look_getY(model)
     look_setX(target,myRect.x)
     look_setY(target,myRect.y)
        end
        
        function onattach(this)
     displace()
        end
    endlua

    I would like to avoid the use of "target" and use "this" instead, but it doesn't work. Is it the way I use "onattach" that causes this?

    Btw: The script is in my common-ski and the sprites are in my main-ski if that matters.
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 23:13:12
    Quote
    Thanks danZ, I got it:

    Code: [Select]
    function updateText(this)
      index = fb2k_getNowPlaying()
      spec = gsub(look_getValue("presets", "songinfospec"), "%%_playlist_number%%", index + 1)

      text = fb2k_formatTitle(index, spec, nil)
      look_setText(this, text)
    end


    Any suggestions about what I should do if nothing is playing onattach?

    I will do if (index < 0) but should I show what is currently selected in the playlist or what? How would I do that?

    fb2k_playlistGetFocus()

    which will return -1 if nothing has the focus in which case you might then do

    fb2k_playlistSetFocusSel(0) or something

    but then the playlist might be empty  so you better check

    fb2k_playlistGetCount() first
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 23:21:04
    Quote
    Quote
    Thanks danZ, I got it:

    Code: [Select]
    function updateText(this)
      index = fb2k_getNowPlaying()
      spec = gsub(look_getValue("presets", "songinfospec"), "%%_playlist_number%%", index + 1)

      text = fb2k_formatTitle(index, spec, nil)
      look_setText(this, text)
    end


    Any suggestions about what I should do if nothing is playing onattach?

    I will do if (index < 0) but should I show what is currently selected in the playlist or what? How would I do that?

    fb2k_playlistGetFocus()

    which will return -1 if nothing has the focus in which case you might then do

    fb2k_playlistSetFocusSel(0) or something

    but then the playlist might be empty  so you better check

    fb2k_playlistGetCount() first

    Ok, once I make sure something is selected, how do I get its info? 
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 23:23:05
    Quote
    I hope you don't mind all these questions, but I have struggled alot without getting things right. After reading the answer to my last 1) question I wonder what I do wrong this time.

    These are my sprites:
    Code: [Select]
    sprite prev
    string include "Playback_Buttons"
    list rect int { 10 2 9 15 }
    list srcoff int { 305 2 9 15 }
    list scripts string { "playback[type='prev']" }

    sprite play
    string include "Playback_Buttons"
    int width 9
    int height 15
    //list rect int { 22 2 9 15 }
    list srcoff int { 318 2 9 15 }
    list scripts string { "relativeDisplacement[model=prev target=play relX=12]", "playback[type='play']" }
    and this is the script:
    Code: [Select]
    lua relativeDisplacement

        myRect = { }
        model = nil
        target = nil
        
        function displace()

     myRect.x = look_getX(model) + relX
     myRect.y = look_getY(model)
     look_setX(target,myRect.x)
     look_setY(target,myRect.y)
        end
        
        function onattach(this)
     displace()
        end
    endlua

    I would like to avoid the use of "target" and use "this" instead, but it doesn't work. Is it the way I use "onattach" that causes this?

    Btw: The script is in my common-ski and the sprites are in my main-ski if that matters.

    You can pass the "this" parameter around to your own locally defined functions.

    When attached to the sprite play "this" will be equal to passing play for target.

    Code: [Select]
    lua relativeDisplacement

    myRect = { }
    model = nil

    function displace(this)

    myRect.x = look_getX(model) + relX
    myRect.y = look_getY(model)
    look_setX(this,myRect.x)
    look_setY(this,myRect.y)
    end

    function onattach(this)
    displace(this)
    end
    endlua
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-08 23:26:03
    Quote
    Quote
    Quote
    Thanks danZ, I got it:

    Code: [Select]
    function updateText(this)
      index = fb2k_getNowPlaying()
      spec = gsub(look_getValue("presets", "songinfospec"), "%%_playlist_number%%", index + 1)

      text = fb2k_formatTitle(index, spec, nil)
      look_setText(this, text)
    end


    Any suggestions about what I should do if nothing is playing onattach?

    I will do if (index < 0) but should I show what is currently selected in the playlist or what? How would I do that?

    fb2k_playlistGetFocus()

    which will return -1 if nothing has the focus in which case you might then do

    fb2k_playlistSetFocusSel(0) or something

    but then the playlist might be empty  so you better check

    fb2k_playlistGetCount() first

    Ok, once I make sure something is selected, how do I get its info? 

    You just need to make updatetext a little more robust.

    function updateText(this)
      index = fb2k_getNowPlaying()
      if (index == -1) then
        index = fb2k_playlistGetFocus()
        if (index == -1 && fb2k_playlistGetCount() > 0) then
            index = 0
            fb2k_playlistSetFocusSel(0)
        end
      end

      spec = gsub(look_getValue("presets", "songinfospec"), "%%_playlist_number%%", index + 1)

      text = fb2k_formatTitle(index, spec, nil)
      look_setText(this, text)
    end

    again I didn't test this for syntax errors but you get the idea.
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-08 23:35:39
    @danZ: Thank you so much, it worked after I placed the two missing 'this' inside displace(). Changing it to displace(this).

    At least it feels like I'm starting to understand some of this now
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-08 23:42:23
    I don't understand the differences between the following functions:

    fb2k_playlistSetFocusSel(index)
    fb2k_playlistSetSel(index, select)
    fb2k_playlistSetFocus(index)
    fb2k_playlistGetFocus()

    Please explain
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-08 23:51:31
    Quote
    I don't understand the differences between the following functions:

    fb2k_playlistSetFocusSel(index)
    fb2k_playlistSetSel(index, select)
    fb2k_playlistSetFocus(index)
    fb2k_playlistGetFocus()

    Please explain

    DocUK, no offense, but since you've reached a more advanced level, it might be better to ask your questions in the form of emails


    i get the impression this forum is turning into a DocUK personal tutorial


    no offense
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-09 00:02:53
    Erk okay sure. I think it's better if everyone gets the benefit of questions and answers, I mean you don't have to answer, but I used answers from other questions to work on my looks as well.

    It doesn't feel like I'm hogging the board, but sure - Should I e-mail danZ or you?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 00:10:50
    sorry

    i don't want to disuade you from asking questions

    questions are great

    but i get the feeling your level of experience is far exceeding the majority of new look-coders that browse here for basic tips

    you can email either of us, although very specific function questions & problems should go to the man who wrote them

    tk32: ()
    danZ: ()
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-09 00:15:09
    Answers to questions like DocUK's last one would be something for the "resource page". I agree with him that it's not obvious what the differens is (I haven't looked at them before though).

    A thread like this one gets too long to read after a while. Luckily I have followed it, but I believe time spent on a FAQ, tutorial and reference is more valuable in the long run. Apart from that, I really appreciate the help I get here.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-09 00:15:35
    I'm just interested in getting quick replies, and this board provides that. I'm afraid if I use e-mail my questions won't be answered as quickly.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 00:20:47
    ok

    you both make good points

    perhaps you should just ignore me


    besides, DocUK has almost reached the stage where he can assist others

    --
    btw, i added a rotational dial to hand orb

    hand_orb.png (http://www.btinternet.com/~sean.m.kelly/hand_orb.png)
    dial_new.png (http://www.btinternet.com/~sean.m.kelly/dial_new.png)
    hand_orb.ski (http://www.btinternet.com/~sean.m.kelly/hand_orb.ski)

    i havn't added any functionality to it yet though [span style='font-size:8pt;line-height:100%'](and i might decide to remove the little purple inner-disc)[/span]
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-09 01:02:46
    @tk32: I'm tired, but did you link to the old hand_orb.ski or something? I can't see anything new in hand_orb.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 01:26:18
    the new code is at the bottom

    2 new sprites and a new script

    did you try loading it yet?


    edit:
    my guess is that you accidentally saved the .ski as a txt file


    ---
    btw, i am really working hard on my dragBar script

    to make it

    - easy to undertand (with usage guidelines)
    - more efficient to use
    - less bugs
    - very re-usable
    - horizontal/vertical modes
    - able to support custom graphics & grips, or else work in 'fill mode'

    this might become the essential dragbar/slider
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-09 01:47:45
    I have no idea what caused it, but it works now.
    I think I need to get some sleep soon... 
    Title: foo_looks 2.0 (RC1)
    Post by: wanked on 2004-02-09 03:44:14
    Quote
    Quote
    Quote
    b nice if somebody redid the coal skin, in my opinon thats the best toolbar like skin

    If you talk about this one:

    thx docuk, any idea when its gonna b done?

    this is crazy, i didnt visit this thread in 1 day and 6pages r added when i get back lol

    btw think we need a new thread hehe

    btw when will this http://www.barciaonline.com/aural/foobarlo...foobarlooks.htm (http://www.barciaonline.com/aural/foobarlooks/foobarlooks.htm) site b updated?
    Title: foo_looks 2.0 (RC1)
    Post by: atici on 2004-02-09 04:40:18
    Yes I agree. Could you start a new thread for new 2.1 skins (advertisement) and use this thread for developers/technical issues? That would me more efficient for everyone.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 09:26:04
    anza,

    danZ discovered what was causing the sticky bug that causes your orb skin to skip/repeat after you'd hovered over the progBar


    it was partly a bug, and partly my fault, as i left a line of code in hand_orb.ski that shouldn't be there, and it seems you copied that same problem into your own skin


    the line of code in question is setting bool enabled false as a global variable

    Code: [Select]
    section globals
    bool enabled false
    ...


    'hand orb' didn't have any enabled sprites, but i forgot background had to be enabled for 'draglook' to respond.

    the bug was that it was still responding, despite inheriting it's disabled setting from the globals

    the best way to fix it is to add bool enabled true to the background sprite

    Code: [Select]
    sprite background
    bool enabled true
    ....


    --

    as for the bug - it's not a serious problem, but here is an updated build of the plugin that fixes it

    foo_looks 2.1 beta3 (http://www.btinternet.com/~sean.m.kelly/foo_looks_2.1_beta3.zip)
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-09 11:13:24
    Quote
    Quote
    Quote
    Quote
    b nice if somebody redid the coal skin, in my opinon thats the best toolbar like skin

    If you talk about this one:

    thx docuk, any idea when its gonna b done?

    this is crazy, i didnt visit this thread in 1 day and 6pages r added when i get back lol

    btw think we need a new thread hehe

    btw when will this http://www.barciaonline.com/aural/foobarlo...foobarlooks.htm (http://www.barciaonline.com/aural/foobarlooks/foobarlooks.htm) site b updated?

    I will post it today, probably. It is actually a remake of my earlier look Carbon, which was based on Coal. I posted a screenshot of the skin in progress earlier in the thread.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-09 11:34:36
    Just wanted to post this script for people with the same problem.

    This script puts you in control over what is displayed and when. It solves the problem of the playlist indexes by manually replacing the TagZ before formatting the nowplaying info against the spec.

    This works well:

    Code: [Select]
    section presets
    string songinfospec "%_playlist_number%. [%artist% - ]$if(%title%,%title% ['['%album%[ #$num(%tracknumber%,2)]']'],%_filename%) ['('$upper($ext(%_filename_ext%))@%__bitrate%kbps')']"

    lua songinfo
      function updateText(this)
         index = fb2k_getNowPlaying()

         if (index < 0) then
            if (fb2k_playlistGetCount() == 0) then
               look_setText(this, "[Playlist Empty]")
               return
            else
               index = fb2k_playlistGetFocus()

               if (index < 0) then
                  look_setText(this, "[Nothing Selected]")
                  return
               end
            end
         end

         spec = gsub(look_getValue("presets", "songinfospec"), "%%_playlist_number%%", index + 1)
         text = fb2k_formatTitle(index, spec, nil)

         look_setText(this, text)
      end

      function onattach(this)
         updateText(this)
      end

      function onplaybacknewtrack(this)
         updateText(this)
      end
    endlua

    sprite songinfo
    ...
    list scripts string { "songinfo"}
    Title: foo_looks 2.0 (RC1)
    Post by: mobyduck on 2004-02-09 12:08:10
    First off my apologies for asking such a stupid question (trying to make the most of the growing interest in foo_looks ).

    I was wondering if it is possible to code a button to open a separate/sliding window and display a specific tag of the currently playing song.

    I have many MP3s tagged with %lyrics% and... well I guess you understand what I'm after .

    Alessandro
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 12:21:32
    Quote
    First off my apologies for asking such a stupid question (trying to make the most of the growing interest in foo_looks ).

    I was wondering if it is possible to code a button to open a separate/sliding window and display a specific tag of the currently playing song.

    I have many MP3s tagged with %lyrics% and... well I guess you understand what I'm after .

    Alessandro

    yes

    this is very possible - and would be a great idea for a custom skin

    why don't you draw a concept sketch on paper or with graphics software

    ---
    btw, no question is too stupid

    i will gladly answer any questions from beginner to advanced, even if we've covered it before

    DocUK, thanks for posting the script - i'll try it out soon

    perhaps we should start a foo_looks LUA script thread for more like this
    Title: foo_looks 2.0 (RC1)
    Post by: anza on 2004-02-09 13:16:43
    tk32, thanks for solving the problem!
    New version is downloadable at the same location (http://koti.mbnet.fi/antsau/foobar2000/orb.zip).
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-09 13:20:43
    I use TextPad as my editor, and I just wondered if anyone has made a syntax highlighting file they want to share? It's ok if it's not originally made for TextPad, as long as it is readable text in it. I thought I could save myself some time by asking before starting on one myself.

    Btw: I quite like TextPad, but I'm open to other suggestions. I have a student license for TextPad, and I might be able to get one for other editors too, but freeware recommandations would be the easiest.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 13:25:09
    Quote
    I use TextPad as my editor, and I just wondered if anyone has made a syntax highlighting file they want to share? It's ok if it's not originally made for TextPad, as long as it is readable text in it. I thought I could save myself some time by asking before starting on one myself.

    Btw: I quite like TextPad, but I'm open to other suggestions. I have a student license for TextPad, and I might be able to get one for other editors too, but freeware recommandations would be the easiest.

    i was using ultraedit

    i modified the C syntax highlighting for foo_looks + LUA syntax

    is textpad better? i don't know it
    Title: foo_looks 2.0 (RC1)
    Post by: mobyduck on 2004-02-09 13:56:16
    Quote
    why don't you draw a concept sketch on paper or with graphics software

    Thanks for taking time to reply.

    Unfortunately my graphics skills (both on paper and on computer) are below zero.

    I'm going to try and describe with my poor English what I imagine.I hope this is enough to get you going .

    Alessandro
    Title: foo_looks 2.0 (RC1)
    Post by: mobyduck on 2004-02-09 14:00:01
    Quote
    I use TextPad as my editor

    TextPad rulez! .

    Alessandro
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 14:03:43
    ok

    i've installed textpad

    and i'll work on a syntax highlighting file for .ski files
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-09 14:24:01
    Quote
    ok

    i've installed textpad

    and i'll work on a syntax highlighting file for .ski files

    I hope you didn't think I expected you to install TextPad to make a syntax highlighting file? 
    I don't really know any other editors, but TextPad's "Clip Library" is something I find quite useful. All my Tagz editing was made alot easier with "Clip Library" and syntax highlighting.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-09 14:49:44
    Tom, check your e-mail.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 14:52:08
    no

    it's cool

    i'm interested in finding the ideal editing suite for it too


    perhaps if you have more experience with textpad you can help me get started on a syntax highlighting file

    then i can add the missing parts


    (http://www.btinternet.com/~sean.m.kelly/highlight_demo.gif)


    EDIT:
    got 'this' to highlight now
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-09 16:16:58
    New look available: Carbon (http://www.btinternet.com/%7Esean.m.kelly/carbon.rar) by DocUK



    DocUK
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-09 17:34:41
    A foo_looks syntax highlighting file for TextPad (http://www.stud.ntnu.no/~mortek/foobar2000/foobar2000(foo_looks).syn) I threw together. I don't really know alot about such files or programming in general, but it seems to work ok.

    If you do corrections or improve it, please share it so that we all can benefit from it

    Btw: v.4.7 (or later) of TextPad may be required to use it.

    Edit: Updated! Corrected a mistake I made in the first version.
    Edit2: Updated! Added some more words and did some sorting.
    Edit3: Updated! Minor update, just a few words.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 17:39:32
    excellent work!!

    i'll fill in the missing pieces


    i have 1 problem though.

    i am using 4.7.1 and i can only seem to set colors for the keywords 1-6

    i can't set a color for keywords 7 & 8 in the list you sent me
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-09 18:07:26
    Quote
    excellent work!!

    i'll fill in the missing pieces


    i have 1 problem though.

    i am using 4.7.1 and i can only seem to set colors for the keywords 1-6

    i can't set a color for keywords 7 & 8 in the list you sent me

    You're right, I was a little too fast there. I have uploaded it again after rearranging a little.

    Btw: I guess TagZ may be redundant as they will always (?) be inside quotes and be treated as strings, but I left them there.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-09 18:24:40
    i'm doing some rearranging too

    i might rename mine so we can have two alternative highlighting methods

    thanks for pasting in all the reserved words


    EDIT:
    i'm having lots of fun trying to code the ultra progressbar

    should have a test version with usage guide ready soon
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-10 01:10:36
    Isn't it possible to access the two last values of a 'srcoff'? Like '9' and '15' below
    Code: [Select]
    list srcoff int { 318 2 9 15 }

    I want to use them to set Width and Height...
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 02:00:23
    Quote
    Isn't it possible to access the two last values of a 'srcoff'? Like '9' and '15' below
    Code: [Select]
    list srcoff int { 318 2 9 15 }

    I want to use them to set Width and Height...

    srcoff stands for 'source offset' and is only 2 values

    Code: [Select]
    list srcoff int { srcX srcY }



    width & height are set in the rect



    or else you can use the old 1.0 method of setting dimensions

    Code: [Select]
    int x 1
    int y 2
    int width 20
    int height 30
    int srcX 150
    int srcY 100
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-10 02:11:46
    @tk32: Thanks, I don't know when I started doing that stupid thing, but I remember that I didn't do it when I first started playing with LUA. I have kind of been consistently setting height and width two times for each sprite.

    I'm starting to enjoy this now, but I still have a long way to go.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 02:19:53
    Quote
    @tk32: Thanks, I don't know when I started doing that stupid thing, but I remember that I didn't do it when I first started playing with LUA. I have kind of been consistently setting height and width two times for each sprite.

    I'm starting to enjoy this now, but I still have a long way to go.


    scripting is extremely fun

    just the right level of simplcity & challenging logic problem-solving


    filling in the values for rects & srcoff can be very dull though
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 03:08:49
    here's Mark I of my super progress bar:

    tk32_progBar_Mk1.ski (http://www.btinternet.com/~sean.m.kelly/tk32_progBar_Mk1.ski)

    [span style='font-size:8pt;line-height:100%'](note: this is not a skin, only a script)[/span]

    EDIT: 3rd UPDATE - changed onupdate()

    improved the update algorithm:

    Code: [Select]
        function onupdate(this)
     if sliding == true and not fb2k_isStopped() then
         followCursor(this)
     elseif fb2k_isPlaying() then
         setBarPercent(this, getTimePercent(this))
     end
        end

    ---
    many features still not added, but it's very stable so far

    it's the first progress script to work with or without a grip

    current features:next features to be added:---
    you can either copy & paste into your skins, or else place it in the foo_looks dir and import it when you want to use it

    usage instructions contained in the file


    i hope the text instructions make sense to everybody

    if not, let me know
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-10 03:09:46
    Quote
    filling in the values for rects & srcoff can be very dull though

    This is the part I've been working on. I made a lua script that places buttons relatively to each other. It worked fine with my playback buttons, but not with my playlist entries. They look like they used to, but I can only double click to play the first track, the others doesn't react anymore. I think all my playlist code is from your "micropanel". Do you have any idea what can cause such behaviour?
    Title: foo_looks 2.0 (RC1)
    Post by: desigrid on 2004-02-10 09:31:49
    Is there a way to script a look to be activated (brought to front) together with fb2k?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 13:23:57
    Quote
    Is there a way to script a look to be activated (brought to front) together with fb2k?

    possibly

    although it would have to keep checking fb2k status 15 times per second

    this is not very efficient

    let's see if danZ can think of a better solution


    ---
    Updated my uber progress bar script (http://www.hydrogenaudio.org/forums/index.php?showtopic=17279&view=findpost&p=182860)
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-10 14:54:53
    Heh, the sets and gets, and the prev stuff is mine. So are the isPlaying and isStopped functions  Just getting the credit I deserve.

    *bows* 
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-10 14:56:24
    Quote
    Is there a way to script a look to be activated (brought to front) together with fb2k?

    There are no main UI callbacks/notifications of any kind to speak of in the foobar SDK so the only option is as tk32 suggested - to poll the main UI window status and then bringing the look window to the top.  You could do this in

    function onupdateplayerstatus(this)

    which is only called twice per second or use onupdate() but only check 1 time per second (every 15th call).
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 14:57:37
    Quote
    Heh, the sets and gets, and the prev stuff is mine. So are the isPlaying and isStopped functions  Just getting the credit I deserve.

    *bows* 

    yes

    sorry DocUK

    i did get some great ideas from your work

    .. as we all do from each other


    i'll credit you in the comments
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-10 15:01:28
    danZ, I think it's time for a proper look selection tool in the Preferences dialog.

    You could have the look fetch the information from the lookinfo section, maybe add a string to the section, so authors could add a screenshot to their looks which could be shown in the look browser/selection tool.

    Also, how about using zlib to have each look in just one file. I also think the whole primary, secondary, swap interface isn't very intuitive, and I could probably come up with some suggestions for this as well.

    You rule 
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 15:02:08
    Quote
    Quote
    Is there a way to script a look to be activated (brought to front) together with fb2k?

    There are no main UI callbacks/notifications of any kind to speak of in the foobar SDK so the only option is as tk32 suggested - to poll the main UI window status and then bringing the look window to the top.  You could do this in

    function onupdateplayerstatus(this)

    which is only called twice per second or use onupdate() but only check 1 time per second (every 15th call).

    by using a little hack, you can delay onupdate by any degree

    Code: [Select]
    lua slowUpdate

    count = 0
    delay = 5

     function onupdate(this)
         if count == delay then
             ..insert code here...
             count = 0
         else
             count = count + 1
         end
     end

    endlua


    set the value of delay to the number of frames to wait before updating

    examples of delay:
    0 = 15 times per second
    4 = 3 times per second
    14 = 1 time per second
    29 = once every 2 seconds
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-10 15:11:50
    Quote
    danZ, I think it's time for a proper look selection tool in the Preferences dialog.

    You could have the look fetch the information from the lookinfo section, maybe add a string to the section, so authors could add a screenshot to their looks which could be shown in the look browser/selection tool.

    Also, how about using zlib to have each look in just one file. I also think the whole primary, secondary, swap interface isn't very intuitive, and I could probably come up with some suggestions for this as well.

    You rule 

    Ah, good to know I have project manager - now if I just had some more programmers on my staff

    All kidding aside, all of these things have been planned and discussed for quite some time and it is just a matter of me having time to work on it (I have to hold a real job to support my foobar habits...)

    I've always intended to have a visual look browser and that is why "section lookinfo" has been around since v 0.1 of the software.  It would be easy enough to add "string screenshot " etc. into there and make the browser more robust.

    .zip, .rar, etc. support has been on the wish/to do list for a long time.

    The primary/seconday and swap feature doesn't really even make sense anymore since it was primarily added to allow swapping between two related looks, say a big version and small version of the same look.  With lua support this is no longer needed since the looks can dynamically change as needed.  I'm in favor of removing all of this legacy stuff.

    There are a lot of things that can still be added and as long as it remains fun and people remain interested in it I'll keep working on it.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 15:14:46
    Quote
    danZ, I think it's time for a proper look selection tool in the Preferences dialog.

    You could have the look fetch the information from the lookinfo section, maybe add a string to the section, so authors could add a screenshot to their looks which could be shown in the look browser/selection tool.

    Also, how about using zlib to have each look in just one file. I also think the whole primary, secondary, swap interface isn't very intuitive, and I could probably come up with some suggestions for this as well.

    You rule 

    it's ironic

    because i was just about to say it was time for danZ to take a break

    we've reached a stage where there is much depth and scope for skin development already - there is no need to continue pressing the lone developer for aesthetic changes to the preferences page etc..


    if we find bugs that prevent our skins from working, then let danZ know - but otherwise, i think it's time he was allowed a little break

    it's time the rest of us put some work into it, to show our appreciation
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-10 15:20:09
    Concerning credits:
    As the way to learn this is pretty much by looking at others peoples code, I think credits will be a problem no matter what.
    If I should keep track of the origin of every bit of code, I doubt that I would be able to do anything but that. I'll try to give everyone (that I can remeber) credits in the end (when I release something).

    Then to the mandatory question:
    I don't really know how to ask it, but I'll try:
    In what sequence is the code executed? Is timing, a problem? Can it turn into a "race" (the hardware word for it IIRC)?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 15:28:31
    Quote
    Concerning credits:
    As the way to learn this is pretty much by looking at others peoples code, I think credits will be a problem no matter what.
    If I should keep track of the origin of every bit of code, I doubt that I would be able to do anything but that. I'll try to give everyone (that I can remeber) credits in the end (when I release something).

    Then to the mandatory question:
    I don't really know how to ask it, but I'll try:
    In what sequence is the code executed? Is timing, a problem? Can it turn into a "race" (the hardware word for it IIRC)?

    if i understand your question correctly

    foo_looks is interpreted in a cascding fashion

    sprites earlier in the ski are drawn before sprites further down in the code

    as for the sprites themselves, they are drawn in the sequence set in their rendermap

    changing the layer ('int layer') on a sprite will disrupt the flow. the sprites will be drawn in order according to their layers

    as for the scripts, i think they are each interpreted when first attached


    this is just guess work based on my experience coding skins - you'll need to wait for a reply from the creator for the definitive word

    is this the sort of question you were asking??


    ----
    btw, i don't ever expect to see credits to me in your looks - that isn't my aim

    i just want you all to be comfortable in making great skins

    everybody is welcome to use and modify any/all of my code, and even my graphics
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-10 15:31:35
    Quote
    Quote
    danZ, I think it's time for a proper look selection tool in the Preferences dialog.

    You could have the look fetch the information from the lookinfo section, maybe add a string to the section, so authors could add a screenshot to their looks which could be shown in the look browser/selection tool.

    Also, how about using zlib to have each look in just one file. I also think the whole primary, secondary, swap interface isn't very intuitive, and I could probably come up with some suggestions for this as well.

    You rule 

    Ah, good to know I have project manager - now if I just had some more programmers on my staff

    All kidding aside, all of these things have been planned and discussed for quite some time and it is just a matter of me having time to work on it (I have to hold a real job to support my foobar habits...)

    I've always intended to have a visual look browser and that is why "section lookinfo" has been around since v 0.1 of the software.  It would be easy enough to add "string screenshot " etc. into there and make the browser more robust.

    .zip, .rar, etc. support has been on the wish/to do list for a long time.

    The primary/seconday and swap feature doesn't really even make sense anymore since it was primarily added to allow swapping between two related looks, say a big version and small version of the same look.  With lua support this is no longer needed since the looks can dynamically change as needed.  I'm in favor of removing all of this legacy stuff.

    There are a lot of things that can still be added and as long as it remains fun and people remain interested in it I'll keep working on it.

    If you really want it, I can help  I'm a professional developer (games, web), years of C++ experience amongst others. I assume a resumé won't be needed, considering no payment is involved... I have an inkling that you'd rather work on foo_looks alone, however 
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-10 15:32:18
    Quote
    Concerning credits:
    As the way to learn this is pretty much by looking at others peoples code, I think credits will be a problem no matter what.
    If I should keep track of the origin of every bit of code, I doubt that I would be able to do anything but that. I'll try to give everyone (that I can remeber) credits in the end (when I release something).

    Then to the mandatory question:
    I don't really know how to ask it, but I'll try:
    In what sequence is the code executed? Is timing, a problem? Can it turn into a "race" (the hardware word for it IIRC)?

    I think if someone gives you a lot of help with something or you make a derivative script/look from someone elses work then give them a little credit in the forum but I agree that we don't need to go crazy with this.  Afterall the goal is to just make foo_looks and the looks as good as they can be and for people to enjoy making them.

    Now, concerning timing.

    Scripts are called on the sprites in the order of the sprite layering "int layer N" or look_setLayer(N).  If you don't use either of those then all sprites are on the same layer and ordered as they appear in the .ski file.  There is really no chance for a race condition but there is opportunity for infinite loops, recursions, etc. that would make foobar2000 hang or crash.  Also, there are some cases where you can crash foobar by sending bad parameters to functions.  I'll try to add more parameter checking as we go.
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-10 15:40:11
    Quote
    as for the scripts, i think they are each interpreted when first attached

    is this the sort of question you were asking??

    This is a good point.

    The scripts are fully interpreted right after the .ski file is fully processes and all sprites have been created.  Also, at this time is when "onattach()" is called and any global calls you have in a lua block will be executed.  I checked the code and the sprite last has not been sorted yet based on the layering when this is done so the "onattach" calls will be in the order of the sprites in the .ski file.

    From that point on functions are called "onupdate, onplaybackstop" on each sprite from the sorted (by layer) list.

    function events such as "onmouseenter", etc. will be called as they occur on each sprite that the event applies to but again that subset will be ordered by layer.
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-10 15:54:48
    Quote
    I have an inkling that you'd rather work on foo_looks alone, however 

    As far as modifying and maintaining the code, yes, I'd prefer to do that alone.

    If you'd like to contribute I'd suggest the following.

    1. research zlib, rar, other and find one that is robust from the API side and from client side tools.  We pretty much know the answer here already.
    2.  Wade though the source code, samples, etc. and find a good good C++ wrapper that would provide the functionality we'd need for foo_looks.

    I'd like to be able to decompress directly to a memory block vs. a physical disk file so this will take additional research to figure out how to feed GDI+ the memory file since it primarily deals with disk files in its image APIs.

    3.  If a good wrapper doesn't exist, design one and create a sample application showing how to use it.

    Once that is done then I could (if the C++ wrapper is well designed) just drop that into foo_looks.
    Title: foo_looks 2.0 (RC1)
    Post by: addicted on 2004-02-10 16:53:51
    I just started using Looks, and cant seem to figure out how to get the album art to be displayed. Could someone please let me in on this? I have a feeling it's something incredibly obvious.....

    TIA
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-02-10 18:03:08
    i'm trying to make an led toggle switch on my skin for always on top..

    the sprites are working correctly, but i can't get the button to actually work..
    (tk32 has probably already done what i'm trying to do since he's helping me out with my skin [thx tk  _o/\_ ] but i'm trying to learn how to do stuff myself)

    anyway here's what i have

    Code: [Select]
    sprite alwaysontopled
    list rect int { 114 60 12 12 }
    list srcoff int { 448 0 }
    list statemap int { 3 0 1 1 3 2 2 2 2 3 }
    list scripts string { "toggle[target=look_aot()]" }


    (the toggle script is from micropanel_common.ski, i don't know if i used the right syntax for it..)

    and i get this error when i click the toggle:

    ERROR (foo_looks) : attempt to perform arithmetic on local `current' (a nil value)

    a little help?

    thanks,
    bogs


    edit: i also have a problem with my exit button.. i used the code from micropanel_common.ski on it as well..

    Code: [Select]
    sprite exitbutton
    list rect int { 300 1 14 6 }
    list srcoff int { 364 63 }
    list statemap int { 0 1 2 2 0 0 1 2 2 0 }
    // Causes Crash//list scripts string { "[function onleftbuttonup(this) fb2k_menuCommand('Foobar2000/Exit') end]" }


    ideas?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 18:14:53
    Quote
    i'm trying to make an led toggle switch on my skin for always on top..

    the sprites are working correctly, but i can't get the button to actually work..
    (tk32 has probably already done what i'm trying to do since he's helping me out with my skin [thx tk  _o/\_ ] but i'm trying to learn how to do stuff myself)

    anyway here's what i have

    Code: [Select]
    sprite alwaysontopled
    list rect int { 114 60 12 12 }
    list srcoff int { 448 0 }
    list statemap int { 3 0 1 1 3 2 2 2 2 3 }
    list scripts string { "toggle[target=look_aot()]" }


    (the toggle script is from micropanel_common.ski, i don't know if i used the right syntax for it..)

    and i get this error when i click the toggle:

    ERROR (foo_looks) : attempt to perform arithmetic on local `current' (a nil value)

    a little help?

    thanks,
    bogs

    i havn't had a chance to do your toggle code yet, but i can tell you what you are doing wrong so far.

    the 'customized' toggle script i wrote for micropanel allows you to set a target that will be toggled [span style='font-size:8pt;line-height:100%'](instead of the sprite you are clicking)[/span]

    this was something i found useful, and the benefit of it was that you could make a button in one area of the skin toggle something in another part of the skin.
    a typical example would be a small button that toggles the time display from elapsed time to remaining time

    an example of this would be like so:

    Code: [Select]
    sprite timeDisplay
    list rect int { 54 80 102 22 }
    string fspec "$ifgreater(%_istoggled%,0,-%rtm%,%etm%)"

    sprite toggleButton
    list rect int { 114 60 12 12 }
    list srcoff int { 448 0 }
    list scripts string { "toggle[target=timeDisplay]" }


    [span style='font-size:8pt;line-height:100%']note:
    %etm% = elapsed time in minutes
    %rtm% = remaining time in minutes[/span]

    if you leave the target as blank, like this:

    Code: [Select]
    list scripts string { "toggle[target=timeDisplay]" }


    it will simply toggle the sprite you are clicking

    ---
    unfortunately, you can't make the toggle script trigger a function [span style='font-size:8pt;line-height:100%'](look_aot())[/span] by setting it as the target, although i can understand your logic.

    to do this, you will need to write a little script called something like toggleAOT


    hope this has cleared a few things up

    ---
    edit: as for the crash when using the menu command 'exit' - danZ is investigating it.
    it's because of the changes made to the menus in 0.8 beta, and you'll notice that it also causes crashes in the micropanel skin.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 18:33:55
    Quote
    I just started using Looks, and cant seem to figure out how to get the album art to be displayed. Could someone please let me in on this? I have a feeling it's something incredibly obvious.....

    TIA

    the easiest way to add album art is like this:

    [span style='font-size:14pt;line-height:100%']1. [/span]import the foo_looks_common.ski scripts

    Code: [Select]
    import foo_looks_common.ski


    [span style='font-size:14pt;line-height:100%']2. [/span]add an albumart sprite, and attach the albumartDisplay script with default settings

    Code: [Select]
    sprite albumart
    list rect int { 20 50 55 55 }
    list scripts string { "albumartDisplay" }

    now it will succesfully display the albumart, but only if the jpg is correctly named

    [span style='font-size:14pt;line-height:100%']3. [/span]add these search patterns anywere in the .ski to use a more relaxed search method

    Code: [Select]
    string search1 "*front*"
    string search2 "*cover*"
    string search3 "*back*"
    string search4 "*cd*"
    string search5 "*"


    let me know if this doesn't work, as i wrote this post from memory
    Title: foo_looks 2.0 (RC1)
    Post by: AngelGR on 2004-02-10 20:07:59
    @DocUK:
    Quote
    If you really want it, I can help  I'm a professional developer (games, web), years of C++ experience amongst others.

    Yes, we want and we need help, at least me. The release of the new foo_looks 2.x is a good moment for develop a new foobarlooks site, but I don't have time and knowledge enough for do it myself. 
    So help, please!

    PD.- I always saw this web as a good reference: www.1001winampskins.com
    Title: foo_looks 2.0 (RC1)
    Post by: GoWaN on 2004-02-10 20:54:06
    Quote
    New look available: Carbon (http://www.btinternet.com/%7Esean.m.kelly/carbon.rar) by DocUK



    DocUK

    Many thanks DocUK, I made a little modification of font, silkscreen looks good but lacks unicode support .
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-10 21:15:38
    I can't figure out how to get rid of all decimals that is returned from
    look_measureTextAbs(sprite).width
    I want a number without decimals, would that mean turning it into an "int"?

    Anyone?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 21:26:26
    Quote
    I can't figure out how to get rid of all decimals that is returned from
    look_measureTextAbs(sprite).width
    I want a number without decimals, would that mean turning it into an "int"?

    Anyone?

    post that section of your code please

    when coding my textscroll script, i rounded up to the next whole number

    Code: [Select]
    wholeNumber = ceil(1.2354364)


    that results in 2

    you can also use floor() to round down
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-10 22:53:29
    @tk32: Thanks, I'll try that.

    Btw: Where can I find info about ceil(), floor() and all the other such things I don't know about? I know what ceil() and floor() do, but I don't know what is supported by foo_looks...
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-10 22:03:36
    Quote
    @tk32: Thanks, I'll try that.

    Btw: Where can I find info about ceil(), floor() and all the other such things I don't know about? I know what ceil() and floor() do, but I don't know what is supported by foo_looks...

    ceil & floor are part of the math library that is included with LUA

    http://lua-users.org/wiki/TutorialDirectory (http://lua-users.org/wiki/TutorialDirectory)

    here are some general tutorials [span style='font-size:8pt;line-height:100%'](check the math library tut for more like ceil & floor)[/span]

    note that these tutorials are meant for LUA 5, whereas we use 4.0

    however, most things work

    ---
    i found a list of all the supported functions in lua 4.0 (although i can't find a list of definitions)

    [span style='font-size:8pt;line-height:100%']arg, self, PI, _ALERT, _ERRORMESSAGE, _INPUT, _OUTPUT, _STDERR, _STDIN, _STDOUT, _VERSION, abs, acos, appendto, ascii, asin, assert, atan, atan2, call, ceil, clock, closefile, collectgarbage, copytagmethods, cos, date, debug, deg, dofile, dostring, error, execute, exit, exp, floor, flush, foreach, foreachi, foreachvar, format, frexp, gcinfo, getargs, getenv, getglobal, getinfo, getlocal, getn, gettagmethod, globals, gsub, ldexp, log, log10, max, min, mod, newtag, next, nextvar, openfile, print, rad, random, randomseed, rawget, rawgetglobal, rawgettable, rawset, rawsetglobal, rawsettable, read, readfrom, remove, rename, seek, setcallhook, setglobal, setlinehook, setlocal, setlocale, settag, settagmethod, sin, sort, sqrt, strbyte, strchar, strfind, strlen, strlower, strrep, strsub, strupper, tag, ,tan ,tinsert, tmpname, tonumber, tostring, tremove, type, write, writeto[/span]
    Title: foo_looks 2.0 (RC1)
    Post by: foosion on 2004-02-10 22:45:53
    Quote
    i found a list of all the supported functions in lua 4.0 (although i can't find a list of definitions)

    Reference manuals for all released versions of Lua can be found here: http://www.lua.org/manual/ (http://www.lua.org/manual/)
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-10 22:47:24
    Quote
    Quote
    @tk32: Thanks, I'll try that.

    Btw: Where can I find info about ceil(), floor() and all the other such things I don't know about? I know what ceil() and floor() do, but I don't know what is supported by foo_looks...

    ceil & floor are part of the math library that is included with LUA

    http://lua-users.org/wiki/TutorialDirectory (http://lua-users.org/wiki/TutorialDirectory)

    here are some general tutorials [span style='font-size:8pt;line-height:100%'](check the math library tut for more like ceil & floor)[/span]

    note that these tutorials are meant for LUA 5, whereas we use 4.0

    however, most things work

    ---
    i found a list of all the supported functions in lua 4.0 (although i can't find a list of definitions)

    [span style='font-size:8pt;line-height:100%']arg, self, PI, _ALERT, _ERRORMESSAGE, _INPUT, _OUTPUT, _STDERR, _STDIN, _STDOUT, _VERSION, abs, acos, appendto, ascii, asin, assert, atan, atan2, call, ceil, clock, closefile, collectgarbage, copytagmethods, cos, date, debug, deg, dofile, dostring, error, execute, exit, exp, floor, flush, foreach, foreachi, foreachvar, format, frexp, gcinfo, getargs, getenv, getglobal, getinfo, getlocal, getn, gettagmethod, globals, gsub, ldexp, log, log10, max, min, mod, newtag, next, nextvar, openfile, print, rad, random, randomseed, rawget, rawgetglobal, rawgettable, rawset, rawsetglobal, rawsettable, read, readfrom, remove, rename, seek, setcallhook, setglobal, setlinehook, setlocal, setlocale, settag, settagmethod, sin, sort, sqrt, strbyte, strchar, strfind, strlen, strlower, strrep, strsub, strupper, tag, ,tan ,tinsert, tmpname, tonumber, tostring, tremove, type, write, writeto[/span]

    Lua 4.0 Official Reference Manual (http://www.lua.org/manual/4.0/)

    Chapter 4 for general language syntax (operators, structures, etc)

    Chapter 6 for function reference (math, strings, etc)
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-10 22:49:20
    Quote
    Quote
    New look available: Carbon (http://www.btinternet.com/%7Esean.m.kelly/carbon.rar) by DocUK



    DocUK

    Many thanks DocUK, I made a little modification of font, silkscreen looks good but lacks unicode support . 

    How many people speak Spanish anyways? I think we both know the answer is negligible

    Font settings are all collected under globals for easy modification.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-11 01:04:19
    i've made a jumbo demo skin that demonstates:since both of these subjects have been raised by users recently

    i also included a script called toggleMeta which is like the one i advised bogsnarth to attempt

    NOTE:
    this is not a proper skin - just a demonstration of some features that some users have been confused about.
    --



    i have a few challenges for you budding new designers that are of varying difficulty [span style='font-size:8pt;line-height:100%'](pick the one that seems most fun)[/span]:

    easymediumhard
    Title: foo_looks 2.0 (RC1)
    Post by: wanked on 2004-02-11 03:58:13
    Quote
    Quote
    New look available: Carbon (http://www.btinternet.com/%7Esean.m.kelly/carbon.rar) by DocUK



    DocUK

    Many thanks DocUK, I made a little modification of font, silkscreen looks good but lacks unicode support . 

    where can i find the latest version?

    thx docuk, i tried out ur skin b4 on foo looks 1 but it wasnt compatible so i switched to coal hehe
    btw can u make it so that right click closes foobar2000 on the close button like in coal?
    also is it possible for user to fix the crash problem with foobar2000 with the old gui if they still want to use the old skins?
    also dockuk is there a way to make it display the amount of time its been playing instead of remaining time? whenever i load the skin it always starts displaying remaining time
    Title: foo_looks 2.0 (RC1)
    Post by: desigrid on 2004-02-11 06:48:48
    Quote
    Quote
    Is there a way to script a look to be activated (brought to front) together with fb2k?

    There are no main UI callbacks/notifications of any kind to speak of in the foobar SDK so the only option is as tk32 suggested - to poll the main UI window status and then bringing the look window to the top.


    Thanks danZ & tk32. Beginning to understand foo_looks more now. However, I can't seem to find suitable functions to 1) poll the main UI window's status and 2) bring to look window to top.

    For 1) the best I could find was fb2k_uiIsActivated(). This only detects if fb2k is minimised to tray or not. Are there any other related functions that will allow me to detect if the main window is in focus?

    For 2) I could only use look_hide() to de-activate a look but not a look_show() or something similar to activate it?

    Anyway, just like to mention that you guys are doing a great job with foo_looks. Really appreciate it
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-11 09:27:55
    Quote
    Quote
    Quote
    New look available: Carbon (http://www.btinternet.com/%7Esean.m.kelly/carbon.rar) by DocUK



    DocUK

    Many thanks DocUK, I made a little modification of font, silkscreen looks good but lacks unicode support . 

    where can i find the latest version?

    thx docuk, i tried out ur skin b4 on foo looks 1 but it wasnt compatible so i switched to coal hehe
    btw can u make it so that right click closes foobar2000 on the close button like in coal?
    also is it possible for user to fix the crash problem with foobar2000 with the old gui if they still want to use the old skins?
    also dockuk is there a way to make it display the amount of time its been playing instead of remaining time? whenever i load the skin it always starts displaying remaining time

    Download the skin here (http://www.btinternet.com/%7Esean.m.kelly/carbon.rar).

    It wasn't compatible? You probably didn't install the font correctly.

    I will change it so left button causes it to close foobar2000, and right button just closes the look. I will post here when I release the new version.

    To show playing time instead of remaining time, just click the time indicator - It toggles between the two

    Finally, I don't understand what you mean by fixing crash problems? foo_looks version 1 should work just fine with foobar2000.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-11 11:33:11
    Quote
    also is it possible for user to fix the crash problem with foobar2000 with the old gui if they still want to use the old skins?


    old skins are not compatible with foo_looks 2.0

    they have to be updated, like docuk has done with carbon, for them to work
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-11 11:38:16
    Quote
    Quote
    Quote
    Is there a way to script a look to be activated (brought to front) together with fb2k?

    There are no main UI callbacks/notifications of any kind to speak of in the foobar SDK so the only option is as tk32 suggested - to poll the main UI window status and then bringing the look window to the top.


    Thanks danZ & tk32. Beginning to understand foo_looks more now. However, I can't seem to find suitable functions to 1) poll the main UI window's status and 2) bring to look window to top.

    For 1) the best I could find was fb2k_uiIsActivated(). This only detects if fb2k is minimised to tray or not. Are there any other related functions that will allow me to detect if the main window is in focus?

    For 2) I could only use look_hide() to de-activate a look but not a look_show() or something similar to activate it?

    Anyway, just like to mention that you guys are doing a great job with foo_looks. Really appreciate it 

    i think i discussed this with danZ before, and he said that PeterP didn't put any features into the API that told the plugin developers if the fb2k window was in focus or not

    at the moment, we just have the bool you discovered: fb2k_isUiActivated

    perhaps there is something in the new 0.8 sdk that will help

    you'll need to wait for a reply from danZ first though.
    Title: foo_looks 2.0 (RC1)
    Post by: desigrid on 2004-02-11 14:24:39
    Quote
    i think i discussed this with danZ before, and he said that PeterP didn't put any features into the API that told the plugin developers if the fb2k window was in focus or not

    at the moment, we just have the bool you discovered: fb2k_isUiActivated

    perhaps there is something in the new 0.8 sdk that will help

    you'll need to wait for a reply from danZ first though.

    Alright, actually fb2k_UIisActivated() works fine for the moment. But what about activating a hidden look? As mentioned, I can do a look_hide() to hide a look, but can't find a function to activate it.

    ---
    Edit: You can disregard this question. I've found that it is more efficient to use look_setVisible(sprites,[true/false]), where sprites is an array of sprites I wish to show/hide.

    I'm saying this because I've found that CPU usage remains high if I use look_hide() to 'un-activate' a look that uses the CPU intensively. However, if I use look_setVisible(sprites,[true/false]), the CPU usage actually decreases.

    I tested by using 'sprite spectrum', which uses a considerable amount of CPU which can be monitored using Task Manager.

    However, this only works if a look is 'Always on top'. If not, there is always the possibility that the look is hidden behind other windows. So my first question still remains (through this discussion, I got confused between showing a look and bring it to the top): is there a function to bring a look to the top?

    If it interests you danZ, perhaps you might want to look into ignoring all drawing when a look is 'un-activated'; it doesn't seem efficient to use CPU cycles when a look is un-activated.
    ---

    As an aside I've been looking at components such as the console window, and foosion's foo_vis_simple_spectrum (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/html/#simple_spectrum). These components's show/hide status seem to be tied to the main UI window somehow. Tried looking at foo_vis_simple_spectrum's source to see if a similar polling technique is done to achieve this effect, but my programming skills aren't good enough to answer my own question
    Title: foo_looks 2.0 (RC1)
    Post by: foosion on 2004-02-11 14:36:59
    Quote
    As an aside I've been looking at components such as the console window, and foosion's foo_vis_simple_spectrum (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/html/#simple_spectrum). These components's show/hide status seem to be tied to the main UI window somehow. Tried looking at foo_vis_simple_spectrum's source to see if a similar polling technique is done to achieve this effect, but my programming skills aren't good enough to answer my own question

    These are so called child windows of the main window, they are shown and hidden with the main window by the operating system.
    Title: foo_looks 2.0 (RC1)
    Post by: wanked on 2004-02-12 03:00:07
    Quote
    To show playing time instead of remaining time, just click the time indicator - It toggles between the two

    it shows the -2:30 as the default, i would like to change it so it shows 0:30 as the default

    to tk32 wut im wondering is, is it possible for me to fix the playlist crash error that foo_looks 1.2 has with foobar2000 because there are some older skins that i would like to use
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-12 03:04:15
    Quote
    Quote
    To show playing time instead of remaining time, just click the time indicator - It toggles between the two

    it shows the -2:30 as the default, i would like to change it so it shows 0:30 as the default

    just open carbon.ski in notepad, and change this part

    Code: [Select]
    sprite songtime
    list rect int { 385 2 30 10 }
    int halign align.Center
    string fspec "$ifgreater(%_istoggled%,0,%et%,-%rt%)"
    list scripts string { "toggle" }


    swap place of %et% & -%rt%

    so it looks like this:

    Code: [Select]
    string fspec "$ifgreater(%_istoggled%,0,-%rt%,%et%)"


    that will make elapsed time default

    edit:
    Quote
    to tk32 wut im wondering is, is it possible for me to fix the playlist crash error that foo_looks 1.2 has with foobar2000 because there are some older skins that i would like to use


    remind me about this crash - i thought 1.2 worked fine (maybe it's a 0.8 problem)
    Title: foo_looks 2.0 (RC1)
    Post by: wanked on 2004-02-12 03:43:11
    thx for the code
    playlist_format_title_ex crash its fixed in foo looks 2.0 not in 1.2
    Title: foo_looks 2.0 (RC1)
    Post by: pIv on 2004-02-12 05:23:10
    To DANZ.

    My suggest is:

    1. In Looks preferences we must select only looks folder and main looks.

    2. Change looks by command in tray - Looks/swap/submenu (list of all availables looks in selected folder).
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-12 12:50:07
    Quote
    Quote
    To show playing time instead of remaining time, just click the time indicator - It toggles between the two

    it shows the -2:30 as the default, i would like to change it so it shows 0:30 as the default

    I will add a preset in the next version so the default mode can be changed easier.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-12 13:09:28
    Quote
    thx for the code
    playlist_format_title_ex crash its fixed in foo looks 2.0 not in 1.2

    ok

    my only advice is to use foo_looks 1.05 for the old skins until somebody chooses to update them

    1.05 didn't have any of the LUA present in 1.2 - and none of the old skins use LUA

    so i guess no crashes either
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-12 14:16:37
    when are we gonna get to see screenshots of all these lovely skins in development




    EDIT:
    if there is anything that is holding you back then let me know

    i am happy to provide some graphics for anyone who isn't confident with graphics software

    ..or happy to provide large chunks of ski/lua code


    btw, check your email bogsnarth
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-02-12 19:16:06
    hey tk, thanks for the work you've done on my look
    there are still some bugs i need to talk with you about.. i'll write you an email and give you all the gory details

    thanks to your work, the skin is now getting close to a point where i can pass it along to others..

    here's a screenshot (http://s95068188.onlinehome.us/img/bogslook-betascreenshot6.gif)



    jealous of my leet music collection? 

    notes: (http://slskboard.savagenews.com/html/emoticons/geek.gif),
    bogs

    edit: changed pic to link to spare bandwidth
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-12 19:21:02
    Quote
    If it interests you danZ, perhaps you might want to look into ignoring all drawing when a look is 'un-activated'; it doesn't seem efficient to use CPU cycles when a look is un-activated.

    Good point, I'll change it to ignore the vis data when the look is not active (hidden).

    As far as I know though Windows should not be attempting to draw a hidden window and I don't need to ignore any drawing because their shouldn't be any drawing occuring.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-12 19:30:10
    bogsnarth

    the rotational knob script you 'borrowed' from hand orb is a prototype

    it's not finished yet

    but i think your problem of it starting without a light can be fixed

    EDIT:
    ignore my previous solution - don't set a currentStep

    instead change the onattach function to this:

    Code: [Select]
    function onattach(this)
     local rect = look_getRect(this)
     local initSrcY = look_getSrcY(this) + (currentStep * rect.height)
     look_setSrcY(this,initSrcY)
     minY = -steps
     maxY = steps - 1
    end


    i wrote the script assuming that the first 'state' was located at (0,0) since i was using a seperate graphic file for the knob positions

    ..alternatively, you could wait for me to update the script

    i'll keep you informed of when i update it to be fully usable
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-02-12 19:49:05
    awesome.. thanks


    now the look starts with the LED in the left-most position.. but i can still turn it down one step which makes the led disappear.. :/

    i'm not too worried about it though.. the knob's just for show until i get that code from you
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-12 21:13:24
    bogsnarth, I saw you were asking for assistance in the foobar2000 channel on Freenode. I was not at the computer at 5am, but if you (or anyone else) need quick answers, feel free to query me there.
    Title: foo_looks 2.0 (RC1)
    Post by: wanked on 2004-02-15 01:19:59
    dockuk u done with modifying the skin yet?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-15 02:08:34
    Quote
    dockuk u done with modifying the skin yet?

    what did you want him to modify??

    i might be able to help
    Title: foo_looks 2.0 (RC1)
    Post by: wanked on 2004-02-15 03:07:32
    for his skin, carbon i asked him to please make it so that the right click on the close button closes foobar and left click closes the look
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-15 03:09:28
    Quote
    for his skin, carbon i asked him to please make it so that the right click on the close button closes foobar and left click closes the look

    ok, i'll let him do that

    i don't want to start distributing unofficial versions of his skin

    he might not like it
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-15 13:16:09
    I only want to release new versions when significant changes have been made to the look, or after a while. Furthermore, if you absolutely crave new features, you can modify it yourself.

    Also, I don't really want others releasing unofficial versions of the look.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-16 02:09:29
    as part of my everlasting mission to recruit new skin designers, i am providing yet another basic skin graphic in the hope of generating some interest

    so far nobody has decided to take up my homework challenge for the albumart frame (http://www.hydrogenaudio.org/forums/index.php?showtopic=17279&view=findpost&p=183314) skin i posted a few days ago

    this one is loosely based on the mac os interface - but i've kept it very simple to encourage you to use some thought of your own

    NOTE:
    these skins i am submitting are basic & under-developed for a reason - they are only meant to provide some inspiration for other people to go and add to them.
    if i did too much work on design & polishing - there wouldn't be enough ways to make it your own!


    [span style='font-size:8pt;line-height:100%']btw, nice rollover & press effects on the buttons[/span]

    (http://www.btinternet.com/~sean.m.kelly/mac_attack_ss.png)


    download here:

    tk32-mac_attack.zip (http://www.btinternet.com/~sean.m.kelly/tk32-mac_attack.zip)

    the zip file contains the png/ski combo, as well as the original .PSD file (with layers intact)

    unfortunately - you will need Adobe Photoshop CS to open the PSD (sorry)
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-02-16 03:58:45
    i actually did start working on the first "homework" project you posted, but i got distracted and forgot about it... so far all i've done is add a neat little progress/scroll bar beween the slide-up screen and the song info box.. i'll see if i can design and implement some playback control buttons for it.. then maybe i'll think about tackling one of the intermediate ones
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-16 04:26:30
    Quote
    i actually did start working on the first "homework" project you posted, but i got distracted and forgot about it... so far all i've done is add a neat little progress/scroll bar beween the slide-up screen and the song info box.. i'll see if i can design and implement some playback control buttons for it.. then maybe i'll think about tackling one of the intermediate ones

    thanks for keeping the hope alive bogsnarth

     


    any problems let me know


    LUA scripting is great fun - trust me
    Title: foo_looks 2.0 (RC1)
    Post by: wanked on 2004-02-16 07:30:16
    docuk, is there anyway u can help me modify ur skin to include that feature? i really love ur skin but that missing feature is the only complaint i have against it,thx
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-16 17:46:29
    excllent new albumart skin by desigrid

    screenshot (http://www.hydrogenaudio.org/forums/index.php?act=Attach&type=post&id=185147)

    download & more info here:

    http://www.hydrogenaudio.org/forums/index....ndpost&p=185146 (http://www.hydrogenaudio.org/forums/index.php?showtopic=18792&view=findpost&p=185146)
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-16 21:32:11
    Quote
    docuk, is there anyway u can help me modify ur skin to include that feature? i really love ur skin but that missing feature is the only complaint i have against it,thx

    Have some patience. I will release the skin when it is ready. YOu have told me numerous times that you want the feature, so shush.
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-17 10:36:37
    Quote
    as part of my everlasting mission to recruit new skin designers, i am providing yet another basic skin graphic in the hope of generating some interest

    Just to show some interest I'll post a preview called "concept", as that's what it is. I decided to start coding and leave the eyecandy for later. It is a skin that is supposed to "hang" at the top of the screen. It features albumart and a slide down playlist. That's pretty much it for now. It currently looks like this:
    normal



    Edit: forgot the link 
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-02-17 12:51:57
    nice.. i really like the long playlist.. how did you manage to slide out such a large panel? using tiles to draw the borders??

    btw, just thought i'd point out i'm using your "dynamic" formatting string in the screenshot for my look (http://www.hydrogenaudio.org/forums/index.php?showtopic=17279&view=findpost&p=184017)..  i meant to make note of it when i posted but i guess it slipped my mind..
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-17 13:18:32
    excellent work UpNorth

    it's great to have a creative mind like yours on the team - your common sense & innovative ideas are very refreshing

    the skin is awesome - and i'll enjoy seeing it improve further bit by bit [span style='font-size:8pt;line-height:100%'](although i love it's current simplicity)[/span]


    i'm loving the patchwork script. ingenious!

    and i'm very impressed that you got relative positioning working

     

    [span style='font-size:8pt;line-height:100%']btw, i did notice some 4-value srcoff's still in the code (playlist gfx section). tut tut![/span]

    if there are any tasks you would like to delegate to me, then just ask. (however, don't be surprised if i start asking you for advice now)


    i'll be glad to assist in any way


    this is getting exciting now - thanks to URMEL/anza/bogsnarth/desigrid/UpNorth for sharing

    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-17 16:52:00
    Quote
    It currently looks like this:
    normal
    (http://www.stud.ntnu.no/~mortek/foobar2000/concept/normal.png)

    mouseover
    (http://www.stud.ntnu.no/~mortek/foobar2000/concept/mouseover.png)

    with playlist
    (http://www.stud.ntnu.no/~mortek/foobar2000/concept/with-playlist.png)

    I like it a lot! Keep up the good work.

    Maybe a choice of colour schemes though? Purple isn't my flavor. Some nice blue or green would be awesome.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-17 17:15:04
    speaking of which

    i was devising a plan to support colour schemes via colour overlays

    this skin might be a good one to try it out on

    ---

    alternatively, people could just open up the png in photoshop and colorize it to their favorite hue

    i'll type up some instructions of the best way to do it if necessary
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-17 18:59:22
    First of all thanks for all the positive feedback 

    @bogsnarth: I haven't looked into tiling yet. If you have a look at that png, you will see that the whole playlist is one piece. To make this possible I just modified danZ's sliding script slightly and added resizing of the window rect. I was alot easier than I feared at first (all the credit for making it easy goes to danZ).

    Quote
    i'm loving the patchwork script. ingenious!

    and i'm very impressed that you got relative positioning working
    The current patchwork script is pretty hardcoded. I hope I can make it more versatile and make scrolling possible too.

    Concerning the relative positioning, I had big plans for it. I started out by making everything relative, and I worked, at least sort of. I think the main problem is that it's not very efficient to use it for everything, and the other problem I faced was timing. The latter might be because I don't have the full understanding of everything yet, but it was very frustrating. It's great for e.g. the text to the right of the albumart in my look though. And I might extent it like I planed to (the "figure" in my common file).

    Quote
    [span style='font-size:8pt;line-height:100%']btw, i did notice some 4-value srcoff's still in the code (playlist gfx section). tut tut![/span]
    My trademark    I feel like I was really underestimating danZ when I did that stupid mistake 

    Quote
    if there are any tasks you would like to delegate to me, then just ask.
    Further improvment of the progress bar would be nice. All the features from "micropanel" would be a nice addition. I don't see any reason to try to "reinvent the wheel", so if you like to improve the one you made, that I'm currently using, I would be happy to.

    I'm hoping to be able to have a resizable playlist some time. One problem I'm aware of is to be able to add more lines to the playlist display dynamically. If it could just fill in lines in a given rect, with a given fontsize, it would be perfect. I don't know how easy that is to implement though. I have just thought about it and not tried anything.

    Quote
    (however, don't be surprised if i start asking you for advice now)
    We're not there just yet 

    Btw: I like the idea of color overlays.

    @DocUK: I guess purple is a little too girly. It just happend to turn out that way
    It's just a few things I would like to do, before using time on the graphics again.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-18 01:30:04
    ok, until i get time to work on a 'code-based color-scheme switcher' i've made some alternative source graphics for UpNorth's excellent new 'concept' skin


    (http://www.btinternet.com/~sean.m.kelly/color_chart.png)

    concept_color_schemes.zip (http://www.btinternet.com/~sean.m.kelly/concept_color_schemes.zip)

    [span style='font-size:8pt;line-height:100%']Note to UpNorth: all i did was add a Hue/Saturation adjustment layer on top of everything and played with the Hue/Sat/Light levels[/span]

    ---
    to use the custom schemes, download the zip file and extract any or all of the graphics to -

    Foobar2000/Components/foo_looks/concept/

    to use a custom graphic, you will need to open the concept.ski and change the image filename (very simple)

    for example - to use color scheme 02, then you would need to use:

    Code: [Select]
    section globals
    string image "concept/concept_02.png"
    ....etc...


    [span style='font-size:8pt;line-height:100%']Note: you may need to change some of the purple text colors to get the best results[/span]

    enjoy

    ---
    EDIT:
    LOL - i totally forgot about the purple filled text display when the mouse leaves the skin! guess this makes my graphics kind of useless

    eg:
    (http://www.btinternet.com/~sean.m.kelly/fuck_up.png)

    perhaps i can get UpNorth to use part of the graphics as a background instead of filling it with the default purple color. that would solve it.


    sorry for wasting your time guys - i'll get on to a code-based color scheme switcher right away.

    let this be a lesson to you all... shortcuts & hacks don't always pay off!!

    ---
    one last tip:

    http://www.freephile.com/js/colorpicker/ (http://www.freephile.com/js/colorpicker/)

    use this online javascript color picker when choosing RGB colors for your skins.
    it works just like the one in Photoshop, but doesn't require you to load the rest of that huge piece of software.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-18 18:08:55
    i've updated my progBar script as requested

    [span style='font-size:14pt;line-height:100%']tk32_progBar.ski (http://www.btinternet.com/~sean.m.kelly/tk32_progBar.ski)[/span]

    [span style='font-size:8pt;line-height:100%'](note: i dropped the Mk1 bullshit)[/span]

    it now supports 'right-click scanning' [span style='font-size:8pt;line-height:100%'](as featured in micropanel)[/span]:for more info, read the original post (http://www.hydrogenaudio.org/forums/index.php?showtopic=17279&view=findpost&p=182860)

    the only change i may decide to make to this feature is to code a better increment calculator [span style='font-size:8pt;line-height:100%'](for example, one that changes depending on distance from the cursor)[/span] but this will be transparent to users & developers, so don;t worry.

    to use the script in your own skins, open the ski and read the install guide at the beginning. here is a transcript:

    ---
    usage guide:
    [span style='font-size:8pt;line-height:100%']first of all, make sure you have correctly saved the file into your skin folder.
    then start by importing the script into your current skin project using the following import command:[/span]

    Code: [Select]
    import tk32_progBar.ski


    [span style='font-size:8pt;line-height:100%']to attach the script properly, you will need a total of 2 sprites (3 if you want a grip)[/span]

    Step 1.
    [span style='font-size:8pt;line-height:100%']the first sprite is the visible 'bar', or 'fill',  of the progress bar.
    it can be a graphic, a fill, or even invisible (if you only want the grip to show).

    important notes:
      - this sprite never recieves mouse input (so we use 'bool enabled false')
      - the width of this sprite should be set to 0 (the script will update the width automatically)

    here is an example:[/span]
    Code: [Select]
    sprite progBar
    bool enabled false
    list rect int { 10 60 0 22 }
    list rendermap int { render.fill }
    list fillcolor int { 150 150 150 150 }

    [span style='font-size:8pt;line-height:100%']notes:
    to use a graphical progbar, you need to do 2 additional things:
    - change the rendermap to render.image
    - add the srcoff coordinates[/span]

    Step 2.
    [span style='font-size:8pt;line-height:100%']the second sprite will be an invisible outline of whole width of the bar, and will be the part that receives clicks & movement from the mouse. so our script will be attached to this sprite.

    important notes:
      - this sprite will be invisible
      - this sprite have a set width of the entire progress bar
      - the script will be attached to this sprite
      - we can include the previous sprite to save us repeating some values
      - when attaching the script, we must tell it the name of our 'bar' sprite (as above)

    here is my sprite as an example (i've chosen to use an added gray border):[/span]
    Code: [Select]
    sprite progBox
    string include progBar
    int width 216
    list rendermap int { render.border }
    int borderwidth 1
    list bordercolor int { 150 150 150 150 }
    list scripts string { "tk32_progBar[bar=progBar]" }


    Step 3.
    [span style='font-size:8pt;line-height:100%']to add a grip, simply add a basic grip sprite like this:[/span]

    Code: [Select]
    sprite progGrip
    bool enabled false
    list rect int { 10 60 38 22 }
    list srcoff int { 12 217 }


    [span style='font-size:8pt;line-height:100%'](note that this sprite is disabled too, since we don't want it to receive mouse commands)

    lastly, we need to change the script arguments in the 'box' sprite (step 2) so that it looks like this:[/span]

    Code: [Select]
    list scripts string { "tk32_progBar[bar=progBar grip=progGrip]" }

    ---

    please let me know if you have any problems or find any bugs

    email: ()
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-18 19:19:39
    @tk32: Nice work!  No reason for me to get into progress bar coding when you do such a good job 

    How about you do "the same thing" for the playlist? I already use your playlist script, but if it could be imported and "operated" without touching the code, it would be even better IMHO.
    Something like this:
    Code: [Select]
    list scripts string { "playlist[pln = { ple_1, ple_2, ple_3, ple_4 }]" }

    If so, I have some ideas:
    -Stop scrolling after the last track in playlist.
    -If another tab is selected and it has fewer tracks than the previous, scroll to make the last tracks visible (fill playlist) if outside the range of tracks in the new tab.
    -Fix this small bug: If you highlight the track being played and then a different one, the playing track tends to remain hightlighted untill you scroll.
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-18 20:41:43
    Quote
    @tk32: Nice work!  No reason for me to get into progress bar coding when you do such a good job 

    How about you do "the same thing" for the playlist? I already use your playlist script, but if it could be imported and "operated" without touching the code, it would be even better IMHO.
    Something like this:
    Code: [Select]
    list scripts string { "playlist[pln = { ple_1, ple_2, ple_3, ple_4 }]" }

    If so, I have some ideas:
    -Stop scrolling after the last track in playlist.
    -If another tab is selected and it has fewer tracks than the previous, scroll to make the last tracks visible (fill playlist) if outside the range of tracks in the new tab.
    -Fix this small bug: If you highlight the track being played and then a different one, the playing track tends to remain hightlighted untill you scroll.

    The playlist script is actually something I threw together for the default look (which is looking pretty crappy these days compared to all the new stuff).  tk32 used that in his look and now you've used it in yours.  If tk32 is up for it I'd suggest the same thing - split it out into its own import file and make it more robust.  At the time it was mostly just a proof of concept that a playlist could be scripted so I'm sure there is lots of room for improvement.

    The improvements you suggested would be pretty easy I just didn't tackle them when doing the default look because of other priorities.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-18 21:13:00
    i've been procrastinating working on the playlist script for a long time

    since it woked 'ok' i always found more exciting tasks

    but it's definitely time to make it neater & easier to use & customize


    i'll make a start tonight
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-19 10:16:30
    i am currently working on the following scripts:[span style='font-size:8pt;line-height:100%']*might be skin specific[/span]

    i will make them all as modular as possible, and include little guides on how to use them in your prjects [span style='font-size:8pt;line-height:100%'](just as i did with the progBar)[/span]

    please let me know if you have any suggestions on how you would like these to function, or suggest more scripts you would like to see.

    as soon as i have a couple of them done, i'll start collecting all the excellent scripts that have been submitted to the foo_looks community by developers so far

    ---
    my goal is to create a list of totally modular scripts that can be imported into any skin project and provide expert features to skin designers at every level of experience.

    [span style='font-size:14pt;line-height:100%']examples of non-standard scripts submitted so far are:[/span]
    [span style='font-size:8pt;line-height:100%'](i hope danZ doesn't mind, i've classed his set of scripts as 'standard')[/span]

    progBar by tk32
    [span style='font-size:8pt;line-height:100%']- my attempt at a universal progress bar that does everything that the progress bars in other mp3 players can do (and a little extra too)[/span]

    textScroll by tk32
    [span style='font-size:8pt;line-height:100%']- still in it's infancy, and still rather awkward to implement. i am currently thinking how to improve this one. it uses a layer mask to apply super-smooth left/right text scroll. it currently only works on rectangle skins though. (see micropanel for example)[/span]

    Patchwork by UpNorth
    [span style='font-size:8pt;line-height:100%']- UpNorth's impressive string concatenation script that attempts to work around the current single color/formatting restrictions of text sprites[/span]

    followFB2K by desigrid
    [span style='font-size:8pt;line-height:100%']- a neat way of hiding the skin when fb2k is minimized, and showing the skin when it is activated.[/span]

    this is just a small example. sorry if i forgot anyone.
    there are many more scripts like this available to use that do more simple tasks. you'll see them all when i create the list.
    there are also more great submitted scripts, but are not yet truly modular, so i have deferred listing them until they are less skin-specific.

    i'll compile the full list soon.
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-20 01:03:47
    Did I mention you have a good taste in music?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-20 01:14:16
    Quote
    Did I mention you have a good taste in music?

    me?
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-21 04:27:05
    just a quick note to say i've started work on coding 'Graviton'

    here's the first prototype

    (http://www.btinternet.com/~sean.m.kelly/graviton_test_ss.png)

    i'll upload an early version for you to try out tomorrow
    Title: foo_looks 2.0 (RC1)
    Post by: kode54 on 2004-02-21 06:18:55
    Lame idea, support for compositing RGBA images onto the final bitmap AFTER the alpha pre-scaling, to support additive transparency. (For example, the glowing effects around the outside of the above prototype.)

    Sure, maybe a bit pointless, but just another step for flashiness, heheheh.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-22 04:47:23
    ok

    as promised, i have a 'very' early version of Graviton available to test


    [span style='font-size:14pt;line-height:100%']tk32-graviton.zip (http://www.btinternet.com/~sean.m.kelly/tk32-graviton.zip)[/span]

    it's only about 30% completed so far - so please don't expect too much. and the the scripts are very dirty & messy right now.

    here's a list of the most obvious missing features:expect the skin to refine in the next week

    btw, i am happy to hear any code recommendations, but unfortunately i can't accept any graphical recommendations - since i am coding this based on a friend's design. [span style='font-size:8pt;line-height:100%'](although the 'in development' sign is my own little addition  )[/span]

    enjoy

    tk32
    Title: foo_looks 2.0 (RC1)
    Post by: Melomane on 2004-02-22 18:40:27
    [span style='font-size:14pt;line-height:100%']See through CoverArt[/span]
    yes, another one cover art...

    screen shoot (http://pelit.koillismaa.fi/fb2k/screenshots/fb2k_15_22.png)
    - Transparency when mouse isn't over
    - when foobar is minimized , albumart is minimized too (use desigrid script): very important, set look always on top AND foobar minimize in the system tray (preferences/display/defaut user interface/system tray)
    - very simple to change size cover, only modify one number:
    int width 200

    here for 200X200 size, please copy, paste and save as See_through_CoverArt.ski
    cover text (http://pelit.koillismaa.fi/fb2k/readme.php?f=22&fid=98&t=2)
    Title: foo_looks 2.0 (RC1)
    Post by: Skates on 2004-02-22 20:47:58
    Now we just need drop down visualizations added to some skins, since we have the WinAMP plug-in...
    Title: foo_looks 2.0 (RC1)
    Post by: psyraver on 2004-02-23 08:37:41
    Quote
    just a quick note to say i've started work on coding 'Graviton'

    here's the first prototype

    i'll upload an early version for you to try out tomorrow

    I can't wait till the finished version, its so cool looking.
    Greatjob!
    Title: foo_looks 2.0 (RC1)
    Post by: skandal on 2004-02-23 17:13:20
    Quote
    ok

    as promised, i have a 'very' early version of Graviton available to test


    [span style='font-size:14pt;line-height:100%']tk32-graviton.zip (http://www.btinternet.com/~sean.m.kelly/tk32-graviton.zip)[/span]

    it's only about 30% completed so far - so please don't expect too much. and the the scripts are very dirty & messy right now.

    here's a list of the most obvious missing features:
    • progress bar
    • text scroll
    • volume control
    • mini (win shade) mode
    • shuffle/repeat
    expect the skin to refine in the next week

    btw, i am happy to hear any code recommendations, but unfortunately i can't accept any graphical recommendations - since i am coding this based on a friend's design. [span style='font-size:8pt;line-height:100%'](although the 'in development' sign is my own little addition  )[/span]

    enjoy

    tk32

    [CODE]
    ok

    as promised, i have a 'very' early version of Graviton available to test
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-23 21:40:51
    Quote
    Lame idea, support for compositing RGBA images onto the final bitmap AFTER the alpha pre-scaling, to support additive transparency. (For example, the glowing effects around the outside of the above prototype.)

    Sure, maybe a bit pointless, but just another step for flashiness, heheheh.

    Hey kode54,

    I'm not sure I follow.  I composite the whole buffer with alphablending support between layers and then hand off the final composited pixel data to the layered window API. 

    Can you elaborate on what you were suggesting.

    BTW, thanks again for helping me get the layered window stuff working - it has really increased the coolness factor of the looks.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-23 23:17:38
    skandal

    i think something went wrong with your post

    Title: foo_looks 2.0 (RC1)
    Post by: mkeroppi on 2004-02-24 06:41:30
    My foolook always showed up like below for some reason. (WinXP) Is this a bug?

    (http://wam.umd.edu/~yiu/foolook.png)
    Title: foo_looks 2.0 (RC1)
    Post by: VILLA21 on 2004-02-24 10:59:01
    Quote
    My foolook always showed up like below for some reason. (WinXP) Is this a bug?

    (http://wam.umd.edu/~yiu/foolook.png)

    I have the same problem...
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-24 12:57:11
    we have been given kind permission, by SacRat, to port the AstAmp skin used in astonshell (http://www.astonshell.com).
    i've not been able to find out who the original artist was - but SacRat has told me we are free to use the graphics.

    (http://www.astonshell.com/skins/plugins/p/astamp.jpg)
    [span style='font-size:8pt;line-height:100%'](the real skin is about 2x this size)[/span]

    AstAmp.zip (http://www.btinternet.com/~sean.m.kelly/AstAmp.zip)

    i'll get around to coding it eventually, but i'm a little busy with Graviton.

    so if anyone would like to try to make a start and get as much done as they are able then i would greatly appreciate it

    [span style='font-size:8pt;line-height:100%'](anything you are not able to code i will add later on)[/span]
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-24 14:40:45
    Quote
    My foolook always showed up like below for some reason. (WinXP) Is this a bug?

    (http://wam.umd.edu/~yiu/foolook.png)

    I have some debug code in foo_looks that shows which region of the look is being redrawn by filling in the invalid region with a random color.  I used this to make sure my minimal redraw optimization was working.  This is only supposed to draw like this if you press and hold F9.  I have no idea why it would be doing it all the time.  Try pressing F9 and see if anything changes.
    Title: foo_looks 2.0 (RC1)
    Post by: VILLA21 on 2004-02-24 14:54:20
    Quote
    Quote
    My foolook always showed up like below for some reason. (WinXP) Is this a bug?

    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-24 14:59:37
    Quote
    Quote
    Quote
    My foolook always showed up like below for some reason. (WinXP) Is this a bug?

    (http://)

    I have some debug code in foo_looks that shows which region of the look is being redrawn by filling in the invalid region with a random color.  I used this to make sure my minimal redraw optimization was working.  This is only supposed to draw like this if you press and hold F9.  I have no idea why it would be doing it all the time.  Try pressing F9 and see if anything changes.

    No, pressing F9 doesn"t do anything, still showing an empty colour-box.... 

    Hum, I don't really know what could cause this - do you have F9 assigned as a hot key in foobar or any other program?  What happens if you open another look? Just grasping for ideas.

    I'll remove this code in the next release and leave it only in my debug builds.

    Sorry for the trouble.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-24 15:45:00
    you could also try reinstalling GDI+ & making a copy of the gdi.dll in the foobar dir

    i saw a problem like this before - it was because the user had previously installed some windows shell replacement (styleXP?), and it screwed around with things

    he said it looked this this:
    (http://www.btinternet.com/~sean.m.kelly/foolooks_problem.png)

    it was fixable though. and not the fault of foo_looks
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-24 17:50:15
    quick note..

    i updated Graviton & added my first attempt at the slightly complicated volume bar script

    (http://www.btinternet.com/~sean.m.kelly/graviton_vol.png)

    tk32-graviton.zip (http://www.btinternet.com/~sean.m.kelly/tk32-graviton.zip)

    the textscroll & progress bar are still to be implemented, as is the winshade mode

    feedback on using the volume bar would be appreciated though - let me know how i can improve it

    the most important question is..
    'shall i keep it as a sliding bar, or should i only allow the L.E.D's to fully be on/off. if i adjust the code to work based on the lights it will restrict the control of the volume to only 11 different positions [span style='font-size:8pt;line-height:100%'](each LED marks ~9%)[/span]. what do you think?'

    [span style='font-size:8pt;line-height:100%']p.s. don't try to use any of my code in your own skins, as it is very experimental & bound to be drastically improved with each update[/span]
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-24 18:43:54
    Quote
    quick note..

    i updated Graviton & added my first attempt at the slightly complicated volume bar script

    (http://www.btinternet.com/~sean.m.kelly/graviton_vol.png)

    tk32-graviton.zip (http://www.btinternet.com/~sean.m.kelly/tk32-graviton.zip)

    the textscroll & progress bar are still to be implemented, as is the winshade mode

    feedback on using the volume bar would be appreciated though - let me know how i can improve it

    the most important question is..
    'shall i keep it as a sliding bar, or should i only allow the L.E.D's to fully be on/off. if i adjust the code to work based on the lights it will restrict the control of the volume to only 11 different positions [span style='font-size:8pt;line-height:100%'](each LED marks ~9%)[/span]. what do you think?'

    [span style='font-size:8pt;line-height:100%']p.s. don't try to use any of my code in your own skins, as it is very experimental & bound to be drastically improved with each update[/span]

    You might consider to keep it as a drag but only turn on whole LED graphics.  That is, the led would only come on after the threshold for the LED was met.  So, some minor volume changes might not show up visually unless the volume changes enough to turn on/off a whole LED.

    So set the width of the lED display sprite on fixed increments only and use the 9% threshold deciding when to turn one on/off.

    Just and idea.  Looks awesome overall.
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-02-24 18:44:17
    Quote
    the most important question is..
    'shall i keep it as a sliding bar, or should i only allow the L.E.D's to fully be on/off. if i adjust the code to work based on the lights it will restrict the control of the volume to only 11 different positions [span style='font-size:8pt;line-height:100%'](each LED marks ~9%)[/span]. what do you think?'

    Half filled leds doesn't look good to me. How about you keep the slider as is, but make the leds turn on for every 9%? Is that an option?

    Btw: I don't use the volume dsp, so it won't matter to me anyway.

    Edit: Seems like my idea wasn't that original 
    Title: foo_looks 2.0 (RC1)
    Post by: desigrid on 2004-02-24 19:09:51
    I agree with danZ and upNorth about the half-filled/fully-filled LED. Like them, I think the slider should remain, as it's rather intuitive for most people to slide their mouse across volume controls.

    Another thing I would personally prefer would be that the lighted up rollover LED (the brightest) follows the mouse. Currently, if you mouseover a particular LED, clicked, and slide, the first-clicked LED remains lighted up. I tried to see if this behaviour could be changed by making changes to core_led1's statemap, but it didn't seem to work.

    Overall, great job with the look! Very impressed
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-24 19:54:57
    thanks for the comments

    it seems the statemap get's stuck in press mode while i'm dragging

    i might try to remove the statemap altogether and do that part using onmouseenter/leave

    i'll start work on making full LED changes tonight

    thanks
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-24 20:06:02
    Quote
    thanks for the comments

    it seems the statemap get's stuck in press mode while i'm dragging

    i might try to remove the statemap altogether and do that part using onmouseenter/leave

    i'll start work on making full LED changes tonight

    thanks

    Yes, while the mouse is down after pressing a sprite the mousestates are frozen as the clicked sprite has "captured" the input.

    Doing custom handling of the graphics is probably the only way.  Or did you try setting the press statemap graphic to the same offset as the normal state???
    Title: foo_looks 2.0 (RC1)
    Post by: mkeroppi on 2004-02-24 20:35:38
    Quote
    Quote
    Quote
    My foolook always showed up like below for some reason. (WinXP) Is this a bug?


    actually that worked (press and hold F9)...wow
    also, seems like you have to do that again when running some other programs. Probably not due to gdiplus.dll since foobar2k seems to be the only program using it.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-25 00:58:53
    ok, i'm about 70% done with the new volume control method

    but it was a pain in the a$$!!

    i coded it to only change after a set intertval, and then realised that the L.E.D's are not uniformally positioned - stupid me!

    so i had to hard-code the L.E.D. intervals into the script

    for anyone who is interested, here is how i dealt with the problem....

    Code: [Select]
    intervals = { 12, 14, 16, 17, 17, 17, 17, 16, 14, 12, 26 }

    function calculateSteps(offsetx,totalsteps)
     local aggregate = 0
     local index = 0
     repeat
       index = index + 1
       aggregate = aggregate + intervals[index]
     until aggregate >= offsetx - 8 or index == totalsteps
     return index
    end

    [span style='font-size:8pt;line-height:100%'](i've edited the variable names to make it easier to understand)[/span]

    this is how it works:

    description of variables-
    intervals - this is a list of the number of pixels from the start of each LED to the the next. so the first value of 12, means that there are 12 pixels between the start of the first LED, and the start of the second LED.
    offsetx - this is the horizontal location of the mouse cursor, relative to the origin of the volume bar [span style='font-size:8pt;line-height:100%'](it is calculated by subtracting the x value of volume bar from the x value of the cursor position)[/span]
    totalsteps - is the total number of steps allowed

    description of function-
    the function works by adding the intervals together until the combined value is is approximately the same as the position of the mouse cursor.
    when this happens, we know how many steps to move because it is the same number as our index variable [span style='font-size:8pt;line-height:100%'](which was increasing everytime we added another interval)[/span]

    i apply the '- 8' to the until check simply to tweak the sensitivity, otherwise it's possible to light the next LED by clicking in the gray space before it.

    anyway, at least it works
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-25 03:03:11
    ok

    it's been a late night for me... but i got the volume bar working almost perfectly

    and the best thing is.. while the display is limited to 11 positions, the actual volume can be dragged to any value, and you are not restricted (as we suspected) to 9% increments



    i hope after all this work it'll be possible 

    --

    as before, any feedback appreciated

    --

    btw danZ, i tried to add a beep sound using look_playSound, but all i got was silence. have you tested the function?
    Title: foo_looks 2.0 (RC1)
    Post by: widerock on 2004-02-25 04:14:52
    Thanks for the good interface.. I really like this one...

    BTW, an error shows up when I double-click to open an OGG file.

    ERROR (foo_looks) : attempt to compare nil with number

    It doesn't appear when the next file is played in order.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-25 04:19:22
    Quote
    Thanks for the good interface.. I really like this one...

    BTW, an error shows up when I double-click to open an OGG file.

    ERROR (foo_looks) : attempt to compare nil with number

    It doesn't appear when the next file is played in order.

    i think this may be due to a little hack i asked danZ to code into the plugin

    when fb2k stops a track, i asked danZ to set a flag based on the reason the track was stopped

    and in Graviton i check to see the reason why fb2k stopped a track (mainly so that i can keep my play/pause button up to date)

    the error is probably related.

    do you get the same error using a different skin??

    wait for danZ to reply for more information.
    ---

    EDIT: i made a fix in the skin code

    tk32_graviton_0.6.zip (http://www.btinternet.com/~sean.m.kelly/tk32_graviton_0.6.zip) (bug fix)

    try this update and tell me if you get the same problem with OGG files
    Title: foo_looks 2.0 (RC1)
    Post by: Big_Berny on 2004-02-25 20:58:53
    @tk32:
    Your GravitonSkin looks great! But on songs with long titles or artists, it will not show the hole title/artist.

    Big_Berny
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-25 22:41:26
    Quote
    @tk32:
    Your GravitonSkin looks great! But on songs with long titles or artists, it will not show the hole title/artist.

    Big_Berny

    He's working on text scrolling but there are current design limitations that are making it hard for him to do.  I may need some more modifications to the core renderer to make it work as desired.

    Maybe the font size could be reduced until the scrolling works.
    Title: foo_looks 2.0 (RC1)
    Post by: widerock on 2004-02-26 00:01:21
    Quote
    EDIT: i made a fix in the skin code

    tk32_graviton_0.6.zip (bug fix)

    try this update and tell me if you get the same problem with OGG files


    It's working well now..
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-26 00:14:22
    hi guys

    just a quick answer to the problem of artist-title display

    i am aware that the current text arrangement is not suitable for long tracknames.
    the reason for this is because i am following the specific desires of the skin designer.

    however, i have created a more suitable formatting scheme until i am able to complete the long-promised text-scroll

    this is only a temporary change

    the new format looks like this, and means you are much more likely to be able to read what is currently playing [span style='font-size:8pt;line-height:100%'](note: it is not perfect, and scroll will be better)[/span]:

    (http://www.btinternet.com/~sean.m.kelly/alt-formatting.png)


    tk32-graviton_0.7.zip (http://www.btinternet.com/~sean.m.kelly/tk32-graviton_0.7.zip)

    enjoy.

    more exciting updates coming very soon. watch this space!
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-26 00:24:22
    Time to work on 0.8 specific bugs, now that the release is out.

    May I suggest the problem with toggling foobar2000, to begin with:

    Code: [Select]
    lua togglefb2k
      function onleftbuttonup(this)
         if (fb2k_uiIsActivated()) then
            fb2k_menuCommand("Foobar2000/Hide main window")
            look_setToggle(this, 0)
         else
            fb2k_menuCommand("Foobar2000/Activate main window")
            look_setToggle(this, 1)
         end
      end
    endlua


    Thanks, <3 danZ
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-26 01:42:18
    doc, that doesn't look like a suggestion

    just a finger pointing at erroneous code
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-26 17:00:51
    It worked in 0.7, and danZ specifically said he would have a look at why these menu commands do not work in the new version of foobar2000, when 0.8 went final.
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-02-29 15:42:51
    so uhh.....





    is there going to be an update?


    i just ask cause it's been three days since the last post...
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-02-29 18:46:40
    I was away. Now I am back. I will have some free time to work on Looks in Summer 2005.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-02-29 19:21:27
    Quote
    I was away. Now I am back. I will have some free time to work on Looks in Summer 2005.

    ehehe

    and i have some time to work on foo looks in summer 2006



    joking - i'll post some more skin updates tonight
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-02-29 21:16:53
    Quote
    so uhh.....





    is there going to be an update?


    i just ask cause it's been three days since the last post...

    Well, since my friend Aero got iPod (http://www.hydrogenaudio.org/forums/index.php?showtopic=19156&view=findpost&p=188776) support underway for 0.8 I now feel motivated to get upgraded.  I've also made some small but useful additions to the scripting, etc. which tk32 has been working with.  So, look for a 2.1 release that is built for 0.8 in the next week (unless I run into problems with the upgrade)
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-03-01 16:41:50
    Quote
    I was away. Now I am back. I will have some free time to work on Looks in Summer 2005.

    well i've got nothing but free time, but i don't understand the scripting part of look-making very thoroughly yet.. and i haven't found a good resource for learning how (beyond tk32's intro tutorials, that is)..

    so i'm waiting on the adaptable scripts from tk (volume, playlist, etc) and the bug fixes for 0.8 (things like crashing when using a button to call the Exit Foobar command,  the "show/hide main window" problem) before i can go any farther with my two skins..



    technical question: for the second look i'm doing i'm trying to make an instrument panel with a "lid" that you can open and close (for aethetical value) but i'm not sure how to go about writing it.. i know i'd have to have the background on layer 0, the toggles on layer 1 and the lid on layer 2.. and i know i need graphics for closed and open states.. can anybody give me a rough outline or example of the code i'll need to use?

    thanks,
    bogs
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-03-01 17:05:38
    Quote
    Quote
    I was away. Now I am back. I will have some free time to work on Looks in Summer 2005.

    well i've got nothing but free time, but i don't understand the scripting part of look-making very thoroughly yet.. and i haven't found a good resource for learning how (beyond tk32's intro tutorials, that is)..

    so i'm waiting on the adaptable scripts from tk (volume, playlist, etc) and the bug fixes for 0.8 (things like crashing when using a button to call the Exit Foobar command,  the "show/hide main window" problem) before i can go any farther with my two skins..



    technical question: for the second look i'm doing i'm trying to make an instrument panel with a "lid" that you can open and close (for aethetical value) but i'm not sure how to go about writing it.. i know i'd have to have the background on layer 0, the toggles on layer 1 and the lid on layer 2.. and i know i need graphics for closed and open states.. can anybody give me a rough outline or example of the code i'll need to use?

    thanks,
    bogs

    If you can post some images of what you want to implement tht would be helpful in getting you some pointers on how to create the scripts and graphics for the lid animation.

    I'm nearly done with the 2.1 release which will be compiled for 0.8.

    I didn't have to make too many changes but it looks like you just need to rename certain menu commands to match the new names.

    For example

    "foobar2000/Hide" instead of "foobar2000/Hide main window"

    If commands aren't workng in your look then you probably need to go check the preferences and make sure the string you are using is still a valid menu name.

    They added GUIDs for the menu commands which removes the dependency on a string name but I haven't found a satisfactory way to expose that to the scripts so I'm sticking with the strings for now.

    What are the details of the crash on exit bug?  I don't recall hearing about that one.

    I should have 2.1 ready to go today sometime.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-03-02 01:19:08
    bogsnarth,

    if you can give me an artist's impression of what it should look like 1. open & 2. closed then i will seperate the item into all the different sprites and tell you what you need to do.

    just post a jpg or something of the basic idea (don't worry much about how it looks for now)
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-03-02 02:59:15
    danz:

    thanks for the tip on checking the preferences.. i was aware of the list of commands but it never occured to me to use that list in my scripting.. :B

    unfortunately, as per your instructions, i tried changing the main menu toggle to "foobar2000/hide" instead of "foobar2000/hide main window" and it still doesn't work.. i changed the activate switch to "system/activate" and it works to bring the window up, but it won't hide it again.. :/

    this is the exit button crash i was talking about..

    Code: [Select]
    sprite exitbutton
        list statemap int { 0 1 2 2 0 0 1 2 2 0 }
        list rect int { 300 1 14 6 }
        list srcoff int { 363 63 }
        string tooltip "Exit Foobar2000"
    // Causes Crash//list scripts string { "[function onleftbuttonup(this) fb2k_menuCommand('Foobar2000/Exit') end]" }


    this is the info at the top of the crash report:

    Illegal operation:
    Code: C0000005h, flags: 00000000h, address: 00B9C565h
    Access violation, operation: read, address: 00000004h
    Call path:
    WinMain=>app_shutdown
    This is the first crash logged by this instance.


    i tried chaging "Foobar2000/Exit" to "Foobar2000/Close" (since that's what the menu item is called in the Main Menu Items page of the prefs..) and instead of causing a crash, it did nothing..

    i just tried it again using "exit" and got the same crash info.. it even says it's the first crash logged by this instance...


    tk32:
    i'll post the graphics here as soon as i get the Open state finished.. might be later tonight but if i don't get to it, tomorrow..
    Title: foo_looks 2.0 (RC1)
    Post by: Megadeus on 2004-03-02 04:06:34
    Quote
    unfortunately, as per your instructions, i tried changing the main menu toggle to "foobar2000/hide" instead of "foobar2000/hide main window" and it still doesn't work.. i changed the activate switch to "system/activate" and it works to bring the window up, but it won't hide it again.. :/

    Try 'Foobar2000/Activate or hide main window'.  I used that with tk32's fooAMP2 and it works.
    Title: foo_looks 2.0 (RC1)
    Post by: bogsnarth on 2004-03-02 06:58:50
    thanks megadeus.. your idea didn't work, but it prompted me to try something so obvious that i completely overlooked it before..

    i used "foobar2000/hide main window" to hide and "system/activate" to activate.. works perfectly now

    i used "hide main window" previously and i didn't check it to see if it worked before i started editing earlier.. how silly of me

    peace,
    bogs
    Title: foo_looks 2.0 (RC1)
    Post by: Megadeus on 2004-03-02 13:56:10
    Quote
    thanks megadeus.. your idea didn't work, but it prompted me to try something so obvious that i completely overlooked it before..

    i used "foobar2000/hide main window" to hide and "system/activate" to activate.. works perfectly now

    i used "hide main window" previously and i didn't check it to see if it worked before i started editing earlier.. how silly of me

    peace,
    bogs

    That's right, if you're using the lua togglefb2k function like DocUK posted earlier, my suggestion won't work.

    What I initially did to get fooAMP2 to open/close the main window with fb2k v0.8 was to get rid of that lua routine in the .ski and just use a fb2k_menuCommand('Foobar2000/Activate or hide main window').  It worked just fine.

    I tried out your change and it does work now with the lua.

    Cool.  Thanks.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-03-02 18:31:00
    i am currently using this command to toggle the main playlist:

    Code: [Select]
    function onleftbuttonup(this) 
      fb2k_menuCommand("Foobar2000/Activate or hide")
    end


    Graviton update coming soon
    Title: foo_looks 2.0 (RC1)
    Post by: GeSomeone on 2004-03-03 08:24:20
    Quote
    fb2k_menuCommand("Foobar2000/Activate or hide")

    I had to add "main window" after "hide" to make it work. (Like Megadeus wrote).
    Maybe you could update fooAMP2 for 0.8 
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-03-03 15:48:12
    [span style='font-size:14pt;line-height:100%']Version 2.1 Available (http://www.loodi.com/foo_looks.zip)[/span]

    Changelog

    1. Compiled with 0.8 SDK
    2. Lua is now integrated into foo_looks and you can remove the lua dlls from the foobar folder
    3. Removed "look swap" and all items associated with that functionality.  No longer useful with scripting support
    4. Per pixel alpha blending with the desktop.  foo_looks is compatible with Win2K and WinXP only
    5. new section window property int blendflag valid values are6. new rendermap flag - render.Erase used mostly for the background sprite in a look using per pixel blending to prevent "onion skin" effect
    7. minor optimization to ignore spectrum data when look is not active
    8. lua function change for mouse handlers - x.y passed to all mouse handlers.  Note your current handlers still work since lua is very loose about parameter passing but you must include then in the parameter list if you wish to use them.  These can be used in place of look_mouseX(), look_mouseY() in these handlers.9. new parameter passed to function onplaybackstop(reason) values for reason are10. organized Components/look menu and added "looks" popup menu
    11. moved all default look assets to "foo_looks\Default" folder.  You need to update your look if you are importing the foo_looks_common.ski file.  Also you can delete the default look assets from the foo_looks folder from previous version
    12. new lua functions
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-03-03 16:58:16
    excellent work

    just amending some of the new function details (getpixel was missing the x,y arguments):[span style='font-size:8pt;line-height:100%']note: it is not advised to use setPixel yet, as it causes massive CPU consumption[/span]

    i'll be using the new getpixel functions to make a custom drag-map for my graviton progress bar

    more info coming soon..

    edit:
    sorry danZ - i keep trying to be helpful and then stepping on your toes
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-03-03 17:01:43
    Quote
    excellent work

    just need to correct one of the above functions. it's missing 2 arguments. should be:

    image_getPixel(image,x,y)


    i'll be using the new getpixel functions to make a custom drag-map for my graviton progress bar

    more info coming soon..

    Indeed.  I updated the post - thx.
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-03-03 18:21:20
    @danZ: I think it would be an improvement to change back to a standard layout for the preferences page. It might be "cool" looking, but IMHO it's not very user friendly. One annoying thing is if you first open "Current Looks" and then open and close "Overrides", the former will remain mostly out of view until you scroll. It's those little things that matters
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-03-03 18:26:22
    Quote
    @danZ: I think it would be an improvement to change back to a standard layout for the preferences page. It might be "cool" looking, but IMHO it's not very user friendly. One annoying thing is if you first open "Current Looks" and then open and close "Overrides", the former will remain mostly out of view until you scroll. It's those little things that matters

    Prefs page has never gotten much attention as I'm always consumed with adding features to the actual look engine.

    When I get time to spruce it up I'll get rid of the fancy control since I've had other complaints about it.
    Title: foo_looks 2.0 (RC1)
    Post by: Melomane on 2004-03-03 22:14:03
    small problem with foo_look 2.1:

    when foobar start, if focus isn't on the first playlist tab, foobar windows isn't correctly drawing at the top left.
    if i miniminise foobar to system tray and reopen, windows is correct.

    question: never more swap looks?

    sorry for my poor english

    regards , Melomane
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-03-03 22:29:41
    Quote
    small problem with foo_look 2.1:

    when foobar start, if focus isn't on the first playlist tab, foobar windows isn't correctly drawing at the top left.
    if i miniminise foobar to system tray and reopen, windows is correct.

    question: never more swap looks?

    sorry for my poor english

    regards , Melomane

    Not quite following on the drawing problem.

    Regarding the swap looks it is not longer valueable with scripting.

    If you simply want to "hot swap" between two looks then take a look at

    Preferences->Core->Keyboard shortcuts

    You will see an entry for each look in the current look folder and you can assign a hot key any of them.

    Same strings can be executed in scripts if you want to make a button that "swaps" to another look.
    Title: foo_looks 2.0 (RC1)
    Post by: Melomane on 2004-03-03 23:08:55
    ok, i have see shortcuts, thanks!

    about drawing problem:

    use playlist with multiples tabs, choose second or what you want tab but not the first.
    look can be enable or not.
    close foobar
    open foobar

    on my screen foobar window isn't correctly drawed on left top
    perhaps i am the only one to having this problem
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-03-03 23:10:59
    Quote
    Not quite following on the drawing problem.

    I experience this problem too. I don't think it is related to foo_looks though, but I haven't done anything to track down the cause.
    The upper left corner (a square including menu and window title) is transparent/not drawn when I start foobar. I haven't bothered reporting it because I havent' had the time/motivation to remove all plugins, do a clean install and so on. As Melomane said a simple hide/show fixes it anyway. Sorry about the lack of "team spirit". 
    Title: foo_looks 2.0 (RC1)
    Post by: Melomane on 2004-03-03 23:45:14
    thanks upNorth, i haven't problems of video drivers!

    I think it is related to foo_looks because the problem is appeared when i have upgraded to foolook1 to 2 ; i have tried to remove foolook2 and it solve problem.
    Title: foo_looks 2.0 (RC1)
    Post by: upNorth on 2004-03-04 00:09:51
    Quote
    I think it is related to foo_looks because the problem is appeared when i have upgraded to foolook1 to 2 ; i have tried to remove foolook2 and it solve problem.

    That seems to have solved it for me too. I removed foo_looks and some other plugins (foo_columns, foo_dynamics and a few more) and the problem is gone.

    Btw, foo_columns was not my active UI at the time the problem occurred.
    Title: foo_looks 2.0 (RC1)
    Post by: dano on 2004-03-04 12:15:24
    hi danZ
    is it possible that your foo_looks.ski skin remebers the layout i chose?
    it always loads in Standard Layout.
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-03-04 12:48:37
    Quote
    hi danZ
    is it possible that your foo_looks.ski skin remebers the layout i chose?
    it always loads in Standard Layout.

    Hi dano

    remembering states/settings was classed as a b-list feature - so it was put on hold while more crucial things were coded

    however, danZ still plans to add this kind of support

    perhaps in version 2.2
    --
    [span style='font-size:8pt;line-height:100%']however, there is a way you can set the default appearance for the foo_looks.ski skin.
    1. open the ski file in notepad and scroll down to line 54
    2. this is where the default layout is set, it says: int startLayout layouts.standard
    3. the choices are: mini, compact, standard, cover, tv

    hope that helps.[/span]
    Title: foo_looks 2.0 (RC1)
    Post by: dano on 2004-03-04 13:24:54
    thx tk32, that helps me
    Title: foo_looks 2.0 (RC1)
    Post by: kwanbis on 2004-03-04 15:57:03
    Quote
    [span style='font-size:14pt;line-height:100%']Version 2.1 Available (http://www.loodi.com/foo_looks.zip)[/span]

    shouldnt we be starting some new threat? to somebody like me, that needs to follow it, it is toooooooooooooooooooooo long ... 24 pages!
    Title: foo_looks 2.0 (RC1)
    Post by: danZ on 2004-03-04 16:11:26
    Quote
    Quote
    [span style='font-size:14pt;line-height:100%']Version 2.1 Available (http://www.loodi.com/foo_looks.zip)[/span]

    shouldnt we be starting some new threat? to somebody like me, that needs to follow it, it is toooooooooooooooooooooo long ... 24 pages!

    Sure I'll start one [span style='font-size:14pt;line-height:100%']HERE (http://www.hydrogenaudio.org/forums/index.php?showtopic=19310&view=findpost&p=190492)[/span]

    Let this thread trickle down then.
    Title: foo_looks 2.0 (RC1)
    Post by: Hadda on 2004-04-02 17:54:05
    Hi
    I have wrote skin for foo_looks 2.1 and i do not know how I can share it.
    I was on the Foo_looks 2.0 resource pages and no liknk find to share my skin.
    There in gallery are not much skins and no link to fix it :| .. why ??.

    I was on the page "foobarlooks.tk" and i find mail adres to send my skin. But on the page are only foo_looks 1. xx skins but i send e-mail.


    This is my first post not in my language hehh .... 
    Title: foo_looks 2.0 (RC1)
    Post by: ronyzyz1 on 2004-04-02 17:58:17
    The thread for sharing skins, comments, and suggestions is here (http://www.hydrogenaudio.org/forums/index.php?act=ST&f=33&t=19310&view=getnewpost).

    Thanks very much for contributing to the foo_looks community, and your English is not bad at all
    Title: foo_looks 2.0 (RC1)
    Post by: Hadda on 2004-04-02 20:50:04
    Thank You DocUK. But I need simply answer. Is difficult to mi to read many pages in Eanglish  I can't find the right post when I click Your link. Plece write for me this few words.
    Title: foo_looks 2.0 (RC1)
    Post by: carel on 2004-04-02 21:01:23
    hi Hadda,
    do you need webspace for your skin ? or do you want to announce you've made a skin for foo_looks users ? DocUK gave you a link to the thread where we all announce, discuss about foo_looks skins/looks : just add a reply at the end like you did here
    and ... welcome ! i'm quite new to foo_looks skinning and english isn't my native language too 
    Title: foo_looks 2.0 (RC1)
    Post by: Hadda on 2004-04-02 21:25:33
    Ok I understand  thank You .( I want to announce so i need a webspace too.)
    Title: foo_looks 2.0 (RC1)
    Post by: seannyb on 2004-04-05 11:31:18
    Quote
    http://www.btinternet.com/~sean.m.kelly/album_frame_ss.jpg (http://www.btinternet.com/~sean.m.kelly/album_frame_ss.jpg)

    hah, nice choice in album :)

    Learning to Be (http://www.u-cover.com/u-cover/template.php?data=u-cover015) by Sense for those wondering
    Title: foo_looks 2.0 (RC1)
    Post by: tk32 on 2004-04-05 11:58:23
    Quote
    Quote
    http://www.btinternet.com/~sean.m.kelly/album_frame_ss.jpg (http://www.btinternet.com/~sean.m.kelly/album_frame_ss.jpg)

    hah, nice choice in album

    Learning to Be (http://www.u-cover.com/u-cover/template.php?data=u-cover015) by Sense for those wondering

    kudos to you

    Title: foo_looks 2.0 (RC1)
    Post by: Keen on 2005-04-05 22:34:09
    Quote
    New look:

    Aero has updated his AeroAmp look which should work with any Winamp 2.X skin (provided you extract the assets from the zip file) with only slight modifications (fonts, colors, etc.).

    AeroAmp (http://www.loodi.com/aeroamp.zip)
    [a href="index.php?act=findpost&pid=173806"][{POST_SNAPBACK}][/a]

    Erm, anyone have a valid URL to this?
    Title: foo_looks 2.0 (RC1)
    Post by: MenZa on 2005-08-12 19:42:33
    Two new mirrors:

    .RAR Mirror at MenZa.org (115 kb) (http://www.menza.org/files/foo_looks-1.10.rar)
    .ZIP Mirror at MenZa.org (140 kb) (http://www.menza.org/files/foo_looks-1.10.zip)

    Just thought I'd contribute to a plugin this fabulotastic (meh, I suck at words )
    Title: foo_looks 2.0 (RC1)
    Post by: DeathWolf on 2006-03-10 18:13:40
    mirrors are for 1.10, any mirrors for 2.x since the default loodi url is dead?
    Title: foo_looks 2.0 (RC1)
    Post by: mobyduck on 2006-03-11 10:14:41
    Try here (http://www.plurimedia.it/foo_looks.zip).

    Alessandro
    Title: foo_looks 2.0 (RC1)
    Post by: DeathWolf on 2006-03-11 17:21:28
    Thanks!
    Has there been any news/progress on compatibility with the latest foobar?
    Title: foo_looks 2.0 (RC1)
    Post by: Gord on 2006-03-13 08:04:51
    Quote
    Thanks!
    Has there been any news/progress on compatibility with the latest foobar?
    [{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=370837")


    Probable answer is [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=19310&st=875#]here[/url].