Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Columns UI (Read 4589572 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Columns UI

Reply #8125
Thank you for the info, although negative. I was searching for hours for a script that can do that.

Status Bar and Status Pane take away 1 or 2 centimeters of the screen for info that I can also add to the Item Details field. So I do not mark them. But there seems no other possiblity to get the info about the total number of items in a playlist.
Foobar 2000 v2.1 [x64], Columns UI, Windows 10


Re: Columns UI

Reply #8127
Thank you for the hint, I will have a look at that.

I'm completely new to the F2K-World. Just a question of understanding: Why is JScript Panel 3 not part of the F2K Components Repository? Isn't it a component too?
Foobar 2000 v2.1 [x64], Columns UI, Windows 10

 

Re: Columns UI

Reply #8128
Is there any possibility to change the blue color of the sliders of the Equalizer (see screenshot attached) or the blue color of the peaks in the Peak Meter of the CUI toolbars like this is possible for the Waveform Minibar (mod)?

I managed to put together a wonderful dark design without any prebuilt theme, just components like CUI. Would be nice to eliminate last remaining colors and put a dark grey instead.
Foobar 2000 v2.1 [x64], Columns UI, Windows 10

Re: Columns UI

Reply #8129
Is there any possibility to change the blue color of the sliders of the Equalizer (see screenshot attached) or the blue color of the peaks in the Peak Meter of the CUI toolbars like this is possible for the Waveform Minibar (mod)?

I managed to put together a wonderful dark design without any prebuilt theme, just components like CUI. Would be nice to eliminate last remaining colors and put a dark grey instead.

So far nobody has thought of creating an item in Colours & Fonts to configure the color of the Peak Meter.
The only option is Colours / Global / Foreground (see Image).
The problem is that this option is also used to define the color of the Re-Facets columns.

Re: Columns UI

Reply #8130
Often here is said that some colors come from Windows setting.

I found a program for Windows 10 and 11 called Classic Color Panel, It runs without installation. With this program you can change your Windows color settings. It shows 3 possibilities from which CUI might take the blue color for my Peak Meter and my Equalizer controls (see screenshot attached).

I tried to change all 3 to dark grey. Nothing happened. Maybe it works not that way or it is another setting.
Foobar 2000 v2.1 [x64], Columns UI, Windows 10

Re: Columns UI

Reply #8131
Independent colour settings per panel are very much a Columns UI thing.

While you might see ReFacets and various visualisations available in CUI since fb2k v2 came out, they come from fb2k itself and as ports of Default UI elements, they were always designed to follow a global colour scheme. In theory they could be updated but I can't imagine it being a high priority given the huge number of projects the fb2k dev maintains.

Quote
Often here is said that some colors come from Windows setting.

Too many words in that sentence. Chop off the last one. Those blue sliders on seekbars/equaliser etc are part of windows. Not a setting you can change.

Re: Columns UI

Reply #8132
I'm trying to make a column (in Columns UI) that can show me if a track is going to be skipped by the Skip Track component, which I have set to skip within the last 8 hours. Is there a way, using Columns UI title formatting, to show if a track has been played within the last X amount of time? I don't really have the skill to make a script to convert last playback date/time into "time since". What I would really like is for a column to display time in minutes or hours since last playback, up to 8 hours, but I'm at a loss. I've seen foo_dynfil, but that one seems to be x86 only with no source code available, and I'd like to avoid that at this point.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8133
Can't be done. Titleformat doesn't know anything about time.

Re: Columns UI

Reply #8134
Columns UI has a few variables like %_system_year%, %_system_month%, %_system_day%, %_system_hour%. I'm just not proficient enough to make them do what I want. I think it's possible to come close to what I want, at least within an hour, but I don't know how. I don't think it can display minutes since though because there is no %_system_minute%. Accuracy to the hour would probably be good enough for me.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8135
I didn't know Columns UI exposes such custom fields. Perhaps you can use this then:
Code: [Select]
$puts(diff,$sub($add($mul(%_system_year%,8760),$mul(%_system_month%,720),$mul(%_system_day%,24),%_system_hour%),$add($mul($year(%last_played%),8760),$mul($month(%last_played%),720),$mul($day_of_month(%last_played%),24),$left($time(%last_played%),2))))$ifgreater($get(diff),8,,X)

The code will show 'X' if more than 8 hours has passed since the hour the track was last played.

Re: Columns UI

Reply #8136
Thank you! I'll try it out.
I'm going to try and understand how it works too.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8137
Perfect! Thank you so much! I was easily able to modify it to show how many hours since last play. However, I honestly have no idea how most of it works. I got stuck trying to figure out how to account for hours across different days and months when I tried to write something that would function the same way. I'll examine it more.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8138
@Case  Upon further examination, it looks like the script assumes each month is 30 days long. Will this be a problem on March 1st, or any other day in which that kind of assumption breaks? That's the kind of thing I couldn't figure out how to account for when I was planning on making a script.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8139
You can't get perfection with the tools you are trying to use, starting from time granularity of an hour.
If you go to sleep before midnight and start using foobar2000 after 8:00 in the morning the date inaccuracy is irrelevant with your original 8 hour requirement. But if you play through the night and won't accept a mistake that could account for a couple of days, then the code will need to be more complex and handle lengths of different months and also take leap year into account.

In my opinion this is abuse of titleformatting and updating strings for a large number of tracks based on system time should never be done.

Re: Columns UI

Reply #8140
Is there a better way to get an indicator of which tracks will be skipped?

I am grateful for your help. I don't need perfection. I'm just trying to understand what you wrote so that I can make it as accurate as I can within current restraints, but I have trouble understanding this kind of thing. Thank you. I may have asked for too much, and I am sorry.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8141
My new Playcount 2003 component has second accuracy for the current time and last played timestamps. But you would have to use it for tracking plays. It's not converting last played from other components on the fly but it can do a full import from foo_playcount.

https://hydrogenaud.io/index.php/topic,125466.0.html << work backwards to find latest version

Getting the difference in seconds is as simple as $sub(%2003_now_ts%,%2003_last_played_ts%). Divide by 3600 for hours, 86400 for days. Accurate months/leap years? Forget it. :P

And yep, I hold my hands up about the title formatting abuse. Guilty as charged.  ;D

Re: Columns UI

Reply #8142
I tell ya, thank GOODNESS it's a leap year and February! Made it much easier to check for errors.

My skill is lacking, but I did the best I could and created an abomination based on your script that will return the right value regardless of whether it is leap year or after midnight or whatever. Please remember I am not formally trained for any kind of scripting or programming.

Nominations for worst code that technically does what it's supposed to?

Code: [Select]
$puts(diff,$sub($add($mul($add($mul(%_system_year%,365),$sub($div(%_system_year%,4),$sub($div(%_system_year%,100),$div(%_system_year%,400)))),24),$mul($add($if($greater(%_system_month%,1),31,0),$if($greater(%_system_month%,2),$if($and($stricmp($mod($right(%_system_year%,1),4),0),$not($stricmp($mod(%_system_year%,200),0))),29,28)),$if($greater(%_system_month%,3),31,0),$if($greater(%_system_month%,4),30,0),$if($greater(%_system_month%,5),31,0),$if($greater(%_system_month%,6),30,0),$if($greater(%_system_month%,7),31,0),$if($greater(%_system_month%,8),31,0),$if($greater(%_system_month%,9),30,0),$if($greater(%_system_month%,10),31,0),$if($greater(%_system_month%,11),30,0)),24),$mul(%_system_day%,24),%_system_hour%),$add($mul($add($mul($year(%last_played%),365),$sub($div($year(%last_played%),4),$sub($div($year(%last_played%),100),$div($year(%last_played%),400)))),24),$mul($add($if($greater($month(%last_played%),01),31,0),$if($greater($month(%last_played%),02),$if($and($stricmp($mod($right($year(%last_played%),1),4),0),$not($stricmp($mod($year(%last_played%),200),0))),29,28)),$if($greater($month(%last_played%),03),31,0),$if($greater($month(%last_played%),04),30,0),$if($greater($month(%last_played%),05),31,0),$if($greater($month(%last_played%),06),30,0),$if($greater($month(%last_played%),07),31,0),$if($greater($month(%last_played%),08),31,0),$if($greater($month(%last_played%),09),30,0),$if($greater($month(%last_played%),10),31,0),$if($greater($month(%last_played%),11),30,0)),24),$mul($day_of_month(%last_played%),24),$left($time(%last_played%),2))))$ifgreater($get(diff),8,,$get(diff)h)

My next job is to get it to display minutes when <1hour and disappear when 8 hours have passed using Marc's Playcount2003 component.

*Edit*
I realized a mistake I made. If system year is a leap year, it will calculate every year as a leap year. I'll fix it later. I'm new to this!
Bunch of mistakes and apparently I can't remember 1st grade stuff this late. Oh well. Me dumb.
*Edit 2*
Should be right now. In case anyone else wants to use this abomination.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8143
i suspect this question has probably been asked before in this forum:

Is there a way to set up a tab stack so that a single tab within the stack is shared by two components (in a horizontal layout within the tab). This can be done in Default UI, but haven't figured out how to do it in Columns UI.

Graphic attached below of layout seeking.

I've tried various layout configurations by setting up horizontal splitters within the tab stack and the closest I came was getting the two components to line up side by side within a tab (and no vertical splitters were used in tab stack layout}.

I did ultimately get the horzontal layout I was wanting in the tab by using the Panel Stack Splitter component but if I can help it I don't want to become dependent on that old component in my foobar2000 use.






Re: Columns UI

Reply #8146
I've got a weird issue going on now.
In my 32 bit Portable install, I am running the latest version of Columns UI and the Album List Panel. I decided to uninstall the Dynamic Fields plugin as I no longer need it. After doing so, the Album List Panel refuses to populate until I make it hidden then unhide it in layout. Very weird, and I can find no fix for this, so I just chocked it up to years of cruft and jank in my 32 bit install. I had a backup of my folder and that still works correctly, but the bug persists if I try to remove dynamic fields.

This is where it gets weird!

Since I was finally ready to move to 64 bit, and with that kind of jank going on in my 32 bit install, I decided now's the time. I spent all day starting from scratch with a fresh install of 64-bit foobar2000 portable, and I meticulously copied every important setting I had in 32 bit by hand. I did import my Columns UI layout though. Since it's 64 bit, the dynamic fields plugin doesn't even work with it so that was never an issue. I made sure every component was updated except I still had an older version of Columns UI Album List Panel as the only thing left to update. As soon as I update to the latest version, the panel refuses to populate again. I'm at a loss now. I could leave it on the older version, but that isn't a great solution.

I tried removing the panel entirely and putting it back, same problem. Seems to just break if I update it. It just won't populate with any information until I hide it and unhide it or do something to it in Layout. Any advice?

*Edit*
I'm on 1.0.0 of foo_uie_albumlist and even moving to 2.0.0 breaks it.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8147
What version of foobar2000 are you using? Are there any errors against monitored directories on the Media Library preferences page?

Are you saying version 1.x of Album list panel works but 2.x doesn't? 2.x delays initialisation until the media library has finished initialising, so it may be something relating to that is going wrong. How many tracks are in your library (approximately)?
.

Re: Columns UI

Reply #8148
Newest beta of foobar2000, the behavior was on both 32 bit and 64 bit. 1.x of Album list works, 2.x won't populate until I change it in layout—either adding caption or hiding then unhiding it, and it populates instantly if I do either of those actions. I have 7043 tracks, no library errors. On 1.x it populates almost instantly on program start.

I tried updating again and waited, but it never populated. No media library or console errors.

User Interface initialized in: 0:00.477481
FFmpeg version: 6.0
Startup time : 0:00.614343
Library initialized after 0:00.667792

Still nothing in the Album List Panel.
Think millionaire, but with cannons.

Re: Columns UI

Reply #8149
You mentioned importing your old CUI layout. Have you tested a totally clean portable install? Install latest fb2k/CUI/album list panel. Do the bare minimum to get album list in your layout. Only install input plugins if you need those to recognise all your files. Don't make any changes to any configuration except configuring the Media Library to watch your folders. What happens now?