HydrogenAudio

Hosted Forums => foobar2000 => Uploads - (fb2k) => Topic started by: ojdo on 2009-12-31 17:18:12

Title: HTPC Fullscreen panels II
Post by: ojdo on 2009-12-31 17:18:12
Introduction
This thread is the continuation of HTPC Fullscreen panels (http://www.hydrogenaudio.org/forums/index.php?showtopic=62359) where I posted my configurations for foo_uie_trackinfo_mod which is now a problematic component. So I had the desire to resettle to a stable component with the same (or better) features. I found it in the component WSH Panel Mod by T.P Wang (official thread with download (http://www.hydrogenaudio.org/forums/index.php?showtopic=70363)). For now there is just one configuration, but I have the strong feeling that I will continue to change my current design...

Requirements and usage
My panel configurations depend on Columns UI and WSH Panel Mod. In order to use them, I recommend to set up a layout in Preferences > Display > Columns UI, Tab Layout like this:
Code: [Select]
Vertical splitter
+- WSH Panel Mod
\- NG Playlist [hidden]

The hidden playlist is just there to make keyboard shortcuts run properly. I use them to switch back and forth between different layouts (browsing and the fullscreen panels you find here).

Then just copy and paste the text file's contents into the configuration dialog you can find in the WSH panel context menu.


WSHtpc01
My first real try to make a proper layout with WSH panel. It still feels less "natural" than with foo_uie_trackinfo_mod, but performance-wise (=less CPU load) the WSH panel is much better.

(http://www.ojdo.de/fb2k/wshtpc01/2009-12-31--WSHtpc01-thumb.png) (http://www.ojdo.de/fb2k/wshtpc01/2009-12-31--WSHtpc01.png)
[attachment=5590:WSHtpc01_0.1.txt]
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-01-11 21:44:31
Update: WSHtpc01 v0.2

Changes from v0.1

Features

Screenshot
(http://www.ojdo.de/fb2k/wshtpc01/2010-01-11--WSHtpc01--thumb.png) (http://www.ojdo.de/fb2k/wshtpc01/2010-01-11--WSHtpc01.png)

Download
[attachment=5623:WSHtpc01_0.2.txt]
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-01-12 21:39:05
Sh*t, what pitty. Wrong file encoding crippled the file in the post above. Here the correct download:

[attachment=5628:WSHtpc01_0.2.txt]
Title: HTPC Fullscreen panels II
Post by: High Five on 2010-02-05 00:38:26
Thank you for your work!

it's really minimalistic and beautiful. I love it!

Title: HTPC Fullscreen panels II
Post by: TheShaman on 2010-02-17 09:08:39
Hey ojdo,

Good work! 
Is it possible to integrate this function into FooNight (http://www.hydrogenaudio.org/forums/index.php?showtopic=71633) and use a keyboard shortcut to change from your fullscreen view to the FooNight one?
That skin already uses WSH Panel Mod but I'm not sure how I can make both work.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-02-17 09:43:09
Is it possible to integrate this function into [another skin]? I'm not sure how I can make both work.


Yes, the principle is explained in the first post. Probably the skin (FooNight/Day) creates a layout in Preferences > Columns UI, tab Layout. Just add another one for the fullscreen panel (see first post for what to put in there to make keyboard shortcuts work). Then you can assign keyboard shortcuts in Preferences > General > Keyboard Shortcuts to each layout. However, the last time I tried PSS I was not able to make keyboard shortcuts work reliably - I always had issues when the wrong panel had focus. That's why I stick to a "pure" CUI configuration.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-02-18 19:22:16
New configuration: WSHtpc02 (v0.2)

Features

Screenshots
Rock bands look great on it:
(http://www.ojdo.de/fb2k/wshtpc02/WSHtpc02-1.0-03-thumb.jpg) (http://www.ojdo.de/fb2k/wshtpc02/WSHtpc02-1.0-03.jpg)

Classical masters, too:
(http://www.ojdo.de/fb2k/wshtpc02/WSHtpc02-1.0-02-thumb.jpg) (http://www.ojdo.de/fb2k/wshtpc02/WSHtpc02-1.0-02.jpg)

Genre-specific "fallback" images are displayed if artist has no own image (here: rock.jpg, I think I found it on sxc.hu (http://www.sxc.hu/)):
(http://www.ojdo.de/fb2k/wshtpc02/WSHtpc02-1.0-01-thumb.jpg) (http://www.ojdo.de/fb2k/wshtpc02/WSHtpc02-1.0-01.jpg)

Download
[attachment=5736:WSHptc02_0.2.zip]

Installation
Extract the images from the download into images/WSHtpc02. Add a WSH panel to your layout. Copy and paste the code from the text file to the panel's configuration window. Place genre-images into %foobar_installation_path%/images/%genre%.jpg.
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2010-02-18 19:30:11
can you provide the required images please?
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-02-18 19:32:58
can you provide the required images please?

There are no images "required". It displays what you have. I cannot share pictures that I have not made myself. It is just pre-configured to display them. I also don't know how you named your Genres. For me it's mainly Electronic, Rock and Pop. Search deviantart, sxc.hu, google image search, ... for pictures that visualise what you have in mind when you think of your music. I hope this makes the idea behind this configuration clearer.
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2010-02-18 19:34:24
??

Code: [Select]
var imgpath2 = fb.FoobarPath+'images\\WSHtpc02\\';
var img_pborder = new Array(
gdi.Image(imgpath2+'default.png'),
gdi.Image(imgpath2+'repeat-playlist.png'),
gdi.Image(imgpath2+'repeat-track.png'),
gdi.Image(imgpath2+'random.png'),
gdi.Image(imgpath2+'shuffle-tracks.png'),
gdi.Image(imgpath2+'shuffle-albums.png'),
gdi.Image(imgpath2+'shuffle-folder.png')
);
var img_rating = new Array(
gdi.Image(imgpath2+'star-filled.png'),
gdi.Image(imgpath2+'star-outline.png')
);
var img_mood = new Array(
gdi.Image(imgpath2+'mood-filled.png'),
gdi.Image(imgpath2+'mood-outline.png')
);
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-02-18 19:39:18
??


Silly me. Sorry for not thinking twice. I uploaded a ZIP-file containing configuration script and images... I hope it works now. 
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2010-02-18 19:46:17
now it works. thanks. 
Title: HTPC Fullscreen panels II
Post by: Gapkiller on 2010-03-03 22:05:16
Thank you for your work ojdo!!
I like it very much.

I'm using WSHtpc01 v0.2 and I was wondering if I could do something like
$if(%isplaying%,your code,MUSIK IS THE KEY)   
Of course I can't but could you please help me out with a solution for this?
Because it looks so empty if nothing is playing...

thx
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-03-03 22:33:26
I'm using WSHtpc01 v0.2 and I was wondering if I could do something like
$if(%isplaying%,your code,MUSIK IS THE KEY)

Yes, that's possible very easy. Look at this section of the code:
Code: [Select]
function on_playback_stop(reason) {
    if(reason != 2) { // starting_another
        g_albumart = null; g_albumart_rot = null;
        g_disc = null; g_disc_rot = null;
        g_artist = null; g_artist_rot = null;
        
        title = ""; artist = ""; album = "";    rating=0; mood=0; infoline = "";
        window.Repaint();
    }
}


and just assign the string "MUSIC IS THE KEY" to one of the variables title, artist, album or infoline.
E.g. artist = "foobar2000"; and infoline = "Plays music." would display the text always when playback is stopped.
Title: HTPC Fullscreen panels II
Post by: Gapkiller on 2010-03-03 23:23:18
ojdo,

thx for the fast reply.

Unfortunately it doesn't work on startup of foobar, only after playing the first track in the session
and it doesn't work if you change layouts via keyboard shortcut.
I assume that you have to start playback from the layout wsh panel is located in to get it working.



Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-03-04 08:55:32
Yes, you're right. As the function name says, these values are only assigned (and displayed) when the playback has stopped. If the playback has never been started since the panel was initialised, this code is never reached. So you also have to initialise these values when the variables are declared. So find this line at the beginning of the code:
Code: [Select]
var title, artist, album, rating, mood, tracknumber, discnumber, totaltracks, totaldiscs, infoline, pbtime;
and change it to (untested)
Code: [Select]
var title, album, rating, mood, tracknumber, discnumber, totaltracks, totaldiscs, pbtime;
var artist = "foobar2000", infoline = "Play music.";

While it's cool to have full control on the display, it is cumbersome to have to deal with everything "by hand". Maybe I should once rewrite these panels using classes and objects.
Title: HTPC Fullscreen panels II
Post by: Gapkiller on 2010-03-04 09:45:05
Works.
Thx again!
Title: HTPC Fullscreen panels II
Post by: bimbel on 2010-03-07 16:28:01
ojdo care to explain the playback statistics (line diagram)?

I cannot really make sense out of it!
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-03-08 09:30:34
Here you are:

[attachment=5775:WSHtpc02_playstats.png]

The line length is partitioned according to the dates (they are calculated in days, approximated [months have all 30 days, no leap years]). So the line quickly shows how often you played a song already and how long you have not listend to it compared to its "age" in your library. It is especially interesting to watch when playing "long not heared" tracks (autoplaylist example query: NOT %last_played% DURING 52 WEEKS).
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-03-18 16:42:06
.......is it possible to set a fixed maximum size on how embedded album art is displayed?
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-03-22 09:51:41
.......is it possible to set a fixed maximum size on how embedded album art is displayed?

Fixed maximum size is possible. To apply this limit only for embedded album art is not possible. For the case of WSHptc02, look out for this line:
Code: [Select]
var album_scale = Math.min(X,Y);

where X is
Code: [Select]
0.33*ww/g_albumart.Width
and Y is
Code: [Select]
Math.max(0.55*wh/ g_albumart.Height,(200-0.03*wh)/g_albumart.Height)


So the album cover is scaled to fit both (hence Math.min) horizontally (X) and vertically (Y) to the available space. If you want to limit the maximum size to a fixed value, change X to something like
Code: [Select]
Math.min(0.33*ww/g_albumart.Width,500/g_albumart.Width)

for the case of a desired maximum width of 500 pixel. Y at the moment respects to constraints: Either the image shall take 55% of the panel height or at least 200 pixels - 3% of the panel height. Enclose this statement also with a Math.min like for X to limit the size in both dimensions.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-03-22 15:07:31
Hi ojdo.

1st of all, thanks for your reply and your effort to make the foobar2000 application more user friendly in order to change the looks of it and share the results with all the others.

Sorry, but I'm not that much of a geek and the scripting language can be kinda confusing for someone who don't understand it as much as guys like you do.

Anyway, I was talking about embedded album art only and the way I understood you was that it isn't possible to set a fixed size for embedded album art is that correct?

If yes, there is no point to go any further from here but if there is a way I would like to know the parameters to set the maximum size of the displayed album art to 450x450.

These are the only parameters I could find that kinda fit your description:

Code: [Select]
    // Albumart: Calculations and reflection
    if(g_albumart) {
        var scale_w = 0.45*ww / g_albumart.Width;
        var scale_h = 0.9*(0.75*wh) / g_albumart.Height;
        var scale = Math.min(scale_w, scale_h);
        var img_w = g_albumart.Width * scale;
        var img_h = g_albumart.Height * scale;
        var pos_x = 0.45*ww-img_w;
        var pos_y = 0.75*wh-img_h;
        gr.DrawImage(g_albumart_rot, pos_x, pos_y+img_h, img_w, img_h, 0, 0, g_albumart.Width, g_albumart.Height);        
        gr.FillGradRect(pos_x,pos_y+img_h,img_w,wh/6, 90, RGBA(0,0,0,128), RGB(0,0,0,255));
        gr.FillSolidRect(pos_x,pos_y+img_h+wh/6,img_w,5*wh/6, RGBA(0,0,0,255));
    }

Please give me a hint on how to change them in order to display the embedded album art in a maximum size of 450x450.

Thanks a lot, your help is very much appreciated.

Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-03-22 22:42:11
Replace these two lines
Code: [Select]
var scale_w = 0.45*ww / g_albumart.Width;
var scale_h = 0.9*(0.75*wh) / g_albumart.Height;

with the following ones:
Code: [Select]
var scale_w = Math.max(0.45*ww,450) / g_albumart.Width;
var scale_h = Math.max(0.9*0.75*wh,450) / g_albumart.Height;

This sets the maximum size of all (both embedded art and separate files) album art to 450x450 pixels.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-03-31 13:46:37
Replace these two lines
Code: [Select]
var scale_w = 0.45*ww / g_albumart.Width;
var scale_h = 0.9*(0.75*wh) / g_albumart.Height;

with the following ones:
Code: [Select]
var scale_w = Math.max(0.45*ww,450) / g_albumart.Width;
var scale_h = Math.max(0.9*0.75*wh,450) / g_albumart.Height;

This sets the maximum size of all (both embedded art and separate files) album art to 450x450 pixels.


Hi ojdo.

Thanks for your reply.

I did change the script as suggested but it didn't work, the album art is displaying the same as before the change.

Is there something else that could be done to display the album art in the desired maximum size ?

Thanks again,
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-04-02 08:54:23
Is there something else that could be done to display the album art in the desired maximum size ?


No, it should work. Please post your whole currently used WSH panel code in a CODEBOX or as an attachment and I will have a look into it.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-04-03 05:01:39
.......attached the code and thanks again for looking into this:[attachment=5831:WSH_Panel_Mod.txt]
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-04-03 11:42:14
Your upload was broken (double-pasting + encoding problems), so I just modified my version of WSHtpc01 and released a new version which offers a limited fixed maximum album art size: WSHtpc01 v0.3

Download: [attachment=5832:WSHtpc01_0.3.txt]

Changelog:


Please mind that restrictions derived from the panel size itself are still respected, so the limit of 450 pixels might not be respected when the proportional formulas calculate a smaller size. Artist art -- if available -- is also scaled accordingly to not be bigger than the album art. The code works, just enter 100 or another small value for it. (Now I see what was wrong with my previous suggestion. I advised you to use Math.max, while Math.min was of course needed.)
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-04-04 05:05:54
Hi ojdo.

Now it displays the desired maximum size after I changed this value from:

var AlbumArtMaxSize = 300;

To:

var AlbumArtMaxSize = 450;

It seems that embedded albumart is discarded if a hidden Folder.jpg is present.

The program is reading the Folder.jpg instead of the embedded album art which shows up in bad quality because the Folder.jpg files are 200x200 and get enlarged to the "AlbumArtMaxSize".

Is there a way to have the program read embedded album art only or with 1st priority.

Quote
.......The code works, just enter 100 or another small value for it.......


Where do I need to enter this value???

Thanks again very much for your effort.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-04-15 10:39:47
....... please give me a hand here to finally get this done (see my post above).

I tried everything what I could think of but couldn't manage.

There must be a way to display the embedded album art even with hidden Folder.jpg files present, I guess.

I don't want to go through my whole music collection and delete thousands of hidden Folder.jpg files .......

Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-04-15 11:03:36
That question doesn't belong in this thread as it only depends on how your album art reader (DUI: Preferences > Display, CUI: Preferences  > Columns UI, Tab Artwork) is configured and what features it has. As I don't use embedded album art better search the forum for the priority folder.jpg/emebedded art. There was some discussion ongoing on what takes precedence. If you don't want folder.jpg to be used at all, simply delete the corresponding line from the appropriate configuration field and -- which was sometimes necessary -- restart foobar.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-04-15 11:47:20
....... ok thanks, I got it now.

I just deleted the line folder.jpg in Preferences - Display - Album art - Front cover - Search patterns: that's it.

One more thing though, is there a possibility to add something like a F11 keyboard shortcut in order to get rid of the taskbar and top-window-bar (fullscreen) and exit with Esc or something like that ?

Thanks again for all your help, it's greatly appreciated .......
Title: HTPC Fullscreen panels II
Post by: halocline_ on 2010-04-15 23:03:01
Hi, I have a question. My artist images are typically not located in the audio file source folder, nor are they in a single dedicated folder. They are located in the artist folder, while my audio files are in subfolders of that artist folder, e.g. 'G:\Mp3'z\Shadows Fall\artist.jpg', rather than G:\Mp3'z\Shadows Fall\2009 - Retribution\artist.jpg'. So, foobar doesn't actually acknowledges that I have an artist.jpg, and it does not display it as a background. I tried adding 'G:\Mp3'z\%artist%\artist.jpg' in Preferences -> Display and in the Columns UI settings but that does nothing. Any help? 
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-05-10 17:15:55
....... can someone of you guys or maybe ojdo help me out to get foobar displaying in fullscreen ?

The screenshots at the beginning of this thread showing foobar in fullscreen but in my case it displays only like this:

[attachment=5898:screenshot1.jpg]

I'm running on Windows 7 at the moment with "WSHtpc01_0.3" installed .......
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2010-05-10 17:26:53
The screenshots at the beginning of this thread showing foobar in fullscreen


er no. the window is maximised just like yours. maybe the taskbar has been cropped from the screenshot or it's on autohide.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-05-10 18:17:44
The screenshots at the beginning of this thread showing foobar in fullscreen


er no. the window is maximised just like yours. maybe the taskbar has been cropped from the screenshot or it's on autohide.


....... I don't think that the screenshot image has been cropped (look at the top left corner of the screenshot) and then to the right.

I don't know about the taskbar though, was it set on autohide before the screenshot or not - I don't know.

Anyway, what I'm looking for is a solution to display foobar in "FULLSCREEN", no taskbar and no bar on top.

Is there a way to do it ?

After all, it's called "HTPC Fullscreen Panels" .......
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2010-05-10 19:06:41
in all the screenshots, you can clearly see the window title bar. :/

and no, you can't run foobar full screen.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2010-05-11 06:07:55
....... sorry, my mistake.

I saw the title on top but not the close window button on the right.

Now after enlarging the image the buttons are visible.

Fullscreen would be a nice feature to add though .......
Title: HTPC Fullscreen panels II
Post by: RedAlert on 2010-05-14 19:18:54
Im using WSHtpc02 and it's almost perfect. However artist art on background doesn't work. It's because I have following sturcture of music files:
d:\music\%artist%\%album%\*.mp3

And artist art is:
d:\music\%artist%\artist.jpg

When I move picture to the album directory everything works fine, but I dont want to have same picture in every file. Is there any way to fix that?
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-05-15 17:57:31
Fullscreen would be a nice feature to add though .......

This is not possible from within foobar. If you are not afraid of writing 10 lines of code, have a look into Autohotkey (http://www.autohotkey.com/).

music files: d:\music\%artist%\%album%\*.mp3
And artist art is: d:\music\%artist%\artist.jpg

Set your artist art source to "../artist.jpg" or "../artist.*". I have the same structure and this works.
Title: HTPC Fullscreen panels II
Post by: RedAlert on 2010-05-16 20:23:37
Where should I change it?

Ive done it in Columns UI artwork section and it works for Artwork View, but not for WSHtpc02.

Ive tried also to change it in Display menu. Without any success there....

Title: HTPC Fullscreen panels II
Post by: RedAlert on 2010-05-25 14:48:18
I appreciate your help....
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-05-25 15:19:57
Sorry, I seem to have missed a notification. I had forgotten which Preference the WSH panel used. It actually uses the default Album art reader mechanism that is configured on Preferences > Display. Add the following line to the artist art tab:

Code: [Select]
..\artist.jpg

I just verified and it works with WSHtpc02. It uses backslash-style directories... *rolleyes*
Title: HTPC Fullscreen panels II
Post by: Mr.Duck on 2010-06-05 00:15:27
Just trying put v0.2 now. Unless I am missing something, how do you browse music? Like there's no menu system for selecting a song so doesn't seem very HTPC friendly, just minimalist. Plus it doesn't look quite right with no artist images. Might be better for the next to be centered with the album art still on the left.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-06-05 13:44:03
Just trying put v0.2 now. Unless I am missing something, how do you browse music? Like there's no menu system for selecting a song so doesn't seem very HTPC friendly, just minimalist. Plus it doesn't look quite right with no artist images. Might be better for the next to be centered with the album art still on the left.


This is no full-fledged skin, just a panel configuration you can incorporate in your own foobar layout. I prefer this approach because this way anyone can - at least with Columns UI - use his/her own browsing layout (cf. Preferences > Columns UI, Tab Layout) and just switch to another layout (e.g. by keyboard shortcut, activated by a remote control) containing my "fullscreen panel". This way my foobar is quite keyboard-friendly to use.

In short: my configuration is intended to be used just as a "now playing" display, nothing else.
Title: HTPC Fullscreen panels II
Post by: Mr.Duck on 2010-06-05 17:31:28
Oh ok. I'm surprised no one has made an alternative UI for fullscreen/HTPC use. Doesn't have to be complicated, just like an ipod style menu system would be good.

Didn't know you could use a shortcut to switch layouts. I also found something that may be of interest. UI hacks (http://sites.google.com/site/foobar2000components/home/uihacks). I see from the screenshots that there is a fullscreen option. I haven't tried it yet tho.
Title: HTPC Fullscreen panels II
Post by: L_and_P21 on 2010-06-15 07:41:49
i was wondering would it be possible to add a lyrics display and a visualization display?
Title: HTPC Fullscreen panels II
Post by: phool on 2010-07-03 12:46:23
I've currently got my TV hooked up to my PC as a second monitor, so I decided to give this a whirl and check it out. I must say it looks really great on a 42" panel 

Edit: I should read more carefully.
Title: HTPC Fullscreen panels II
Post by: redmodel on 2010-08-26 02:46:54
Didn't know you could use a shortcut to switch layouts. I also found something that may be of interest. UI hacks (http://sites.google.com/site/foobar2000components/home/uihacks). I see from the screenshots that there is a fullscreen option. I haven't tried it yet tho.


UI Hacks works perfect!  I even used the autostart feature as well.  It'll be really nice to see this added to the Foobar Components section, so I won't miss any updates.

I also like this other Component they have:

http://sites.google.com/site/foobar2000com...ts/home/vumeter (http://sites.google.com/site/foobar2000components/home/vumeter)

I wouldn't mind getting some sort of visualisation meter displayed.

Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-09-12 12:18:03
New configuration: WSHtpc03 v0.1

(http://www.ojdo.de/fb2k/wshtpc03/2010-09-12--WSHtpc03-03.jpg)

Features

Usage suggestion
If you have no collection of hi-res artist images, you can also configure foobar to display any image you like. I use it e.g. to display an image depending on the %genre% by adding the following line to Preferences > Display: Section "Album art", Tab "Artist":
Code: [Select]
$if(%genre%,C:\genre_images\%genre%.*)


Download
[attachment=6059:WSHtpc03_0.1.txt]

Installation
Add a WSH Panel to your configuration.
Copy the contents of the text file to the panel's configuration window.
Hit Ok.


(http://www.ojdo.de/fb2k/wshtpc03/2010-09-12--WSHtpc03-02.jpg)
Title: HTPC Fullscreen panels II
Post by: Squeller on 2010-09-27 13:57:18
My layout is simple, I do the remote controlling with Girder (a lot of work all in all). Basically, when I listen to music, I turn the VGA out off. The TV Samsung LE46C650 is fed via VGA by a Thinkpad T23, which I bought for <100 EUR only for Audio out. Chain is via Audigy 2 ZS Notebook -> Kenwood -> Jamo D590. 1024x768 looks surprisingly good on the huge HD screen. I always had a horizontal progress indicator, but I removed it, because the you can see that the 4:3 image does not fit the 16:9 screen. HTH.

Output while playback:

(http://img338.imageshack.us/img338/8523/playx.png)

Whenever I browse:

(http://img839.imageshack.us/img839/5171/navigate.png)

This is how it looks like in the living room (image is unsharp, not the screen):

(http://img96.imageshack.us/img96/1484/img6958u.jpg)

Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-10-01 00:24:54
GREAT component!!!  Just fabulous.

Is there any easy way for me to get the artist image to source pictures from Lastfm and have them scroll?
Maybe even from some other sites not unlike J River?

Thanks again. 

You have motivated me to finally stop tweaking other configs and make one of my own "Theater View" style configs from scratch.

Cheers!
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-10-01 00:27:34
I always had a horizontal progress indicator, but I removed it, because the you can see that the 4:3 image does not fit the 16:9 screen.


Cant you simply change the resolution on your think pad to fill your HDTV?
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-10-01 19:35:02
Update: WSHtpc03 v0.5

(http://www.ojdo.de/fb2k/wshtpc03/2010-10-01--WSHtpc03-05-thumb.png) (http://www.ojdo.de/fb2k/wshtpc03/2010-10-01--WSHtpc03-05.png)

Changes to WSHtpc03 v0.1:
Download
[attachment=6124:WSHtpc03_0.5.zip]
Installation
Copy the file bg.jpg to %Foobar2000ProfilePath%/images/WSHtpc03/bg.jpg.
(This folder is either located in c:/Users/YourName/Appdata/Roaming/foobar2000 or in the installation directory for portable version.)
Add a WSH Panel to your configuration.
Copy the contents of the text file to the panel's configuration window.
Hit Ok.
Title: HTPC Fullscreen panels II
Post by: Gapkiller on 2010-10-03 21:17:30
Update: WSHtpc03 v0.5

....snip....

Changes to WSHtpc03 v0.1:

  • WMP-ish layout
  • Does not need artist art
  • Cool symbols (no more boring circles) for rating, mood and play count (all optional)
  • Displays much more information (album, genre, playback order) without looking crowded


Thank you!!! My new htpc will arrive in a few days and this will be very nice to use...
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-10-06 21:16:44
Small update: WSHtpc03 v0.5.1

Changes to previous version: Two bugfixes. One of a glitch with the playcount display, another resulting in a script error when listenning to an internet stream.

Download
[attachment=6133:WSHtpc03_0.5.1.zip]

Installation
Copy the file bg.jpg to %Foobar2000ProfilePath%/images/WSHtpc03/bg.jpg.
(This folder is either located in c:/Users/YourName/Appdata/Roaming/foobar2000 or in the installation directory for portable version.)
Add a WSH Panel to your configuration.
Copy the contents of the text file to the panel's configuration window.
Hit Ok.
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-10-22 18:13:23
The hidden playlist is just there to make keyboard shortcuts run properly. I use them to switch back and forth between different layouts (browsing and the fullscreen panels you find here).


Good day to you.

Thanks again for a wonderful component.

I am currently toggling between your full screen layout and DarkOne.  When I go from Darkone to your full screen I get a white screen with "Script Error".  A simple right click>Panel Properties>Apply fixes it.  And toggling back to Darkone is fine.  But going from DarkOne to you Fullscreen requires the reload of the WSH code. 

Any thoughts?

Thanks a lot,
pcstockton
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-10-24 15:17:54
Any thoughts

After the error occured, please copy & paste the error message that appears in the foobar console (Main Menu > View > Console) here. Probably some value is not initialised correctly. Which configuration/version of my script are you using? As a first measure, you could also check whether you have copied the complete text file, not just a portion.
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-10-25 00:16:40
Thanks for the help!

I am using v0.2 (with the artist picture in background)

Here is my console.

FYI, if nothing is playing, there is no error switching back and forth.

Thanks again,
p

Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-10-28 20:25:25
Fixed update of WSHtpc02 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=77413&view=findpost&p=688718) v0.3,
aka the configuration with artist background.

Changes from version 0.2
Installation
Copy the image files to %Foobar2000ProfilePath%/images/WSHtpc02/*.png.
(This folder is either located in c:/Users/YourName/Appdata/Roaming/foobar2000 or in the installation directory for portable version.)
Add a WSH Panel to your configuration.
Copy the contents of the included text file to the panel's configuration window.
Hit Ok.

[attachment=6155:WSHtpc02_0.3.zip]
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-10-29 22:05:04
thanks a lot Ojdo.  I really appreciate the help and support.

take care and have a great weekend!
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-10-29 22:13:08
....except now it doesn't work at all....  any thoughts?
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-10-30 00:06:42
The error message you uploaded occurred in the line that draws the artist image. Has this changed or is it the same error? Probably the image file the WSH panel tries to load/display causes trouble in the drawing function. In which format (jpg, png, ...) are the artist images stored? Does this happen consistently or only for certain images? When I know how to reproduce the error, I have something to work on.
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-10-31 05:03:52
Previously the error occurred when changing to the Full Screen panel.  A simple right click, configuration, accept/ok, fixed it.
When nothing was playing, switching to Full Screen did not produce the script error.

Now it errors constantly and nothing fixes it.

Thanks again for helping me with this!
-Patrick
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-10-31 09:25:31
This sounds like that the code in your WSH panel has an error. Are you sure the text was not mangled when opening/copying it? Please attach the console error message you get NOW. It probably isn't the same as before. Then, please give me more information about your "ecosystem":

Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-10-31 19:31:08
Thanks for continuing to help me!

I attached a new log for you.

I store album art as "folder.jpg" in each album folder, along with an "artist.jpg".
Everything in stored locally in the folder in which the files are found.

If there are embedded pictures I dont know anything about them.

Thanks!
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-11-01 21:25:15
The error message tells you the solution right away - with a little code reading:
Code: [Select]
Error: WSH Panel Mod (GUID: AE2E474F-BCBC-446D-9A90-5CFA8ABF449F): Microsoft JScript runtime error:
Object required
Ln: 112, Col: 5
<no source text available>
A quick glance to line 112 in the configuration code shows this line:
Code: [Select]
    gr.DrawImage(img_pborder[pb_order], ...
This line draws the symbol indicating the current playback order. The JScript error states that an "object [is] required" to draw. So probably the image could not be created because it was not where it should be. They should be in
Code: [Select]
C:\Documents and Settings\Patrick\Application Data\foobar2000\images\WSHtpc02\*.png

I suspect they are in the foobar installation folder at the moment. Just copy or move them to the new location.
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-11-02 00:35:18
AHA!!!!!!!!!!!  Thanks so much.  I am heading home now to give that a shot.  I am sure that is it.

You are the best ojdo.

-Patrick
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-11-03 01:23:04
Still no dice....

I created the images folder in Application Data as you told me to.  Now it works like is did initially, meaning it takes a right click>configure>apply (without doing anything to the code) to make the full screen view display.

I attached the log if you dont mind taking a look.

thanks!
Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-11-04 18:16:20
Nothing new in this log. It's the old error message stating an overflow. Please answer my questions from post #65.
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-11-04 19:43:11
1. How does the configuration for your album art reader (front and artist picture) look?
  2. Where (file path scheme or embedded?) and how (filetype) are these images stored?

I am not sure how to answer #1. 

#2 - File path is same as music files.  "Artist" and "Folder" jpgs in the same folder as the FLACs.


Title: HTPC Fullscreen panels II
Post by: ojdo on 2010-11-04 20:47:19
Concerning #1: I wanted to know if you had any special/unusual settings in Preferences > Display: Section Album Art. But as answer #2 indicates that you use "usual" jpgs with the common filenames, I'm sorry. I don't have a clue where this error could come from.
Title: HTPC Fullscreen panels II
Post by: pcstockton on 2010-11-05 00:54:02
Cool.

Thanks for helping me as far as you could Ojdo.

I will give up on my full screen panel for now.

The strange thing is it works just fine if nothing is playing.  I can toggle back and forth indefinitely.

I will try to see tonight if the error occurs on a configuration with ONLY your full screen config.  Maybe it is something with toggling from DarkOne that causes the error.

Again, thanks for your tireless efforts.

-Patrick
Title: HTPC Fullscreen panels II
Post by: claW2k5 on 2011-03-08 23:34:20
Is there any possibility to extend this script with a lyrics/text panel without changing the columns ui layout? Or does the WSH panel doesn't have any feature like this to inset other components (like Panels UI had the possibility to)?
Title: HTPC Fullscreen panels II
Post by: ojdo on 2011-03-09 22:03:59
You cannot include other panels, but the WSH panel itself has sufficient capabilities to display lyrics itself. The effort depends on how fancy the display should be (scrolling, highlighting, ...).
Title: HTPC Fullscreen panels II
Post by: kaller on 2011-04-23 11:09:20
This looks really great. But I have quite a noob question: Can I just install it over my current foobar or do I have to use a clean one? And is it possible then to switch between the view of your UI and the plain old foobar "view"? I have to use filters, NG Playlist and the media library to navigate through my collection and I need to keep that. However if I understand your description correct, I can only use the layout elements you suggested.
So I could maybe add it all to the WSH Panel, but how can I integrate a button or hotkey or something to open the old view or elements of it? Because I see no way of adding it all statically to your View as it would look pretty stupid then. So I image I would need to separate them and really alternate between them.
Thanks!
Title: HTPC Fullscreen panels II
Post by: SatFloyd on 2011-07-09 11:31:18
Hello odjo
I'm a happy user of WSHtpc02. It's just about perfect for my htpc use, thanks a lot for it.
Now I'm about to move and my new htpc display will be a large plasma TV.
Plasmas don't like static content (burn-in) and use quite some energy (black screen = low energy consumption, white screen = lots).
So I have a problem with WSHtpc02.

The perfect solution would be like:
20 seconds in and out of every song same look as WSHtpc02. then fade to black. fade in the cover at random size at a random
position within the screen after maybe 20 seconds for 10 seconds, fade out. possibly move the cover and display for a longer
time.
then do the same with the artist picture (shrinked), so that either black screen, cover or artist is showing, and WSHtpc02 around 40 seconds
between songs.
Also it would be great if 'ok' from the remote would bring back WSHtpc02 for 20 seconds.

Goal is, to save energy and screen life, but still use WSHtpc02.

Alternative for the screen saving time:
circle artist00 - artist10 pictures, fade in and out, alternate with black screen plus current info bar and cover but at random height.
Maybe easier to code?

Unfortunatly I can't code but maybe you feel challenged?
Thanks for considering!
Title: HTPC Fullscreen panels II
Post by: Craig6844 on 2011-07-21 06:28:19
I spent a little time modding WSHtpc02 and i thought i would share my work. 


Image 1- while playing

(http://dl.dropbox.com/u/6670204/screen1.jpg)
Image 2- while stopped
(http://dl.dropbox.com/u/6670204/screen2.jpg)

You can replace the wallpaper with one of you own choosing by putting it in the image folder and naming it bg.jpg. 


required files
need WSH Panel Mod latest version

This is mark2003's examples just set it up in default directions included
http://dl.dropbox.com/u/22801321/samples.zip (http://dl.dropbox.com/u/22801321/samples.zip)

This is the wallpaper shown and the txt file and goes here  %foobar path%/images/bg.jpg
http://dl.dropbox.com/u/6670204/htpcv1.0.7z (http://dl.dropbox.com/u/6670204/htpcv1.0.7z)
Title: HTPC Fullscreen panels II
Post by: starterz on 2011-08-20 02:45:58
Update: WSHtpc03 v0.5

(http://www.ojdo.de/fb2k/wshtpc03/2010-10-01--WSHtpc03-05-thumb.png) (http://www.ojdo.de/fb2k/wshtpc03/2010-10-01--WSHtpc03-05.png)

Changes to WSHtpc03 v0.1:
  • WMP-ish layout
  • Does not need artist art
  • Cool symbols (no more boring circles) for rating, mood and play count (all optional)
  • Displays much more information (album, genre, playback order) without looking crowded

Download
[attachment=6124:WSHtpc03_0.5.zip]
Installation
Copy the file bg.jpg to %Foobar2000ProfilePath%/images/WSHtpc03/bg.jpg.
(This folder is either located in c:/Users/YourName/Appdata/Roaming/foobar2000 or in the installation directory for portable version.)
Add a WSH Panel to your configuration.
Copy the contents of the text file to the panel's configuration window.
Hit Ok.


Hello, I have been using your fullscreen configs for wuite some time now, thanks for an amazing effort. What I miss in these WSH configs, is to display the cover in a nice and shiny CD case. How would I go about doing this, as I am not a coder? Is it possible to have this in a WSH panel like this one, within DUI? Thanks for any help and all best.
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2011-08-20 14:30:08
here you go. http://dl.dropbox.com/u/22801321/wsh_htpc.7z (http://dl.dropbox.com/u/22801321/wsh_htpc.7z)

the images folder needs extracting to your foobar2000 profile folder.

Title: HTPC Fullscreen panels II
Post by: starterz on 2011-08-21 09:41:46
here you go. http://dl.dropbox.com/u/22801321/wsh_htpc.7z (http://dl.dropbox.com/u/22801321/wsh_htpc.7z)

the images folder needs extracting to your foobar2000 profile folder.


Thank you! All best.
Title: HTPC Fullscreen panels II
Post by: Chipicui on 2011-11-17 02:38:58
I wanted to say a big THANKS to you odjo for this beautiful panel.
Great work!
I'd humbly second SatFloyd's request for some kind of effect to fade out (or turn off completely) the screen after a certain time, and turn it on again on new song, because it would be a real energy saver for a TV screen.
Thanks a lot!
Title: HTPC Fullscreen panels II
Post by: Chipicui on 2011-11-17 22:33:28
Just a suggestion:
Another enhancement I'd love would be some kind of function to auto-rotate all the jpg's in the album's folder...
I'd try to do it myself if I had any knowledge of wsh panels but anyway... be sure that really thankful for the panels just as they are now!
Title: HTPC Fullscreen panels II
Post by: ojdo on 2011-11-18 09:44:21
What do you mean by "auto-rotate"?

Concerning the requests for fading/energy saving options: After over a year with WSHtpc03, I'm beginning to get bored with it. WSHtpc04 is on the way, but has no definite release date yet ("when it's done").
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2011-11-18 11:43:42
i guess Chipicui means cycle through all images in a folder at an interval of so many seconds. i have a similar feature in my own scripts.

mine works like this.

-read all images into an array using utils.glob on a folder path/file mask
-create a new array of image objects from these file paths
-display the first image
-after a set interval, increment the value of the current image by one.
-remeber to handle reaching the end of the array by going back to 0.
Title: HTPC Fullscreen panels II
Post by: Chipicui on 2011-11-22 21:46:42
Thanks marc2003 for your explanation! ... that's exactly what I meant to say
And thanks again ojdo for taking the time to create a new HTPC panel... if it's half as nice as the ones you already did it'll be beautiful.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2011-11-22 22:16:58
New release: WSHtpc04 v0.1Globbing of image files is not implemented yet, but planned for v0.2.

(http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04-03-500x258.png) (http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04-03.png)

(http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04-01-500x258.png) (http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04-01.png)

Download
[attachment=6767:WSHtpc04_0.1.zip]
Installation instructions and my older configurations (WSHtpc01-03) can be found here (http://www.ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000/).
Title: HTPC Fullscreen panels II
Post by: ojdo on 2011-11-23 18:31:14
Bugfix update: WSHtpc04 v0.1.1
I should have waited one day with the release...
[attachment=6768:WSHtpc04_0.1.1.zip]
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2011-11-23 19:03:46
a few issues with this....

-it's spamming the console (line 357: fb.trace(my_timer); )

-crashes on resize

Code: [Select]
'shadow_image' is null or not an object
File: <main>
Ln: 465, Col: 5
<source text only available at compile time>


also i don't understand the logic for displaying the full image or track details. it seems random and changes when seeking????
Title: HTPC Fullscreen panels II
Post by: ojdo on 2011-11-23 19:56:00
Quote
Crash in createDropShadow()

Strange, this is unmodified code from WSHtpc03, working for me over a year without crash. In the next release, the function won't be called in on_size anymore - that never was a good idea anyway. Please report if the version below behaves as it should

also i don't understand the logic for displaying the full image or track details. it seems random and changes when seeking????

Logic behind big/small: Album art is is big, exceptDo you have other suggestions? The tag change event is essential, at least for me. However, I could make it configurable. This is my first adventure with timer events, so please be patient
While I explain the logic, I see where the problem is: tags should be displayed for the first ~15-30 real time seconds of a song, without respect to seeking. I haven't noticed that the current behaviour is annoying because I rarely seek. This behaviour is changed in 0.1.3.

Download
[attachment=6770:WSHtpc04_0.1.3.zip]Fixed: fb.trace spams console
Fix (?): createDropShadow no longer called in on_size
Change: timer behaviour now more predictable and configurable (see pref["t_start"] and pref["t_tag"]).
Title: HTPC Fullscreen panels II
Post by: marc2003 on 2011-11-25 13:04:25
sorry i forgot about this. tested and working fine.

Quote
I see where the problem is: tags should be displayed for the first ~15-30 real time seconds of a song, without respect to seeking. I haven't noticed that the current behaviour is annoying because I rarely seek. This behaviour is changed in 0.1.3.


this makes much more sense now.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2011-11-26 02:32:00
New version 0.2.0. Changes from 0.1.3:
Download
[attachment=6771:WSHtpc04_0.2.0.zip]
Title: HTPC Fullscreen panels II
Post by: Oery on 2011-11-26 06:59:17
New version 0.2.0. Changes from 0.1.3:
  • new option: display "globbed" images on rotation OR (old behaviour) front cover from album art reader.
  • mouse interaction: click on album for play/pause, click on right/left border for next/prev song; click on progress bar for seeking
Download
[attachment=6771:WSHtpc04_0.2.0.zip]

Thank you, working perfectly
I'm just missing CD Jewel Case..... pls consider to attach it again
Title: HTPC Fullscreen panels II
Post by: ojdo on 2011-11-26 13:27:05
I'm just missing CD Jewel Case..... pls consider to attach it again
Sorry, I won't do that - I'm done with jewel cases, as a growing part of my music collection never got released on physical medium. Anyway, it's just adding two or three lines of code to the panel's on_paint function. You might want to try adding the code yourself:

1. Search or prepare a set of jewel case images. Usually two: one for the case border and a transparent reflection image.
2. Search for the two sections beginning with if (albumart) in the on_paint function. Locate the line that draws the image itself: gr.DrawImage(albumart, [...]). Just before that line, add an identical line that paints the jewel case. (Search for bg_image to see how to create an image object that can be drawn by DrawImage.) After the albumart line, add a copy that draws the reflection imge.
3. Play around with the positional function arguments (the ones using albumart_size
Title: HTPC Fullscreen panels II
Post by: starterz on 2011-11-27 10:52:14
Thank you for this. I am really going to try customizing, and come back with results. All best.
Title: HTPC Fullscreen panels II
Post by: starterz on 2011-11-27 16:00:46
Not as easy as I thought :-) I have two great images for the jewel case and the gloss, which I have used for a long time with your HTPC07.

I would like to use only the "extended" version of the panel, with the tag information on the left and the cover art in a jewel case on the right.

As I understand up untill now:

Here:

Code: [Select]
// BACKGROUND IMAGE
pref["bg_image"] = fb.ProfilePath+"images/WSHtpc04/diagonal-stripes.png";

I have to create two more entries for the jewel case and gloss images.

Code: [Select]
pref["bg_image"] = fb.ProfilePath+"images/WSHtpc04/case.png";
pref["bg_image"] = fb.ProfilePath+"images/WSHtpc04/gloss.png";

Here:

Code: [Select]
// INIT
// ALBUM ART
var albumart      = null;                        // albumart image
var albumart_size = new Array(0,0,0,0);          // position (big image)
var aa_size       = new Array(0,0,0,0);          // position (small image)
var image_bg      = gdi.Image(pref["bg_image"]); // background image

I have to create two more entries for the jewel case and gloss, but can I name them bg_jewel and bg_gloss?

Code: [Select]
var jewel_bg      = gdi.Image(pref["bg_jewel"]); // cd case
var gloss_bg      = gdi.Image(pref["bg_gloss"]); // cd gloss

Afterwards:

Code: [Select]
       // Small albumart on the right
        if (albumart) {
            shadow_image && gr.DrawImage(shadow_image, aa_size[0]-geo["aa_shadow"],aa_size[1]-geo["aa_shadow"],aa_size[2]+2*geo["aa_shadow"],aa_size[3]+2*geo["aa_shadow"],0,0,shadow_image.Width,shadow_image.Height);
gr.DrawImage(jewel_bg, aa_size[0], aa_size[1], aa_size[2], aa_size[3], 0, 0, albumart.Width, albumart.Height);
gr.DrawImage(albumart, aa_size[0], aa_size[1], aa_size[2], aa_size[3], 0, 0, albumart.Width, albumart.Height);
gr.DrawImage(gloss_bg, aa_size[0], aa_size[1], aa_size[2], aa_size[3], 0, 0, albumart.Width, albumart.Height);

            gr.DrawRect(aa_size[0]-1,aa_size[1]-1,aa_size[2]+1,aa_size[3]+1,1,col["aa_border"]);
            if (fb.IsPaused) { gr.FillSolidRect(aa_size[0],aa_size[1],aa_size[2],aa_size[3],RGBA(0,0,0,150)); }
        }

This should be also done in the // BIG ALBUMART part, I suppose.

Just tell me if I am on the right path :-) How do I disable the //BIG ALBUMART version of the panel? Is the size of the jewel/gloss images important, or the script will resize them too like the album art image?

Thanks and all best.
Title: HTPC Fullscreen panels II
Post by: starterz on 2011-11-27 20:47:25
OK, I got this far, I can see the gloss on the album art, but not the jewel case. Please help :-)

Code: [Select]
//
// WSHtpc04
//
// Description  a fullscreen now-playing script for foo_uie_wsh_panel
// Author   ojdo
// Version   0.2.0
// Last change  2011-11-26
// --------------------------------------------------------------------------------------

// CONFIGURATION //////////////////////////////////////

// faux "associative arrays" for settings
var tf   = new Object(); // titleformating strings
var ft   = new Object(); // fonts
var col   = new Object(); // colours
var geo   = new Object(); // sizes
var pref = new Object(); // preferences

// TEXTS
tf["title"] = "%title%";
tf["artist"] = "[%artist%]";
tf["grid"]   = Array( // simply add, change or remove entries to change grid layout
Array("Album",   "[%album%]"),
Array("Track",   "$if(%tracknumber%,$num(%tracknumber%,1)$if(%totaltracks%,/$replace($num(%totaltracks%,1),0,₀,1,₁,2,₂,3,₃,4,₄,5,₅,6,₆,7,₇,8,₈,9,₉)))$ifgreater(%totaldiscs%,1,  CD %discnumber%/$replace($num(%totaldiscs%,1),0,₀,1,₁,2,₂,3,₃,4,₄,5,₅,6,₆,7,₇,8,₈,9,₉),)"),
Array("Genre",   "[%genre%]"),
Array("Style",   "[%style%]"),
Array("Publisher",  "[%publisher%]"),
Array("Release", "[%release%]"),
Array("Play count", "$puts(X,10)$repeat($repeat(I,$get(X))  ,$div(%play_count%,$get(X)))$repeat(I,$mod(%play_count%,$get(X)))"),
Array("URL", "$if(%source webpage url%,$left($put(url,$replace(%source webpage url%,'http://',,www.,)),$sub($strchr($get(url),/),1)))"),
Array("Rating", "$repeat(IIIII  ,%rating%)"),
Array("Mood",   "$repeat(IIIII  ,%mood%)")
);

// TIMING
pref["t_start"]  = 30; // seconds to display tag grid after track change
pref["t_tag"] =  5; // seconds to display tag grid on tag change

// GLOB PICTURES
pref["aa_glob"] = true;  // true: use glob, false: use albumart reader (front only)
pref["aa_glob_shuffle"] = false; // true: random order, false: ordered like found by glob_paths
pref["t_aa_glob"]   = 20; // seconds per image
tf["glob_paths"] = Array( // simply add, change or re-order entries
"$replace(%path%,%filename_ext%,)folder*",
"$replace(%path%,%filename_ext%,)*.jpg",
"$replace(%path%,%filename_ext%,)*.png",
"$replace(%path%,%directoryname%\\%filename_ext%,)folder.jpg"
);

// FONTS
ft["title"]   = gdi.Font("Calibri",40,0);
ft["artist"] = gdi.Font("Calibri",24,0);
ft["grd_key"] = gdi.Font("Calibri",14,0);
ft["grd_val"] = gdi.Font("Calibri",16,0);
ft["lower_bar"]  = gdi.Font("Calibri",18,0);

// COLOURS
col["title"] = RGB(255,255,255);
col["artist"]  = RGB(192,192,192);
col["grd_key"]  = RGB(090,090,090);
col["grd_val"]  = RGB(192,192,192);
col["btm_key"]  = RGB(090,090,090);
col["btm_val"]  = RGB(192,192,192);
col["bg"]   = RGB(000,000,000);
col["rating"]  = RGB(255,128,000);
col["mood"] = RGB(000,128,255);
col["prgrss_fill"] = RGBA(255,255,255,050);
col["prgrss_line"] = RGBA(255,255,255,050);

// ALBUM ART DISPLAY PROPERTIES
col["aa_border"] = RGBA(060,060,060,128);
col["aa_shadow"] = RGBA(000,000,000,255);
geo["aa_shadow"] = 22; // size of albumart shadow

// BACKGROUND IMAGE
pref["bg_image"] = fb.ProfilePath+"images/WSHtpc04/diagonal-stripes.png";
pref["bg_case"] = fb.ProfilePath+"images/WSHtpc04/case.png";
pref["bg_gloss"] = fb.ProfilePath+"images/WSHtpc04/gloss.png";

// END OF CONFIGURATION /////////////////////////////////

// INIT
// ALBUM ART
var albumart   = null; // albumart image
var albumart_size = new Array(0,0,0,0);   // position (big image)
var aa_size   = new Array(0,0,0,0);   // position (small image)
var image_bg   = gdi.Image(pref["bg_image"]); // background image
var case_bg   = gdi.Image(pref["bg_case"]); // cd case
var gloss_bg   = gdi.Image(pref["bg_gloss"]); // cd gloss

var textrender = gdi.CreateStyleTextRender(); // anti-aliased text
var str   = new Object();
var img   = new Object();
var pbtext  = new Array("Default", "Repeat (Playlist)", "Repeat (Track)", "Random", "Shuffle (tracks)", "Shuffle (albums)", "Shuffle (folders)");

var metadb_handle = null; // watch db for tag changes
var timer;   // 40ms repaint of progress bar

// TIMER & STATUS
var ww = 0, wh = 0; // size of panel
var start_timer = 0; // timer for panel layout after track change
var glob_timer = 0;  // timer for glob albumart cycle
var tag_timer = 0;  // timer for panel layout after tag change
var pb_timer = 0;  // timer for playback_order text
var last_pb; // saves last playback order
var g_drag = 0; // status variable for clickable progress bar

var aa_list = new Array();
var aa_k = 0;

// Function: Remove duplicates from array
Array.prototype.myUnique = function(){
var r = new Array();
o:for(var i = 0; i < this.length; i++) {
for(var x = 0; x < r.length; x++) {
if(r[x]==this[i]) {
continue o;
}
}
r[r.length] = this[i];
}
return r;
};
 

// Call initialization function
on_init();

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function on_paint(gr) {
gr.SetTextRenderingHint(5);
gr.SetSmoothingMode(4);
//gr.SetInterpolationMode(7);

// Background
gr.FillSolidRect(-1,-1,ww+2,wh+2,col["bg"]);
gr.DrawImage(image_bg, 0,0,ww,wh-geo["lower_bar_h"]-1, 0,0,image_bg.Width,image_bg.Height-geo["lower_bar_h"]-1);
 
if (ww > 600 && ((tag_timer < pref["t_tag"]*25) || (start_timer < pref["t_start"]*25))) {

// TAG GRID & ALBUMART
 
// Small albumart on the right
if (albumart) {
shadow_image && gr.DrawImage(shadow_image, aa_size[0]-geo["aa_shadow"],aa_size[1]-geo["aa_shadow"],aa_size[2]+2*geo["aa_shadow"],aa_size[3]+2*geo["aa_shadow"],0,0,shadow_image.Width,shadow_image.Height);
gr.DrawImage(case_bg, aa_size[0], aa_size[1], aa_size[2], aa_size[3], 0, 0, albumart.Width, albumart.Height);
gr.DrawImage(albumart, aa_size[0], aa_size[1], aa_size[2], aa_size[3], 0, 0, albumart.Width, albumart.Height);
gr.DrawImage(gloss_bg, aa_size[0], aa_size[1], aa_size[2], aa_size[3], 0, 0, albumart.Width, albumart.Height);
gr.DrawRect(aa_size[0]-1,aa_size[1]-1,aa_size[2]+1,aa_size[3]+1,1,col["aa_border"]);
if (fb.IsPaused) { gr.FillSolidRect(aa_size[0],aa_size[1],aa_size[2],aa_size[3],RGBA(0,0,0,150)); }
}

// Artist & title
textrender.EnableShadow(true);
textrender.ResetShadow();
textrender.GlowText(col["title"], col["bg"], 6);
if(str["title"]) { textrender.RenderStringRect(gr, str["title"],  ft["title"],  0.025*ww, 0.175*wh, 0.5*ww, 40, StringFormat(0,0,4)); }
textrender.GlowText(col["artist"], col["bg"], 6);
if(str["artist"])   { textrender.RenderStringRect(gr, str["artist"], ft["artist"], 0.025*ww, 0.175*wh+50, 0.5*ww, 20, StringFormat(0,0,4)); }

// Tag grid
for (k=0; k<str["grid"].length; k++) {
key  = str["grid"][k][0];
value = str["grid"][k][1];
if(value) {
if(k%2 == 0 || ww > 780) {
cell_width = (ww <= 780) ? 0.5*ww-80 : 0.25*ww-80;
textrender.GlowText(col["grd_key"], col["bg"], 3);
textrender.RenderStringRect(gr, key, ft["grd_key"], 0.025*ww + (k%2)*0.25*ww, 0.45*wh+Math.floor(k/2)*30+3, cell_width, 20, StringFormat(0,0,4));
switch (key) {
case "Rating": textrender.GlowText(col["rating"], col["bg"], 3); break;
case "Mood":  textrender.GlowText(col["mood"], col["bg"], 3); break;
default:   textrender.GlowText(col["grd_val"], col["bg"], 3);

}
textrender.RenderStringRect(gr, value, ft["grd_val"], 0.025*ww+80 + (k%2)*0.25*ww, 0.45*wh+Math.floor(k/2)*30, cell_width, 20, StringFormat(0,0,4));
}
}
}
} else {

// BIG ALBUMART
if (albumart) {
shadow_image && gr.DrawImage(shadow_image, albumart_size[0]-geo["aa_shadow"],albumart_size[1]-geo["aa_shadow"],albumart_size[2]+2*geo["aa_shadow"],albumart_size[3]+2*geo["aa_shadow"],0,0,shadow_image.Width,shadow_image.Height);
gr.DrawImage(case_bg, albumart_size[0], albumart_size[1], albumart_size[2], albumart_size[3], 0, 0, albumart.Width, albumart.Height);
gr.DrawImage(albumart, albumart_size[0], albumart_size[1], albumart_size[2], albumart_size[3], 0, 0, albumart.Width, albumart.Height);
gr.DrawImage(gloss_bg, albumart_size[0], albumart_size[1], albumart_size[2], albumart_size[3], 0, 0, albumart.Width, albumart.Height);
gr.DrawRect(albumart_size[0]-1,albumart_size[1]-1,albumart_size[2]+1,albumart_size[3]+1,1,col["aa_border"]);
if (fb.IsPaused) { gr.FillSolidRect(albumart_size[0],albumart_size[1],albumart_size[2],albumart_size[3],RGBA(0,0,0,150)
); }
}

}


// LOWER BAR

// Title & artist
gr.DrawString(str["lower_bar1"]+" "+str["lower_bar2"],ft["lower_bar"],col["btm_key"],0.025*ww,wh-geo["lower_bar_h"],0.95*ww,0.5*geo["lower_bar_h"]);
gr.DrawString(str["lower_bar1"], ft["lower_bar"],col["btm_val"],0.025*ww,wh-geo["lower_bar_h"],0.95*ww,0.5*geo["lower_bar_h"]);

// Playback order
if(pb_timer < 5*25 && ww > 600) {
gr.DrawString(pbtext[fb.PlaybackOrder]+"   "+str["time"]+"  "+str["length"],ft["lower_bar"],col["btm_key"],0.575*ww,wh-geo["lower_bar_h"],0.4*ww,0.5*geo["lower_bar_h"],StringFormat(2,0));
}
// Progress bar
gr.DrawRect( 0.025*ww,wh-0.5*geo["lower_bar_h"],0.95*ww,4,1,col["prgrss_line"]);
if(fb.PlaybackLength > 0) {
if (ww > 600) {
gr.DrawString(str["time"]+"  "+str["length"],ft["lower_bar"],col["btm_key"],0.725*ww,wh-geo["lower_bar_h"],0.25*ww,0.5*geo["lower_bar_h"],StringFormat(2,0));
gr.DrawString(   str["length"],ft["lower_bar"],col["btm_val"],0.725*ww,wh-geo["lower_bar_h"],0.25*ww,0.5*geo["lower_bar_h"],StringFormat(2,0));
}
gr.FillSolidRect(0.025*ww,wh-0.5*geo["lower_bar_h"],0.95*ww*(fb.PlaybackTime / fb.PlaybackLength),4,col["prgrss_fill"]);
}

}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////















// -----------------------------------------------------------------------
// CALLBACKS
// -----------------------------------------------------------------------

// custom initialisation function, called once after variable declarations
function on_init() {
on_size();

geo["lower_bar_h"] = 60;


str["title"] = "";
str["artist"] = "";
str["lower_bar1"] = "foobar2000";
str["lower_bar2"] = "plays music";
str["grid"]  = new Array();

last_pb = fb.PlaybackOrder;

var bg_scale = Math.max(1,(wh-geo["lower_bar_h"]-1) / image_bg.Height);
image_bg = image_bg.Resize(image_bg.Width*bg_scale,image_bg.Height*bg_scale);

on_playback_new_track(fb.GetNowPlaying());
}

// window size changed
function on_size() {
ww = window.Width;
wh = window.Height;

if(albumart) {
// Size for big albumart
var album_scale = Math.min(0.95*ww / albumart.Width, 0.9*(wh-geo["lower_bar_h"]) / albumart.Height);
albumart_size[2] = albumart.Width * album_scale;
albumart_size[3] = albumart.Height * album_scale;
albumart_size[0] = 0.5*ww-0.5*albumart_size[2];
albumart_size[1] = 0.5*(wh-geo["lower_bar_h"])-0.5*albumart_size[3];

// Size for small
var aa_scale = Math.min(0.45*ww / albumart.Width, 0.7*(wh-geo["lower_bar_h"]) / albumart.Height);
aa_size[2] = albumart.Width * aa_scale;
aa_size[3] = albumart.Height * aa_scale;
aa_size[0] = 0.75*ww-0.5*aa_size[2];
aa_size[1] = 0.5*wh-0.5*aa_size[3];
} else {
albumart_size = Array(0,0,0,0);
}
}

// new track
function on_playback_new_track(metadb) {
start_timer  = 0;
pb_timer = 0;
glob_timer = 0;
timer = window.CreateTimerInterval(40);

// Fetch new albumart
aa_list = [];
for(k = 0;k<tf["glob_paths"].length; k++) {
aa_list = aa_list.concat(utils.Glob(fb.TitleFormat(tf["glob_paths"][k]).Eval()).toArray());
}
if (!pref["aa_glob"]) {
if (metadb) {
utils.GetAlbumArtAsync(window.ID, metadb, 0); 
}
} else {
if(aa_list.length > 0) {
aa_list = eliminateDuplicates(aa_list); // remove duplicates
pref["aa_glob_shuffle"] && fisherYates(aa_list); // shuffle list
aa_k = 0;
glob_image(aa_k); // display first image
}
}

// enable "watch for tag changes" on new track
if (metadb_handle) {window.UnwatchMetadb();}
metadb_handle = fb.GetNowPlaying();
if (metadb_handle) {
on_metadb_changed(); // refresh panel
window.WatchMetadb(metadb_handle);
}
on_playback_time();
}


// tag content changed
function on_metadb_changed() { 
title  = fb.TitleFormat(tf["title"]).Eval();
artist = fb.TitleFormat(tf["artist"]).Eval();

str["title"] = title;
str["artist"] = artist;
str["lower_bar1"] = title;
str["lower_bar2"] = artist;

h = Math.floor(fb.PlaybackLength/3600);
m = Math.floor(fb.PlaybackLength%3600/60);
s = Math.floor(fb.PlaybackLength%60);
str["length"] = (h > 0 ? h+":"+(m < 10 ? "0":"")+m : m) + ":" + (s < 10 ? "0":"") + s;

for (k=0; k<tf["grid"].length; k++) {
str["grid"][k] = Array(
tf["grid"][k][0],
fb.TitleFormat(tf["grid"][k][1]).Eval()
);
}

tag_timer = 0;
window.Repaint();
}


// User activity
function on_mouse_lbtn_dblclk() {
// re-initialise the panel
on_playback_new_track(fb.GetNowPlaying());
}
function on_playback_order_changed(this_pb) {
// Repaint playback order
if (this_pb != last_pb) {
pb_timer = 0;
window.RepaintRect(0.5*ww,wh-geo["lower_bar_h"],0.5*ww,geo["lower_bar_h"]);
}
last_pb = this_pb;

}
function on_playback_seek() {
on_playback_time();
}

function on_mouse_lbtn_down(x, y) {
if(y > wh-geo["lower_bar_h"]) {
g_drag = 1;
}
}

function on_mouse_lbtn_up(x, y) {
on_mouse_move(x, y);
g_drag = 0;

// Play or pause on album cover
if (ww > 600 && ((tag_timer < pref["t_tag"]*25) || (start_timer < pref["t_start"]*25))) {
// small album art
if ( aa_size[0] <= x && aa_size[1] <= y && aa_size[0]+aa_size[2] >= x && aa_size[1]+aa_size[3] >= y) {
fb.PlayOrPause();
}
} else {
// big album art
if ( albumart_size[0] <= x && albumart_size[1] <= y && albumart_size[0]+aa_size[2] >= x && albumart_size[1]+aa_size[3] >= y) {
fb.PlayOrPause();
}
}

if (x < 0.01*ww) { fb.Prev(); }
if (x > 0.99*ww) { fb.Next(); }
}

function on_mouse_lbtn_dblclk() {
tag_timer = -1;
on_timer();
}

function on_mouse_move(x, y) {
if (g_drag) {
var v = (x-0.025*ww) / (0.95*ww);
v = (v < 0) ? 0 : (v < 1) ? v : 1;
if (fb.PlaybackTime != v*fb.PlaybackLength) fb.PlaybackTime = v*fb.PlaybackLength;
}
}


// Timed events

function on_playback_time(){
// Repaint seekbar and playback times
this_time = fb.PlaybackTime;
pb_length = fb.PlaybackLength;

h = Math.floor(this_time/3600);
m = Math.floor(this_time%3600/60);
s = Math.floor(this_time%60);
str["time"]  = (h > 0 ? h+":"+(m < 10 ? "0":"")+m : m) + ":" + (s < 10 ? "0":"")+ s;

}
function on_timer(id){ 
start_timer = start_timer + 1;
tag_timer = tag_timer + 1;
pb_timer = pb_timer + 1;
glob_timer = glob_timer + 1;
if (glob_timer == pref["t_aa_glob"]*25) {
aa_k = (aa_k + 1) % aa_list.length;
glob_image(aa_k);
glob_timer = 0;
}
if ((tag_timer == pref["t_tag"]*25) || (tag_timer <= 0) || (start_timer == pref["t_start"]*25) || (glob_timer == 0)) {
window.Repaint();
} else {
window.RepaintRect(0,wh-geo["lower_bar_h"],ww,geo["lower_bar_h"]);
}
}
function on_playback_pause() {
// Draws grey shadow on album art
window.RepaintRect(albumart_size[0],albumart_size[1],albumart_size[2],albumart_size[3]);
window.RepaintRect(aa_size[0],aa_size[1],aa_size[2],aa_size[3]);
}

function on_playback_stop(reason) {
if(reason != 2) { // starting_another
// clear all variables and repaint
albumart = null; artistart = null;

str["title"] = "";
str["artist"] = "";
str["lower_bar1"] = "foobar2000";
str["lower_bar2"] = "plays music";
str["grid"] = Array();
window.Repaint();
}
timer && window.KillTimer(timer);
}

// album art retrieved
function on_get_album_art_done(metadb, art_id, image) {
// only use album art reader if globbing is disabled
if (!pref["aa_glob"]) {
switch(art_id) {
case 0:  // front
if(image) { albumart = image; }
else { albumart = null; }
break;
}
on_size(); // recalculate image positions
createDropShadow(); // recreate shadow image
window.Repaint(); // calls on_paint()
}
}


// HELPER FUNCTIONS
function StringFormat() {
var h_align = 0, v_align = 0, trimming = 0, flags = 0;
switch (arguments.length)
{
// fall-through
case 4: flags = arguments[3];
case 3: trimming = arguments[2];
case 2: v_align = arguments[1];
case 1: h_align = arguments[0]; break;
default: return 0;
}
return ((h_align << 28) | (v_align << 24) | (trimming << 20) | flags);
}
function RGB(r, g, b) { return (0xff000000 | (r << 16) | (g << 8) | (b)); }
function RGBA(r, g, b, a) { return ((a << 24) | (r << 16) | (g << 8) | (b)); }

function drawStar(gr, x, y) {
// gr = Drawing Object handle
// x,y = position of center
// color = array of colors for filling and border
// size = radius
// n = number of peaks
// phi = rotation
var size=16, n=5, phi=Math.PI/2, color=Array(RGB(210,170,0),RGB(255,255,0)), innerSize=.5;
switch(arguments.length) {
// fall-through
case 8: innerSize = arguments[7];
case 7: phi  = arguments[6];
case 6: n = arguments[5];
case 5: size  = arguments[4];
case 4: color = arguments[3];
}
var points = new Array(4*n);
for(var k=0;k<n;k++) {
// outer edge
points[4*k]  = x+size*Math.cos(2*Math.PI*k/n-phi);
points[4*k+1] = y+size*Math.sin(2*Math.PI*k/n-phi);
// inner edge
points[4*k+2] = x+innerSize*size*Math.cos(2*Math.PI*(k+.5)/n-phi);
points[4*k+3] = y+innerSize*size*Math.sin(2*Math.PI*(k+.5)/n-phi);
}
gr.FillPolygon(color[0],1,points);
gr.DrawPolygon(color[1],1.2,points);
}

function createDropShadow() {
shadow_image = gdi.CreateImage(albumart_size[2]+2*geo["aa_shadow"], albumart_size[3]+2*geo["aa_shadow"]);
if (shadow_image) {
shimg = shadow_image.GetGraphics();
shimg.FillEllipse(1.5*geo["aa_shadow"],1.0*geo["aa_shadow"],albumart_size[2]-geo["aa_shadow"],2*geo["aa_shadow"],col["aa_shadow"]);
shimg.FillEllipse(1.0*geo["aa_shadow"],1.5*geo["aa_shadow"],2*geo["aa_shadow"],albumart_size[3]-geo["aa_shadow"],col["aa_shadow"]);
shimg.FillEllipse(1.5*geo["aa_shadow"],albumart_size[3]-geo["aa_shadow"],albumart_size[2]-geo["aa_shadow"],2*geo["aa_shadow"],col["aa_shadow"]);
shimg.FillEllipse(albumart_size[2]-geo["aa_shadow"],1.5*geo["aa_shadow"],2*geo["aa_shadow"],albumart_size[3]-geo["aa_shadow"],col["aa_shadow"]);
shadow_image.ReleaseGraphics(shimg);
shadow_image.BoxBlur(geo["aa_shadow"],1);
}
}

function glob_image(k) {
albumart = gdi.Image(aa_list[k]);
on_size(); // recalculate image positions
createDropShadow(); // recreate shadow image
}

function fisherYates ( myArray ) {
//
var i = myArray.length;
if ( i == 0 ) return false;
while ( --i ) {
var j = Math.floor( Math.random() * ( i + 1 ) );
var tempi = myArray[i];
var tempj = myArray[j];
myArray[i] = tempj;
myArray[j] = tempi;
}
}


function eliminateDuplicates(arr) {
  var i,
  len=arr.length,
  out=[],
  obj={};

  for (i=0;i<len;i++) {
obj[arr[i]]=0;
  }
  for (i in obj) {
out.push(i);
  }
  return out;
}



// EOF
Title: HTPC Fullscreen panels II
Post by: Chipicui on 2011-11-28 03:54:39
Hi!... thanks a lot ojdo!
However, I can't load it as I get:

Scripting Engine Initialization Failed ({C632EBF9-C418-48FA-A98F-9D10E429A375}, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).

On console:

Error: WSH Panel Mod ({C632EBF9-C418-48FA-A98F-9D10E429A375}): Error en tiempo de ejecución de Microsoft JScript:
Se requiere un objeto
File: <main>
Ln: 252, Col: 5
<source text only available at compile time>


All the rest of your beautiful panels work ok!!
Thanks again!
Title: HTPC Fullscreen panels II
Post by: Chipicui on 2011-11-28 16:09:16
Sorry ojdo!!!... sorry for being so stupid...
I had used all the 'WSHtpc04_0.2.0' as name for the folder with the image file...
Renamed to WSHtpc04 and everything works fine now! :-)
Title: HTPC Fullscreen panels II
Post by: ojdo on 2011-12-04 22:54:31
OK, I got this far, I can see the gloss on the album art, but not the jewel case. Please help :-)

Great: The gloss probably has the right size. The case is drawn behind the cover image and at the moment has the same size. Obviously, it cannot be seen that way. What's left to do is to
- increase the size for the jewel case
- adjust its position accordingly.
This is done by playing around with the four arguments involving the albumart_size (or aa_size). Let me give you an example:
The jewel case image might be 800x700 pixels (width x height) big, with an area of 600x600 pixels designated to show the cover image, vertically centered 50 pixels from the right image border. So in order to have the right size for an albumart image of a given height aa_size[3], the jewel case must be displayed with a height of aa_size[3]/600*700. The width consequently must be aa_size[2]/600*800. You have to measure the exact numbers with your own image. I hope you can figure out the x- and y-positions yourself. If not, tell me the exact measurements as in the example above.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2012-02-01 11:51:32
....... can someone please tell me how I stop WSHtpc04 v0.2.0 from rotating ?

I would like that it only displays the 1st instance with the albumart on the right and text to the left.

If one isn't a coder like myself it's very difficult to manage without help.

Thanks in advance .......
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-02-01 23:33:46
....... can someone please tell me how I stop WSHtpc04 v0.2.0 from rotating ?

Code: [Select]
pref["aa_glob"]         = true;  // true: use glob, false: use albumart reader (front only)

Change true to false. Now only the default album art picture (configured in foobar2000 Preferences dialogue) is displayed instead of rotating through all pictures found in the music file's directory.


Quote
I would like that it only displays the 1st instance with the albumart on the right and text to the left.

Code: [Select]
pref["t_start"]  = 30; // seconds to display tag grid after track change

Change 30 to something larger than your longest track, say 10000. Now the tag grid (text left, album art right) is displayed all the time.
Title: HTPC Fullscreen panels II
Post by: tommygun on 2012-02-02 15:50:29
Hi odjo.

Thanks a lot for your help, I couldn't manage without it.

Here a screenshot of what I got now:
(http://www.image-share.eu/graphic/thumbs/337453-screenshot-th.jpeg) (http://www.image-share.eu/image/337453-screenshot.jpeg)

There is only one little problem as you can see in the screenshot below. when the last song is finished or stopped by me the title, album & artist text to the left won't disappear as it should.

(http://www.image-share.eu/graphic/thumbs/337454-screenshot-th.jpeg) (http://www.image-share.eu/image/337454-screenshot.jpeg)

Attached a copy of the script. it would be nice if you could point out to me what I've messed up.

Thanks again very much.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-02-03 20:39:35
That is a bug I did not fix so far... here's an updated version that works as expected:

Bugfix update: WSHtpc04 (v0.2.1)
Release date 2012-02-03

Changes
from v0.2.0

Download
[attachment=6893:WSHtpc04_0.2.1.zip]or ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000 (http://www.ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000/)
Title: HTPC Fullscreen panels II
Post by: tommygun on 2012-02-04 09:57:48
....... now it's working very nice.

One question though, where can I add more columns to the title?

Increasing the amount of letters that are displayed in the title text is what I mean .......
Title: HTPC Fullscreen panels II
Post by: Gapkiller on 2012-02-26 22:34:16
@ojdo

Scripting Engine Initialization Failed ({164D5FDF-B5F3-4003-BEA4-DC2521A1A8FC}, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).

Console:

WSH Panel Mod ({74090509-B799-430C-930E-A2348D8E1970}): initialized in 1 ms
Error: WSH Panel Mod ({164D5FDF-B5F3-4003-BEA4-DC2521A1A8FC}): Laufzeitfehler in Microsoft JScript:
Objekt erforderlich
File: <main>
Ln: 252, Col: 5
<source text only available at compile time>


I'm pretty sure the image path is right. What else could it be??
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-02-27 19:50:03
Which configuration (and version) do you use? At least in WSHtpc04 v0.2.1, line 252 is empty. A wrong image path would not cause an error.
Title: HTPC Fullscreen panels II
Post by: Gapkiller on 2012-02-27 20:05:18
Which configuration (and version) do you use? At least in WSHtpc04 v0.2.1, line 252 is empty. A wrong image path would not cause an error.


WSH Panel Mod v1.5.2
WSHtpc04 v0.2.1
CUI latest version

I've created a new panel in a new CUI preset, (I switch between layouts via shortcut)
imported WSHtpc04 v0.2.1.txt

Scripting Engine Initialization Failed ({164D5FDF-B5F3-4003-BEA4-DC2521A1A8FC}, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).

Error: WSH Panel Mod ({164D5FDF-B5F3-4003-BEA4-DC2521A1A8FC}): Laufzeitfehler in Microsoft JScript:
Objekt erforderlich
File: <main>
Ln: 250, Col: 5
<source text only available at compile time> 

Line 250 fortunately exists

var bg_scale = Math.max(1,(wh-geo["lower_bar_h"]-1) / image_bg.Height);


Thanks for your time.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-02-27 20:22:39
Probably you have not put the background image (diagonal_stripes.png) to the appropriate location (pref["bg_image"] in line 81):
Code: [Select]
%ProfilePath%/images/WSHtpc04/diagonal-stripes.png

e.g. c:\Users\GapKiller\AppData\Roaming\foobar2000\images\WSHtpc04\diagonal-stripes.png. If your foobar2000 installation was done in portable mode, %ProfilePath% should be the installation directory AFAIK.
Title: HTPC Fullscreen panels II
Post by: Gapkiller on 2012-02-27 21:00:17
Probably you have not put the background image (diagonal_stripes.png) to the appropriate location (pref["bg_image"] in line 81):
Code: [Select]
%ProfilePath%/images/WSHtpc04/diagonal-stripes.png

e.g. c:\Users\GapKiller\AppData\Roaming\foobar2000\images\WSHtpc04\diagonal-stripes.png. If your foobar2000 installation was done in portable mode, %ProfilePath% should be the installation directory AFAIK.


Thank you! Works nicely now. I think I made the same mistake as Chipicui...

Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2012-05-27 08:23:48
Code: [Select]
pref["aa_glob"]         = true;  // true: use glob, false: use albumart reader (front only)

Change true to false. Now only the default album art picture (configured in foobar2000 Preferences dialogue) is displayed instead of rotating through all pictures found in the music file's directory.

As far as I can tell, this statement is wrong, at least with v0.2.1. I hadn't tried any previously.

Inside on_timer I had to wrap the "if (glob_timer == ..." with a check of aa_glob like so:
Code: [Select]
    if (pref["aa_glob"]) {
        if (glob_timer == pref["t_aa_glob"]*25) {
            aa_k = (aa_k + 1) % aa_list.length;
            glob_image(aa_k);
            glob_timer = 0;
        }
    }

If I don't put that in there, the image always rotates, no matter what I have aa_glob set to (or even if I comment it out). Not sure why that is, but it was a little annoying until I figured it out.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-05-27 10:35:05
Thanks for reporting that bug, MordredKLB! Your fix will be included in the next release.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2012-05-27 17:27:18
Thanks for reporting that bug, MordredKLB! Your fix will be included in the next release.
No problem. I do have another question/suggestion for you though.

I see that the timer you're generating fires every 40 milliseconds, and each time it fires it redraws a bunch of stuff. I was wondering what the reason was that you had it firing 25x a second? I did the following:
Code: [Select]
pref["t_interval"] = 200;    // milliseconds between timer events
pref["t_tps"]       = 1000/pref["t_interval"]; // ticks per second: number of times the timer fires per second

I then replaced all the "*25" in the code with "*pref["t_tps"]". 200ms seems like a reasonably fast firing whill still providing pretty smooth updating of the progress bar, even for short songs under 2 minutes. I tried 125 but the progress bar didn't look any less jumpy. Best of all, foobar's CPU usage dropped from 6-7% when a track was playing or paused down to 2%.

I'm just spitballing here, but if you want the absolute smoothest progress bar possible (i.e. updates every pixel), it seems easy enough to do pref["t_pref"] = 1000/(progress bar width/fb.PlaybackLength). Set that and pref["t_tps"] in on_playback_new_track and things should be flawless. I may try that if I get adventurous, even though I don't think my computer will keep up perfectly due to the amount of other crap running on the machine.

If you can't tell I'm hacking the hell out of your script to suit my own needs.  You've given me an amazing base to start from. If you, or anybody else is interested, I can post my work here (or elsewhere if that's more appropriate).
Title: HTPC Fullscreen panels II
Post by: tommygun on 2012-05-27 19:02:47
Quote
....... If you, or anybody else is interested, I can post my work here (or elsewhere if that's more appropriate).


I would like to have a look .......
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2012-05-29 00:09:29
Here's my current work in progress:
(http://i45.tinypic.com/34gaede.jpg)

My primary desire was to display LARGE album art, all the time. I ripped out the smaller album art display, increased the artwork size slightly, dropped the grid down to 1 column, stopped leaving blank space for skipped items, song title can spread across two lines and will auto-adjust font sizes to display as much text as possible. The two biggest additions are the new pause button you can see above, and after 20 seconds I have all the text on the left fade out.

I'm still tweaking a lot and want to do something a little more interesting than I currently have with the playback statistics, but I haven't figured out exactly what yet. I also need to figure out a better way to handle horizontal artwork that doesn't reduce the space on the left to nothing.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2012-05-29 17:30:10
I found another minor issue. When stopping playback, the active image isn't being disposed, so it can't be deleted or overwritten until foobar exits.

I just added the following code to on_playback_stop() outside the "if(reason != 2)" block:
Code: [Select]
    if (pref["aa_glob"] && albumart) {
        albumart.Dispose();
        albumart = null;
        fb.trace("dispoing here");
    }
I also started disposing the image inside glob_image, right before the call to gdi.Image(), but I'm not sure it's entirely necessary because I didn't have the same overwriting problems.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-05-30 22:47:34
Update: WSHtpc04 v0.3
Release date 2012-05-30

Changes from v0.2.1

(http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04_0.3-fullscreen-500x310.jpg) (http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04_0.3-fullscreen.jpg)

(http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04_0.3-small-layout-500x92.jpg) (http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04_0.3-small-layout.jpg)

Download
Attached file [attachment=7015:WSHtpc04_0.3.zip] or ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000 (http://www.ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000) with installation instructions.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-07-29 05:25:18
Update: WSHtpc04 v0.4
Release date 2012-07-29

Changes from v0.3

(http://www.ojdo.de/wp/wp-content/uploads/2011/11/WSHtpc04-05.png)

Download
Attached file [attachment=7068:WSHtpc04_0.4.zip] or ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000 (http://www.ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000) with installation instructions.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-07-30 15:37:40
Update: WSHtpc04 v0.4.1
Release date 2012-07-30

Changes from v0.4
Hotfix for race conditions introduced in last version. Sorry for the rushed release.

Download
Attached file [attachment=7070:WSHtpc04_0.4.1.zip] or ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000 (http://www.ojdo.de/wp/htpc-fullscreen-panels-for-foobar2000) with installation instructions.

Title: HTPC Fullscreen panels II
Post by: Oery on 2012-07-31 10:08:50
thanks for making great HTPC panel
I know it's for fullscreen mode, but also work great on multi-tab Columns UI appearance
here is screenshot:

Title: HTPC Fullscreen panels II
Post by: tnkrer on 2012-08-14 19:06:45
thanks for making great HTPC panel
I know it's for fullscreen mode, but also work great on multi-tab Columns UI appearance
here is screenshot:

thanks again


Hi Oery, That setup looks very good and I would like to make my foobar look like that. I have just started using foobar (moving from mediamonkey) so there is a lot of learning still to do.
I have added a bunch of components to foobar (biography view, columns UI, facets, lyric show, masstagger, musicbrainz, playback statistics, playlist organizer, quick search toolbar, WSH panel mod)

I have downloaded WSHtpc04 and added the jpg/png files in the appropriate folder.  I created a new WSH panel and replaced the script and here is how my setup looks
Can you provide some pointers on what I should do?
(http://i49.tinypic.com/jzigs6.jpg)
Title: HTPC Fullscreen panels II
Post by: Oery on 2012-08-22 21:59:40
I'm using monolite skin from Here (http://fanco86.deviantart.com/gallery/#/d31gx6o)
just add new panel for lyrics, browser etc.

Cheers.....
Title: HTPC Fullscreen panels II
Post by: tnkrer on 2012-08-24 15:04:25
I'm using monolite skin from Here (http://fanco86.deviantart.com/gallery/#/d31gx6o)
just add new panel for lyrics, browser etc.

Cheers.....


Thanks Oery. I ended up with mnlt2 since it seemed closest to what you had there
Now I will work on adding panels and may be displaying multiple panels at the same time and adding quicksearch to it.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2012-08-30 00:05:44
I know it's relatively easy to get this setup in Default UI, but is there a way to easily switch between layouts in DUI like there is in Columns UI? I've been considering moving everything over to DUI due to CUI's abandonment, but that's kind of a necessary feature for me.
Title: HTPC Fullscreen panels II
Post by: ojdo on 2012-08-30 17:55:06
I'm waiting for the same feature. It would be great to be able to create custom layouts for the "Quick Setup" screen and then switch between them with keyboard shortcuts/toolbar buttons...
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2012-08-30 19:42:30
Well, I found a way to sort of fake it, but it would require that either every pane in the DUI window contained a WSHPanel (for keyboard focus issues when processing keystrokes) or you had a bar at the very bottom of the display that had some buttons which could hide/show the HTPC panel. Then you can control another WSH panel using window.NotifyOthers() to send notification events to the other WSH panels to make them visible/shrink them down to one pixel using window.MinWidth = window.MaxWidth = 1;

I stole this idea from WSHPanelMod Playlist theme FooRazor (http://br3tt.deviantart.com/art/fooRazor-303120391) which works pretty well, but is kind of a pain to hack to your liking.

Also, the whole setup is nowhere near as clean as just being able to switch layouts on the fly like in CUI, and you'll have a 1 pixel border on at least one side of the "full screen" panel too. The keyboard focus issues mean that it'll be slightly harder to control with a remote too.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2013-08-04 19:03:04
It's been a while since I've posted in here, but thought I'd share what I've been working on. I hadn't made a lot of changes until recently when I started adding new things. I have no idea if anyone would want this stuff, but even if they don't, it ought to give people some ideas. I obviously started with Ojdo's great WSHtpc04 theme, and then went crazy. The bones are the same, but I changed just about everything in it, and added a crap ton. Hopefully ojdo won't mind the thread highjack, but this thread needs a bumping to the top anyway.

Here's kind of the basic standard look now:
). This is an EP, and it's noted as such in the tag grid (anything other than Album is listed there). I should also explain what the divider is between the artist name and the rest of the tags. I wanted a way to display information about dates added, first and last played without just throwing a bunch of dates at you. The bar is a visualization, and the left side is essentially the date it was added, and the right side is today's date. The first color is the amount of days between added and first played, the middle light colored bar is from first played to last played, and the last bar is from last played to today's date. If the song has never been played, it shows three evenly spaced bars, like it does in this image.

(https://dl.dropboxusercontent.com/u/23987869/Photos/WSHtpc04Mod-4.jpg)
I wanted all of the easy to change settings to be persistent, have defaults and be changeable without editing the script. I added a settings menu which allows all of these to be edited. As you can see, I have images for the various codecs. Since almost all of the music on my computer is in mp3, I have the option set to not display the codec for mp3s. In the tag grid on the left I also show the number of channels (and what channels they are!) for any source with more than 2 channels.

(https://dl.dropboxusercontent.com/u/23987869/Photos/WSHtpc04Mod-5.jpg)
I have translation tags for songs/albums which have foreign names. The contents of those tags appear in brackets. As you can see, the long song name, plus the translation is REALLY long, and thus the fonts for the song title on the bottom adjust to fit. The song title at the top on the left, also goes through three different font sizes to see if the entire name will fit in as large a font as possible. It will only use two lines at maximum though. The tag grid will adjust to show the full album name no matter what.

The theme is super image intensive as you can tell, which makes sharing it a little difficult (particularly since you need the HDLogos and Record Label images on your computer). If anyone is interested, I'll figure something out (possible using a shared folder on dropbox so that it'll stay synced up as new images get released).
Title: HTPC Fullscreen panels II
Post by: ojdo on 2013-08-05 15:06:26
I'm blown away by the amount of dedication you have in preparing all the high-resolution imagers. Do you prepare the artist/label logos yourself for the consistent look/sizing? I also used the idea to represent added/first_played/last_played on a timeline in an older configuration (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=77413&view=findpost&p=692283), but your execution looks much better.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2013-08-05 16:38:16
I'm blown away by the amount of dedication you have in preparing all the high-resolution imagers. Do you prepare the artist/label logos yourself for the consistent look/sizing? I also used the idea to represent added/first_played/last_played on a timeline in an older configuration (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=77413&view=findpost&p=692283), but your execution looks much better.
For the artist and label images, I do some of them (in the case of the labels, a lot of them). My original idea was just to add label images. I downloaded a pack of 250 or so of them from an xbmc theme. They were all 161x109, which is kinda small, but looked alright. Then I decided adding band logos would be cool too. There was a website that would generate most played artist logo maps for last.fm (the precursor to lastfmlogos.info (http://lastfmlogos.info/)). They made available a zip file of 5000+ artist logos. I was originally using that but the logos are pretty small (160px wide) and some of them frankly sucked. Then a year ago I discovered fanart.tv and realized that they had started from a similar spot with both artist and label logos, but they were doing them in high-resolution; 800x310 for the artist logos and 400x270 for the labels. For artists I have two folders, the original 5000 small logos, and then a high res folder which currently only has 550 logos, but they all look pretty great. I've filled in a lot of gaps, but fanart.tv could always use more people creating these. I display the record labels at 200x135 if I have a high res version and then artist logos on a sliding width based on the amount of space I have between the album art and the left side of the screen. This means that for album art that is a lot wider than taller, they shrink down, and almost makes the theme pretty good for running at whatever screen resolution you want. Most of my time lately has been spent creating cd and vinyl artwork for fanart.tv. I'm pretty good with photoshop, and it's a lot of fun trying to create realistic looking artwork, particularly for vinyl. For downloading artwork I use AlexVallet's AlbumArtDownloader, and wrote a script specifically for fanart.tv to make grabbing cdart a lot easier.

As for the date timeline, I got the idea from your earlier theme, and frankly I'm not super enamored with my idea, I just can't think of anything I like better. I tried adding numbers like you had, but thought it looked a bit cluttered. The problem is that it's never more than 150px wide and when you're looking at a song that's been in your library for 4 years, it's impossible to glean much useful information from it. If you waited a month before listening to it, that first bar is like 3 pixels wide. I'm definitely open to suggestions.

Thanks for getting me started down this path. I'm pretty happy with how things look, and I've become a pro at messing with WSHPanels
Title: HTPC Fullscreen panels II
Post by: godrick on 2013-08-05 16:52:51
MordredKLB, you certainly did a great deal of work - it looks interesting.  I'm always looking for ideas and the code behind it to make my little mods better and improve on my noobish WSH and JS knowledge, so it would be great if you could post your script.  I'm not looking to run it in a panel at this time, so no need for my benefit to post all the images to make it work - just the script would be great.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2013-08-07 22:14:01
Yeah, I'll post a new thread in a few days with the script and other stuff.
Title: HTPC Fullscreen panels II
Post by: phool on 2013-08-11 18:27:12
Looks great MordredKLB! Does your CDArt spin like it does on the fanrt.tv website? I've been trying to get it to do so using WHS Panel Mod, but I have no coding skills and have been unable to get it to do it as smoothly as it looks on the website.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2013-08-15 03:59:41
Looks great MordredKLB! Does your CDArt spin like it does on the fanrt.tv website? I've been trying to get it to do so using WHS Panel Mod, but I have no coding skills and have been unable to get it to do it as smoothly as it looks on the website.

Unfortunately, no. I tried to make the cdArt "slide" out from behind the album art and spin while doing so, but it was way too jerky with my setup. WSHPanel is just kinda slow drawing rotated images of that size. You might be able to do it smoothly in a dedicated WSHPanel with a solid color background and nothing else in the on_paint callback. I did a lot of debug timing to speed things up (my theme is pretty optimized) and found that just drawing the cdArt for me took about 300ms. Whenever I had to repaint part of the window that extended into that area, it was extremely slow... and when the image is rotated the "area" it covers becomes more diamond shaped... even though it's just transparent in most of it. To speed things up on each new track I would draw the rotated cd into a non-rotated gdi Image that was the same size, and then I draw that second image non rotated. Dropped the refresh time down to about 25-30ms I think.
Title: HTPC Fullscreen panels II
Post by: igorrush on 2013-09-23 14:09:10
MordredKLB, great work! Wait for you sharing script.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2013-09-26 16:56:41
MordredKLB, great work! Wait for you sharing script.

I haven't forgotten. I'm finishing up one last killer feature and then I'll be releasing. Sorry for the delay.
Title: HTPC Fullscreen panels II
Post by: igorrush on 2013-10-19 09:31:09
I haven't forgotten. I'm finishing up one last killer feature and then I'll be releasing. Sorry for the delay.


Maybe you upload beta version?
Title: HTPC Fullscreen panels II
Post by: cris on 2013-12-11 18:19:39
Hi there ojdo, and thanks for your work!

I'm trying to use it but I get an error message when I apply the code:

Scripting Engine Initialization Failed ({9E788517-F741-4D70-BD16-BBF257FE8F4B}, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).

and cheking the console, i get:

Error: WSH Panel Mod ({9E788517-F741-4D70-BD16-BBF257FE8F4B}): Erreur d'exécution Microsoft JScript:
Objet requis
File: <main>
Ln: 252, Col: 5
<source text only available at compile time>


I've installed WSH and colomns UI, and configure layout tab in colomns UI like this:

vertical splitter
  WSH pannel mode
  NG playlist (hidden)


I'm really not into coding and it take me a little while juste to do this!

It would be awsome if I could use this great fullscreen mode.

Thanks in advance.

Christophe.
Title: HTPC Fullscreen panels II
Post by: meepzorp on 2013-12-11 18:31:45
Hello. I joined the forum to tip my hat to everyone. Great looking work.
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2013-12-12 17:29:39
Hi there ojdo, and thanks for your work!

I'm trying to use it but I get an error message when I apply the code:

Scripting Engine Initialization Failed ({9E788517-F741-4D70-BD16-BBF257FE8F4B}, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).

This is very likely due to Safe Mode being set on the script. Go to preferences >> Tools >> WSHPanel  and then uncheck Safe Mode and restart foobar.
Title: HTPC Fullscreen panels II
Post by: igorrush on 2014-01-10 16:01:20
MordredKLB, great work! Wait for you sharing script.

I haven't forgotten. I'm finishing up one last killer feature and then I'll be releasing. Sorry for the delay.


Still wait your script....  HTPC ready 

Best regards
Title: HTPC Fullscreen panels II
Post by: MordredKLB on 2014-01-16 07:39:44
Still wait your script....  HTPC ready 

Best regards

Fine, fine. Sorry for the delay, but I started a new job a couple months ago and have been super busy and unable to work on this too much. Finally fixed some of the annoying bugs I had.

http://mordredklb.deviantart.com/art/WSHtp...-0-7b-427251767 (http://mordredklb.deviantart.com/art/WSHtpc-Mordred-0-7b-427251767)
Title: HTPC Fullscreen panels II
Post by: igorrush on 2014-01-18 04:54:55
Fine, fine. Sorry for the delay, but I started a new job a couple months ago and have been super busy and unable to work on this too much. Finally fixed some of the annoying bugs I had.

http://mordredklb.deviantart.com/art/WSHtp...-0-7b-427251767 (http://mordredklb.deviantart.com/art/WSHtpc-Mordred-0-7b-427251767)


Great!  Thanx a lot!
Title: HTPC Fullscreen panels II
Post by: igorrush on 2014-02-04 10:28:55
MordredKLB

Thank you for sharing!!! Some questions:
I have a lot vynil rips, Can you recomended simple photoshop template for create Vinyl Label Art (cdart template from funart.tv have big central hole), i need same template without that hole.
What with lyrics? Your script don't get lyrics from the web?

Best regards
Title: Re: HTPC Fullscreen panels II
Post by: coraxt on 2018-12-31 09:17:54
Hello

I will try this and i have a problem. I install the foo_uie_wsh_panel_mod-1.5.6.fb2k-component. Now i add a new panel "wsh panel", then right click in the panel and under tool i import the txt file. After applz i get a error massage
"Scripting Engine Initialization Failed ({32C00257-017B-48B3-AEB4-AE8FAFA58A8D}, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error)."

Can anyone help me

thanks