Skip to main content
Topic: Discussion of "Default UI Gallery" (Read 262665 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Discussion of "Default UI Gallery"

Reply #625
you can optimise your item details for narrow panels. right click>configure>find the on_paint function. add this line as the first line inside it...

Code: [Select]
li.text_x = 150;

tinker with the value as you please.

Discussion of "Default UI Gallery"

Reply #626
you can optimise your item details for narrow panels. right click>configure>find the on_paint function. add this line as the first line inside it...

Code: [Select]
li.text_x = 150;

tinker with the value as you please.


Thanks for reading my mind, I was wondering how to configure that! 

Discussion of "Default UI Gallery"

Reply #627
Back to DUI...

SimSearch area is under SimPlaylist so when its needed, i just slide down playlist. Neat.


Very nice ui! Is it possible to share? I was searching on forums for 2+ hours only for the Yamaha VU..
Thank you
Asus Xonar DG | foobar2000 | Klipsch RB-41 II | WASAPI push /\/

Discussion of "Default UI Gallery"

Reply #628
Sure, i'm glad you like it.

I'll zip it pretty much "as is" and post it tomorrow.

I really can't remember from where i got that VU. There is a black version of it too.

Discussion of "Default UI Gallery"

Reply #629
I found it here, black and white: http://foobar2000.ru

Discussion of "Default UI Gallery"

Reply #630
Thanks Mire.

CH 033, here is a package of UI.

FooDUI

I didn't remove anything, so just set your media folder and delete playlists.

Since i don't know how familiar you are with Foobar, if you get stuck somewhere fill free to ask. Only things to mention right now is button next to Stop button, it clears playlist, and auCDtect.

Its an option under Converter named auCDtection and in oredr to use it, you will have to sett Destination folder of your own. Mine isn't win generic.

Oh, i forgot to mention, playlist is a bit different than on screen shot. Now Artist - Title column is formated with:

$if($stricmp(%artist%,%album artist%), , %artist%  - )%title%

Discussion of "Default UI Gallery"

Reply #631
Thanks Mire.

CH 033, here is a package of UI.

FooDUI

I didn't remove anything, so just set your media folder and delete playlists.

Since i don't know how familiar you are with Foobar, if you get stuck somewhere fill free to ask. Only things to mention right now is button next to Stop button, it clears playlist, and auCDtect.

Its an option under Converter named auCDtection and in oredr to use it, you will have to sett Destination folder of your own. Mine isn't win generic.

Oh, i forgot to mention, playlist is a bit different than on screen shot. Now Artist - Title column is formated with:

$if($stricmp(%artist%,%album artist%), , %artist%  - )%title%

Thank you so much!

It workz ootb! Including your library  I have to delete some library files, but first I'll walk through the settings. This is why foobar2000 is nice, and the minim of resources it will use!
Asus Xonar DG | foobar2000 | Klipsch RB-41 II | WASAPI push /\/

Discussion of "Default UI Gallery"

Reply #632
You're welcome.

There isn't much settings, just a few minor... Like for example needle rise time of VU meters is set to 0.02s by default, but i found on Wiki that real world rise time of is 300ms. Also, there is Run Services option to google search one popular "music store" by artist or artist - title. Nothing special...

Discussion of "Default UI Gallery"

Reply #633
It's been awhile since I installed foobar fresh and need some reminders. I'm use Album List + Properties (Tabbed) and View = folder structure.  What I want to do is read in all of my compatible music folders, which are contained on a HDD in a single folder called Music.  It should end up looking like the screenshot linked below. I recall there's a way that everything gets read in under Album List, but can't figure it out (and don't see anything about it in the various wikis).  I tried File > Add Folder, it put "All Music" in the Album List and loaded everything else down the main section. The other Add options want individual files.  What am I missing here?  Thanks,

http://i59.tinypic.com/2mcujr8.jpg

Discussion of "Default UI Gallery"

Reply #634
file>preferences>media library>music folders

Discussion of "Default UI Gallery"

Reply #635
Thanks marc. Belatedly getting back to this and it's loading right now.

Discussion of "Default UI Gallery"

Reply #636

How can I make foo_facets display all the information of a tag, like genre, to appear under one instance? Now it is split, as you can see.

Discussion of "Default UI Gallery"

Reply #637
ksmrtr: In File->Preferences->Media Library->Facets

Find your column named "Genre" and change %<genre>% to %genre%
elevatorladylevitateme

Discussion of "Default UI Gallery"

Reply #638
a bit of experimental hacking with WSH panel mod means i can have a fancy console panel with background image...



Nicely done.

Out of curiosity , does the overlay console text auto-scroll to new entries when the panel text gets full and are you piping console output to a text file and reading it from there or are you using some other function to get the console output?

Discussion of "Default UI Gallery"

Reply #639
i added a new callback to the component which i'm not sure i will ever release it given the trial and error experimenting i had to do to make it work.

all it does it send one message at a time to the panel. it's entirely up to the script how to handle everything else. you can view the source of my script here but obviously it's useless to anyone without the component...

https://github.com/19379/wsh_marc2003/commi...da41a5947176f2a

things i've tried to consider-
don't repaint on every update because you can potentially get dozens or even hundreds of triggers at once. i've got a timer so it doesn't update more than twice a second.
check the overall length and chop off the beginning when it gets too long
auto scrolling to the end

Re: Discussion of "Default UI Gallery"

Reply #640
Can anyone suggest me a skin for a 14 inch screen? most skins don't look right as screen size is too small. Also, if anyone could tell me the EASIEST way to install a skin it'd be nice, not too familiar with FB2k

Re: Discussion of "Default UI Gallery"

Reply #641
Can anyone suggest me a skin for a 14 inch screen? most skins don't look right as screen size is too small.
What is your desktop resolution ?

Feel free to use the attached themes and adjust them to your needs ... :)

Preview in 1024x768

Preview in 1280x1024


I forgot to mention that you'll need the WSH panel mod

Cheers,
Maggi

Re: Discussion of "Default UI Gallery"

Reply #642
I pretty much want my foobar layout to look like this and I have no idea where to begin. What I especially like is the album contents being hidden within the album artwork. Musicbee is a little too taxing on the computer it seems. So what just wondering if I could emulate this layout on foobar. Thank you for any willing to help.




Re: Discussion of "Default UI Gallery"

Reply #644
Does anyone know how to achieve the Wavefrom Seekbar as seen here:

https://hydrogenaud.io/index.php/topic,58574.msg912228.html#msg912228

I tried to PM phool several weeks ago, but haven't gotten a response.

search on google or github(maybe).
or here: http://www.foobar2000.org/components (ctrl_f to search waveform in webpage)
A rose will bloom, it then will fade.

Re: Discussion of "Default UI Gallery"

Reply #645
@evil roy

I use something similar on my waveform seekbar, not exactly the same but close enough. Can't remember where I got it from but here's the code. Use this as effect source for your waveform seekbar frontend settings. Configure your colors (tip: highlight and selection colors works best when matched example bright blue and dark blue) select mix down to mono and select front center (mono).

Code: [Select]
texture tex : WAVEFORMDATA;

sampler sTex = sampler_state
{
Texture = (tex);
MipFilter = LINEAR;
MinFilter = LINEAR;
MagFilter = LINEAR;
AddressU = Clamp;
};

struct VS_IN
{
float2 pos : POSITION;
float2 tc : TEXCOORD0;
};

struct PS_IN
{
float4 pos : SV_POSITION;
float2 tc : TEXCOORD0;
};

float4 panelBackgroundColor : BACKGROUNDCOLOR; // 'Background color' - whole panel background
float4 waveHighlightColor   : HIGHLIGHTCOLOR;  // 'Highlight color' - for played part
float4 selectionColor       : SELECTIONCOLOR;  // Not used
float4 waveUnplayedColor    : TEXTCOLOR;       // 'Foreground color' - for unplayed part
float cursorPos             : CURSORPOSITION;
bool cursorVisible          : CURSORVISIBLE;
float seekPos               : SEEKPOSITION;
bool seeking                : SEEKING;
float4 replayGain           : REPLAYGAIN;
float2 viewportSize         : VIEWPORTSIZE;
bool horizontal             : ORIENTATION;
bool flipped                : FLIPPED;
bool shadePlayed            : SHADEPLAYED;

float4 colorDodge(float4 baseColor, float4 blendColor)
{
return saturate(baseColor / (1 - blendColor));
}

float4 linearDodge(float4 baseColor, float4 blendColor)
{
return saturate(baseColor + blendColor);
}

float4 multiply(float4 baseColor, float4 blendColor)
{
return saturate(baseColor * blendColor);
}

float4 getSeekAheadColor()
{
float4 color = colorDodge(waveHighlightColor, 0.4);
color.a = 0.5;

return color;
}

float4 getSeekBackColor()
{
return float4(1.0, 1.0, 1.0, 0.5);
}

float4 getWaveTopColor()
{
return colorDodge(waveHighlightColor, 0.57);
}

float4 getReflectionHightlightColor()
{
float4 color = waveHighlightColor;
color = multiply(color, 0.75);
color = linearDodge(color, 0.6);

return color;
}

float2 getPixelSize()
{
float2 pixelSize = horizontal
? 1 / viewportSize.xy
: 1 / viewportSize.yx;

return pixelSize;
}

/*
  Split waveform into bars.

  Waveform texture contains upper half-waves (positive peaks) in Green channel
  and negative ones in Red. Negative values are ignored to make reflection later.
*/
float4 rmsSampling(float2 tc, float2 pixelSize, inout bool isGap)
{
float rmsData;
float mainAxisLength = (horizontal ? viewportSize.x : viewportSize.y);

if (ceil(mainAxisLength * tc.x) % 3 < 0.1)
{
rmsData = tex1D(sTex, tc.x).g;
}
else if (ceil(mainAxisLength * tc.x) % 3 < 1.1)
{
rmsData = tex1D(sTex, tc.x - pixelSize.x).g;
}
else
{
isGap = true;

// Height of a gap equals to height of the smallest neighbour bar
float leftPeak = tex1D(sTex, tc.x - (2 * pixelSize.x)).g;
float rightPeak = tex1D(sTex, tc.x + pixelSize.x).g;
rmsData = min(leftPeak, rightPeak);
}

return rmsData;
}

float4 getWaveColor(float2 tc, float2 pixelSize, int pixelBar, int cursorBar, float barCoverage, float4 bgColor, bool isGap)
{
bool isBeyondSeek = tc.x > seekPos;
float4 seekAheadColor = getSeekAheadColor();
float4 seekBackColor = getSeekBackColor();
float4 seekColor = isBeyondSeek ? seekBackColor : seekAheadColor;

float4 waveTop = getWaveTopColor();
float4 waveBottom = waveHighlightColor;

float4 color = (cursorBar < pixelBar ? waveUnplayedColor : lerp(waveBottom, waveTop, tc.y));

if (pixelBar == cursorBar)
{
if (seeking)
{
if (isBeyondSeek)
{
color = lerp(color, seekColor, seekColor.a);
color = lerp(color, waveUnplayedColor, barCoverage);
}
else
{
color = lerp(color, lerp(waveUnplayedColor, seekColor, seekColor.a), barCoverage);
}
}
else
{
color = lerp(color, waveUnplayedColor, barCoverage);
}
}
else if (seeking)
{
bool afterCursor = tc.x + pixelSize.x > cursorPos;
float4 seekColor = isBeyondSeek ? seekBackColor : seekAheadColor;

if ((afterCursor + isBeyondSeek) == 1)
{
color = lerp(color, seekColor, seekColor.a);
}
}

if (isGap)
{
color = lerp(color, bgColor, tc.y * 0.35 + 0.5);
}

return color;
}

float4 getReflectionColor(float2 tc, float2 pixelSize, int pixelBar, int cursorBar, float barCoverage, float4 bgColor, bool isGap)
{
float4 color;

float4 reflectionUnplayedColor = multiply(waveUnplayedColor, 0.8980);
float4 reflectionHighlightColor = getReflectionHightlightColor();

if (isGap)
{
color = bgColor;
}
else if (pixelBar == cursorBar)
{
color = lerp(reflectionHighlightColor, reflectionUnplayedColor, barCoverage);
}
else
{
color = cursorPos < tc.x + pixelSize.x ? reflectionUnplayedColor : reflectionHighlightColor;
}

return color;
}

float4 evaluate(float2 tc)
{
float mainAxisLength = (horizontal ? viewportSize.x : viewportSize.y);
float2 pixelSize = getPixelSize();

bool isGap = false;
float rmsData = rmsSampling(tc, pixelSize, isGap);

tc.y += 0.5;

// Reflection
if (tc.y < 0)
{
// Invert upper half-waves to imitate reflection
rmsData = 1 - rmsData;

// Squeeze reflection
tc.y *= 3.5;
}

rmsData -= 0.5;
rmsData *= 2.5;

bool above = abs(tc.y) > abs(rmsData);
float4 bgColor = panelBackgroundColor * ((0.93 - (tc.x * 0.08)) + ((tc.y * 0.1) - 0.07));

if (above || abs(tc.y) < 1.33 * pixelSize.y)
{
return bgColor;
}

int pixelBar = ceil(mainAxisLength * (tc.x + pixelSize.x) / 3.0);
int cursorBar = ceil(mainAxisLength * cursorPos / 3.0);
float barCoverage = (cursorBar * 3.0 - (mainAxisLength * cursorPos)) / 3.0;

float4 color = tc.y > 0
? getWaveColor(tc, pixelSize, pixelBar, cursorBar, barCoverage, bgColor, isGap)
: getReflectionColor(tc, pixelSize, pixelBar, cursorBar, barCoverage, bgColor, isGap);

return color;
}

PS_IN VS(VS_IN input)
{
    float pixelWidth = horizontal
        ? 1 / viewportSize.x
        : 1 / viewportSize.y;

    PS_IN output = (PS_IN)0;
   
    // Move left to fill 1st empty pixel
    output.pos = float4(input.pos - float2(pixelWidth, 0), 0, 1);

    if (horizontal)
    {
    float firstBarAlignment = (flipped ? 2*pixelWidth : -2*pixelWidth);
        output.tc = float4((input.tc.xy + float2(1.0 + firstBarAlignment, 0)) * float2(0.5, 1.0), 0, 1);
    }
    else
    {
    float firstBarAlignment = (flipped ? 3*pixelWidth : -1*pixelWidth);
        output.tc = float4((-input.pos.yx + float2(1.0 + firstBarAlignment, 0)) * float2(0.5, 1.0), 0, 1);
    }

    if (flipped)
    {
        output.tc.x = 1.0 - output.tc.x;
    }

return output;
}

float4 PS(PS_IN input) : SV_Target
{
float4 color = evaluate(input.tc);

return color;
}

technique Render9
{
pass
{
VertexShader = compile vs_2_0 VS();
PixelShader = compile ps_3_0 PS();
}
}

technique10 Render10
{
pass P0
{
SetGeometryShader(0);
SetVertexShader(CompileShader(vs_4_0, VS()));
SetPixelShader(CompileShader(ps_4_0, PS()));
}
}

This is what it looks like:



Re: Discussion of "Default UI Gallery"

Reply #646
Sup. I don't know if this is the right thread for those questions, but here goes:

This is what my foobar looks like at the moment:



I want to keep the layout and change the color (and maybe the shape) of the window, the sliders, the volume control etc. I don't want to use Columns UI, by the way.

I spent some time looking for tutorials, but I'm still not sure if I can experiment without screwing everything up.

Will exporting the current theme via Default User Interface - Theme Management - Export Theme save EVERYTHING the way it is now?

Re: Discussion of "Default UI Gallery"

Reply #647
This is a question for Falstaff OR anybody knowing the answer. I'm curious about this layout : https://hydrogenaud.io/index.php/topic,58574.msg910170.html#msg910170



I'm curious because I see three similar panels/components/scripts, each one with a similar "Filter" at the top. I wonder how that's achieved.
I'm especially curious about the playlist part, which looks nice. I have hundreds of playlists/autoplaylists, so a "Filter" would definitely help me.
I just wonder if this component/script supports playlist folders ? At the moment I'm using Playlist Organizer because of its ability to support playlist folders. If I had to change, the new component/script would have to be able to import the playlist/folder structure of Playlist Organizer : otherwise I'd have to rebuild it entirely, which would be annoying with hundreds of playlists...

Thanks for enlightening me.

Re: Discussion of "Default UI Gallery"

Reply #648
I miss in DefualtUI on Toolbar option to fast select DSP presets, sholud be option to select it from menu same like Playback Order and Playlist Switcher, also would be nice to have fast option to change Output device.

Re: Discussion of "Default UI Gallery"

Reply #649
This is a question for Falstaff OR anybody knowing the answer. I'm curious about this layout : https://hydrogenaud.io/index.php/topic,58574.msg910170.html#msg910170

I'm curious because I see three similar panels/components/scripts, each one with a similar "Filter" at the top.

Those are their JScript Panels, available on the DeviantArt page.

 
SimplePortal 1.0.0 RC1 © 2008-2018