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: Georgia: A dynamically generated fb2k theme (Read 107694 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Georgia: A dynamically generated fb2k theme

Reply #25
Hi, I'm on a QHD screen and for somereason the scaling of the library tree gets really wonky and scrunched together when full screen. and it looks pretty small when it is not full screen up to a certain size. Not only that but the scroll bar will not go away even when unchecked in the options for that. I'm attaching a pic so you can see the scaling issue I'm talking about:  https://imgur.com/u4JzksF

Btw thanks for all your work on this, its just a plain beautiful theme and I look forward to helping let ya know the kinks I find.

Re: Georgia: A dynamically generated fb2k theme

Reply #26
Also, what are the metadata sections for things like the Record label and such that I can add to file properties so that they will show up in the theme? Should I add to the metadata a section called "Record Label" and then add the name for example?

Re: Georgia: A dynamically generated fb2k theme

Reply #27
Hi, I'm on a QHD screen and for somereason the scaling of the library tree gets really wonky and scrunched together when full screen. and it looks pretty small when it is not full screen up to a certain size. Not only that but the scroll bar will not go away even when unchecked in the options for that. I'm attaching a pic so you can see the scaling issue I'm talking about:  https://imgur.com/u4JzksF

Btw thanks for all your work on this, its just a plain beautiful theme and I look forward to helping let ya know the kinks I find.
Crap, I thought I had that fixed, and unfortunately no longer have a 4k display to test on.

For now you can right click on the background, select Properties, and then scroll down to the bottom and change user.row.height from the default of 20 to 40. That ought to fix the problem.

Also, what are the metadata sections for things like the Record label and such that I can add to file properties so that they will show up in the theme? Should I add to the metadata a section called "Record Label" and then add the name for example?
All metadata tag definitions are set in globals.js (although some reference Properties). Record label is a special case which currently exists, and already looks for both label and publisher tags. These are set in the tf.labels array in globals.js. If you're using another one, let me know and I can add it to that array so that other people don't have to manually update it.

If you want to add a completely new field you can do that in the tf.grid object. Just add a label, and then a titleformatting value.

Let me know if you're still having issues.

Re: Georgia: A dynamically generated fb2k theme

Reply #28
Hey thanks for the info! It took me a while to remember this site. I'll let you know if I got any more problems for sure :)

Re: Georgia: A dynamically generated fb2k theme

Reply #29
I published v1.0.1 of this theme a couple days ago which was primarily a bug fix release.

Changelist:
 - Fixed a bunch of errors related to 4k mode
 - Added ability to set 4k detection mode (auto, always, never)
 - Pre-init Library tree after delay for snappier initial load of the library tab (if you wait 10 seconds first)
 - Much improved handling of long artist names (optimal font detection)

I've got some more stuff in the works so hopefully I'll have a 1.1 release out in a week or two.

Re: Georgia: A dynamically generated fb2k theme

Reply #30
Hi @MordredKLB , I'm taking a look at your scripts because I'm trying to figure out how you managed to clip the graphic elements (including text) in the playlist view. I've been going through the Panel_Playlist.js script, especially the Row() function, but I was not able to extrapolate the code I'm looking for. Would you mind explaining how it works?










I'm late

Re: Georgia: A dynamically generated fb2k theme

Reply #31
Re-reading my previous post, I realized if I were you I wouldn't understand what I'm talking about. So here's a picture to illustratre what I mean:

Spoiler (click to show/hide)

If the playlist viewer was actually a panel itself, the x and y coordinates of the clipped elements on top (circled in red in the picture) would be virtually outside of the panel and only the pixels inside the panel area would be painted, but since the whole layout is just one panel, how did you achieve this effect? The drawimage function takes cropping coordinates, but what about the text?
I'm late

Re: Georgia: A dynamically generated fb2k theme

Reply #32
@davideleo First off in that screen shot you're missing the installed fonts. You should install them and restart foobar and things will look better :)

As for the clipping, that's something @TheQwertiest did in his CatRoX update, and I might have slightly modified for my theme (can't remember right now). For speed purposes, each group Header block is initialized only once and drawn in full to a header_image. Then we clip that header_image to the playlist "viewport". This does mean the playlist uses a much bigger memory footprint than you'd expect, but that's mitigated a bit because we only draw the Header the first time if at least one pixel is visible on the screen. Until that happens the header_image is undefined for every non-drawn header. Switching playlists will cause the entire cache to be destroyed (freeing the memory) and rebuilt if needed.

Re: Georgia: A dynamically generated fb2k theme

Reply #33
@davideleo First off in that screen shot you're missing the installed fonts. You should install them and restart foobar and things will look better :)
Ah ah ah, I knew you were going to say that! I actually thought of cropping the screenshot, but it was too late to edit the post  :P


As for the clipping, that's something @TheQwertiest did in his CatRoX update, and I might have slightly modified for my theme (can't remember right now).
Yes, the scripts I've looking at were taken from the Catrox theme, but comparing it with the original ones I noticed your mods and I thought they were an adaptation to the singe panel environment, since Catrox is a multiple panel theme. I guess I'll take a look at the Catrox scripts and eventually ask @TheQwertiest. Hopefully your explanation above will help me understand the code better.
BTW I posted a more general question on the issue in the spider monkey thread.
I'm late

Re: Georgia: A dynamically generated fb2k theme

Reply #34
@davideleo First off in that screen shot you're missing the installed fonts. You should install them and restart foobar and things will look better :)
Ah ah ah, I knew you were going to say that! I actually thought of cropping the screenshot, but it was too late to edit the post  :P


As for the clipping, that's something @TheQwertiest did in his CatRoX update, and I might have slightly modified for my theme (can't remember right now).
Yes, the scripts I've been looking at were taken from the Catrox theme, but comparing it with the original ones I noticed your mods and I thought they were an adaptation to the singe panel environment, since Catrox is a multiple panel theme. I guess I'll take a look at the Catrox scripts and eventually ask @TheQwertiest . Hopefully your explanation above will help me understand the code better.
BTW I posted a more general question on the issue in the spider monkey thread.
I'm late

 

Re: Georgia: A dynamically generated fb2k theme

Reply #35
Yeah, I did have to make some adaptations to handle the single pane stuff. Primarily though it was just that I now pass an X & Y offset everywhere in draw, resize callbacks, and then make sure it's handled properly so that the theme doesn't assume that it'll draw or clip against (0,0) but rather (xOffset, yOffset). It was pretty simple to get working though. Functionally that's the only difference I can remember between mine and TheQwertiest's version, although there is some cosmetic stuff. (The hyperlink code is also new to mine and does require some additional functionality, but it's still mostly cosmetic)

Re: Georgia: A dynamically generated fb2k theme

Reply #36
...and then make sure it's handled properly so that the theme doesn't assume that it'll draw or clip against (0,0) but rather (xOffset, yOffset). It was pretty simple to get working though. Functionally that's the only difference I can remember between mine and TheQwertiest's version

That sounds exactly like what I was asking for! Would you mind explaining me in detail how you managed it or pointing me to the relevant code lines, as far as the playlist viewer is concerned?
I'm late

Re: Georgia: A dynamically generated fb2k theme

Reply #37
I'm playing around with the theme and it's growing on me a lot, but I have some questions:

1. The lyrics panel doesn't seem to do anything, it just doesn't load the lyrics to anything. Do I need a component (I can't see it documented anywhere) or is this a known bug?

2. Can I increase the font size in your playlist view? There seems to be a setting for it but if I increase the number it doesn't make any difference to the font in that panel.

Then, I also have a minor suggestion: It would be nice if the country field accepted codes and not just very specific versions of the names. United States is the form for the USA, but US and USA would also be good to have valid. Likewise, UK for United Kingdom. Ideally, it'd supported all of the standard two-letter and three-letter codes, I guess. It seems minor but it does save time if you're setting tags!

Finally, do you have a label suggestion thread or anything anywhere? I don't know how you decide which labels to add to the packages.

Re: Georgia: A dynamically generated fb2k theme

Reply #38
Then, I also have a minor suggestion: It would be nice if the country field accepted codes and not just very specific versions of the names. United States is the form for the USA, but US and USA would also be good to have valid. Likewise, UK for United Kingdom. Ideally, it'd supported all of the standard two-letter and three-letter codes, I guess. It seems minor but it does save time if you're setting tags!

It would probably only take a few seconds work to change all tags UK to United Kingdom and likewise for USA or US to United States. While it would be a bit more work for the developer to adapt only to your wishes.

Re: Georgia: A dynamically generated fb2k theme

Reply #39
Then, I also have a minor suggestion: It would be nice if the country field accepted codes and not just very specific versions of the names. United States is the form for the USA, but US and USA would also be good to have valid. Likewise, UK for United Kingdom. Ideally, it'd supported all of the standard two-letter and three-letter codes, I guess. It seems minor but it does save time if you're setting tags!

It would probably only take a few seconds work to change all tags UK to United Kingdom and likewise for USA or US to United States. While it would be a bit more work for the developer to adapt only to your wishes.

Not sure why my comment needed your critique, it was reasonable feedback. All suggestions are adapting to someone or other's wishes and suggestions can be freely taken up or ignored. :)

Re: Georgia: A dynamically generated fb2k theme

Reply #40
My critique was also very reasonable also given the fact it only takes a very small amount of effort, seriously about a couple of seconds work but somehow you're not willing. There's a word for that: laziness. That's why your suggestion needed some critical adjustments. Sure, suggestions can be taken up and ignored, and hope such a lazy suggestion gets ignored. Anything else?

Re: Georgia: A dynamically generated fb2k theme

Reply #41
I really don't want to get into a flame war over something so trivial, I really like this theme and just wanted to offer a minor suggestion to the person (who I've spoken to before elsewhere, under other usernames though) who makes it.

I'll explain a bit more, though: Yes, I know I can just mass edit all of the tags, and I did that a long time ago in seconds. But the point is that as you're adding the information to new albums, it does take significantly longer to type "United States" than it does to type "US". Sure, it's a split second maybe, and you may find that pedantic, but a lot of foobar2000 usability things are about that split second, and the time adds up. After all, how many keyboard shortcuts can't just be accessed from a menu? Additionally, which I didn't mention because this was a minor minor suggestion that honestly didn't need five posts, but might be the better reason for suggesting this: It wasn't obvious how to get a U.S. flag to show - I tried US, USA and United States of America before United States. (Tip for others: It matches the spelling of the flag image files, minus the hyphens.) Supporting the variations would just make it a little bit more user friendly, but yes, it's a little thing and I wouldn't want nor expect a developer to slave over it if it wasn't easy for them. Their code may mean it's easy and they may be looking to build the theme into something with wide appeal, so it's still feedback I'd give. I'm sorry that you dislike that form of suggestion, but given this is a beta, it seemed fair.

To Mordred: Please don't mind us and do keep up your good work on this and AlbumArtDownloader things and so on :)

Re: Georgia: A dynamically generated fb2k theme

Reply #42
I have another question, also:

Is there a full list of tags that are supported for display in the information section (as in this: https://i.imgur.com/gigACuQ.png) on the theme? I've looked in the Properties list at the various settings but there's support for some with no reference there it seems. I'm struggling to figure out what the field name you use for Release Type is, for example. Also, is it easy (or possible to add as a feature) to customise what's shown, as in adding additional fields? For example, if I wanted to show a "Hometown" tag, is that something I can add to that area in the theme somewhere fairly intuitively?

(Edit: The Release Type field seems to be just %releasetype% but doesn't display if the type is Album, which I assume is your own choice of not having that data unless it's not an album. That'd be a nice thing to be able to toggle, if possible!)

Re: Georgia: A dynamically generated fb2k theme

Reply #43
Just figured out my above post! For other users, there's a section in js/globals.js called tf.grid that has the list of metadata shown. You can reorder it there or add new fields, it's quite easy in any decent text editor. :)

Re: Georgia: A dynamically generated fb2k theme

Reply #44
Just figured out my above post! For other users, there's a section in js/globals.js called tf.grid that has the list of metadata shown. You can reorder it there or add new fields, it's quite easy in any decent text editor. :)
Yup! Sorry, I know the documentation is lacking in several areas. If I ever get time to work on this again.... :)

As for your flag question, there's a super simple solution (and one I might do as well). The flags I use come from gosquared's repo of country flags. I have both 32x32 and 64x64 (for 4K) sizes, and just do simple pattern matching. If you're using the 4K setting, and your %artistcountry% value is United Kingdom, I just look for /images/flags/64/United Kingdom.png. If your %artistcountry% value is UK, then it won't find anything. Fortunately for you, gosquared includes their country flags by full name, and also by ISO code.

You can get the folder you need and just put them in the appropriate flags folder.
64x64 2-digit country flags: https://github.com/gosquared/flags/tree/master/flags/flags-iso/flat/64
32x32 2-digit country flags: https://github.com/gosquared/flags/tree/master/flags/flags-iso/flat/32

If you're not familiar with git, you probably don't want to download 200 different images manually. Go to the project root and click the "Clone or Download" button in the top right, find the folder you need, and copy the contents to the flags/32 or 64 folder.

Re: Georgia: A dynamically generated fb2k theme

Reply #45
I'm about to release a new version, but while everyone is waiting I've heard that it's hard to get older versions of foo_jscript that still works. Here's 2.1.4 which should work with the publicly available version of Georgia.


Re: Georgia: A dynamically generated fb2k theme

Reply #46
There are no interface elements to control volume or did I miss something during the configuration?

Re: Georgia: A dynamically generated fb2k theme

Reply #47
There are no interface elements to control volume or did I miss something during the configuration?
You're currently correct. I'm going to be testing out an option which will enable volume control shortly, so stay tuned.

Re: Georgia: A dynamically generated fb2k theme

Reply #48
I officially released v1.1.0 this afternoon. Adds a Dark Mode and a whole bunch of other fixes.


You can get it here.

v1.1.0 Changelog - 2019-08-10
 - Dark mode (new default)! Switch between the two in the options menu
 - A ton more 4k fixes
 - Re-initing playlist when 4k mode switches to avoid scrollbar issues
 - accurate date difference code based on human accepted norms of what a date difference is (i.e. 1 month ago)
 - correctly handling forbidden characters when attempting to find artwork/files
 - better sorting of results when clicking on hyperlinks
 - searching dates by year only
 - Fixed a bunch of issues with Multi-channel display
 - Highlight colors in library/playlist should still allow text to be legible
 - Drastically reduced console spam

Re: Georgia: A dynamically generated fb2k theme

Reply #49
Hi, nice theme you have here, i'd love to try it out, but so far i'm just getting this error once i've entered the TXT lines into the JS Panel

JScript Panel v2.3.0-Beta.2 (Georgia by Mordred)
JavaScript runtime error:
Wrong number of arguments or invalid property assignment
File: C:\Users\CyPha\AppData\Roaming\foobar2000\georgia\js\CaTRoX_QWR\js_marc2003\js\helpers.js
Line: 295, Col: 9
and 'aw crashed' on the main.

Thanks in advance for any help :)

Edit; these are my versions, FoobarCore 1.4.6, Georgia 1.1.3