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: foo_uie_single_column_playlist (Read 736646 times) previous topic - next topic
0 Members and 3 Guests are viewing this topic.

foo_uie_single_column_playlist

Reply #1250
Got a question: Would it be possible to add an option to the "Settings" menu to change the doubleclick action of the playlist view?

I know you can reach all these actions via the context menu but I'm thinking of special views like a "ripping-window" or a special media library window where you dont want the playlist to become active and the song to start playing just because you double click it by accident because your used to it.

Is this even possible techincally (or would it require changes in other components?) and if its possible possible is there a chance of getting this integrated?

Thanks in advance.

foo_uie_single_column_playlist

Reply #1251
I've just started using this plugin. It's great. Except for a few small things.

Feature Requests:
*Please add Crop and Sort to the rightclick menu, as in Columns Playlist.
*Please make selecting have the same behavior as in Columns Playlist. There is currently no way to rearrange the tracks in the list.
* Ability to remove the Playlist entry in the rightclick menu.

foo_uie_single_column_playlist

Reply #1252
Is there a way to achieve that WMP playlist view with any other plugin?


Not quite what your after, but I've managed to get this:



(please ignore the bottom bar - not done yet)

and here's the code:

Code: [Select]
Row Height: 18
Group Rows: 1
Edge Style: None
Group By: %album%


Item Display:
Code: [Select]
$drawrect(,,,,brushcolor-228-232-248 pencolor-null)

$imageabs2(105,105,0,$add(-18,$mul(%_itemindex%,18)),,,5,0,images\shadcover.png,)

$if($fileexists($replace(%path%,%filename_ext%,folder.jpg)),
$imageabs2(96,96,0,$add(-19,$mul(%_itemindex%,18)),,,6,0,$replace(%path%,%filename_ext%,folder.jpg),)
,
$imageabs2(96,96,0,$add(-19,$mul(%_itemindex%,18)),,,6,0,images\noart.jpg,)
)

$if(%_selected%,$drawrect(345,,$sub(%_width%,345),,brushcolor-244-248-255 pencolor-000-64-128),)
$if(%isplaying%,$drawrect(345,,$sub(%_width%,345),,brushcolor-212-216-224 pencolor-000-64-128)$drawrect(346,1,$add(1,$div($mul($sub(%_width%,346),%_time_elapsed_seconds%),%length_seconds%)),16,brushcolor-128-192-255 pencolor-null),)

$ifequal(%_itemindex%,1,$alignabs(115,0,230,%_height%,left,middle)$font(Segoe UI,9,bold,004-008-016)%album%,)
$ifequal(%_itemindex%,2,$alignabs(115,0,230,%_height%,left,middle)$font(Segoe UI,9,,004-008-016)%album artist%,)
$ifequal(%_itemindex%,3,$alignabs(115,0,230,%_height%,left,middle)$font(Segoe UI,9,,004-008-016)%genre%,)
$ifequal(%_itemindex%,4,$alignabs(115,0,230,%_height%,left,middle)$font(Segoe UI,9,,004-008-016)%date%,)
$ifequal(%_itemindex%,5,$alignabs(114,0,230,%_height%,left,bottom)$font(Segoe UI,7,,064-128-192)[%__codec% ][%__tool% ][%__codec_profile% / ][%bitrate%Kbps / ][RG: %__replaygain_album_gain%],)
$ifequal(%_itemindex%,6,$alignabs(114,0,230,%_height%,left,top)$font(Segoe UI,7,,064-128-192)Source: $meta(SOURCE),)

$if($strcmp(%album artist%,%artist%),
$alignabs(349,0,$sub(%_width%,349),16,left,middle)$font(Segoe UI,9,,004-008-016)[%track%.  ]%title%,
$alignabs(349,0,$sub(%_width%,349),16,left,middle)$font(Segoe UI,9,,004-008-016)[%track%.  ]%title%  - %artist%)

$if(%isplaying%,
$alignabs(349,0,$sub(%_width%,353),16,right,top)$font(Segoe UI,9,,004-008-016)'('%playback_time_remaining%')' %length%,
$alignabs(349,0,$sub(%_width%,353),16,right,top)$font(Segoe UI,9,,004-008-016)%length%))



Group Display:
Code: [Select]
$drawrect(,,,,brushcolor-228-232-248 pencolor-null)


foo_uie_single_column_playlist

Reply #1254
Hey, I was wondering, for the context menu when clickin on a track in SCPL, there's an item called "playlist" which has "active" and "playing" in it, but I'm not sure what the check marks mean. Do they indicate which playlist is active and/or playing? Because you can click on them and change the appearance of the checkmark, which did not sync up with the same icons in the playlists dropdown component. If we don't use this context menu item, can we delete it?

foo_uie_single_column_playlist

Reply #1255
i have another request: would it be possible to implement a variable that indicates if a group is the first of a specific artist in the playlist? I've got an artist picture in my group header and if there are several groups of the same artist in the playlist it shows the picture in every group header. because my playlist is sorted by artist first, I want the picture to appear only on the first album of the artist and not on the following albums. So basically I'd need a groupindex for groups of the same artist.

foo_uie_single_column_playlist

Reply #1256
i have another request: would it be possible to implement a variable that indicates if a group is the first of a specific artist in the playlist? I've got an artist picture in my group header and if there are several groups of the same artist in the playlist it shows the picture in every group header. because my playlist is sorted by artist first, I want the picture to appear only on the first album of the artist and not on the following albums. So basically I'd need a groupindex for groups of the same artist.

As a workaround you could add a custom tag to the first album (alphabetically) of your artist and use that tag to display (or not) your artist picture.

foo_uie_single_column_playlist

Reply #1257
Would it be possible to have the plugin pre-cache all albumart in the playlist? I'd rather wait some seconds when creating a big playlist than have a lag when scrolling through the playlist.

 

foo_uie_single_column_playlist

Reply #1258
Would it be possible to have the plugin pre-cache all albumart in the playlist? I'd rather wait some seconds when creating a big playlist than have a lag when scrolling through the playlist.


From a programmer's point of view, on-request loading of the album art would give better performance than waiting for the whole thing to load. Using a Virtual ListView, you can get a lot of performance out of it using the on-request method. Without it, you could be waiting 30 seconds or more on a large playlist.

foo_uie_single_column_playlist

Reply #1259

Would it be possible to have the plugin pre-cache all albumart in the playlist? I'd rather wait some seconds when creating a big playlist than have a lag when scrolling through the playlist.


From a programmer's point of view, on-request loading of the album art would give better performance than waiting for the whole thing to load. Using a Virtual ListView, you can get a lot of performance out of it using the on-request method. Without it, you could be waiting 30 seconds or more on a large playlist.


Hmm, maybe saving cache between sessions.... with a big playlist and albumarts with ~2000*2000 pixels scrolling in very large playlists is not the so fast... resizing images takes some time.
Tried several solutions, but displaying album art in playlists is a big slowdown and I don't want to have foobar open all day just to have all images cached.

foo_uie_single_column_playlist

Reply #1260
If performance is that big of an issue for you, then maybe you should consider rethinking your playlist layout.  Nothing is going to make huge playlist with tons of albumart move all that fast.  Perhaps write a trackinfo_mod panel to display your album art, or use the albumart panel.  That would allow you playlist to scroll as fast as you desire, yet still display art for the song that's playing or selected.

foo_uie_single_column_playlist

Reply #1261


Would it be possible to have the plugin pre-cache all albumart in the playlist? I'd rather wait some seconds when creating a big playlist than have a lag when scrolling through the playlist.


From a programmer's point of view, on-request loading of the album art would give better performance than waiting for the whole thing to load. Using a Virtual ListView, you can get a lot of performance out of it using the on-request method. Without it, you could be waiting 30 seconds or more on a large playlist.


Hmm, maybe saving cache between sessions.... with a big playlist and albumarts with ~2000*2000 pixels scrolling in very large playlists is not the so fast... resizing images takes some time.
Tried several solutions, but displaying album art in playlists is a big slowdown and I don't want to have foobar open all day just to have all images cached.


Obviously using images any larger than 500x500 will be too large, and cause performance issues. Stick to something smaller. I can't even fit 2000x2000 on my screen at a time (with a 1280x1024 display resolution)

foo_uie_single_column_playlist

Reply #1262
*Please make selecting have the same behavior as in Columns Playlist. There is currently no way to rearrange the tracks in the list.


Hold down [alt] while dragging the tracks.  It works!

foo_uie_single_column_playlist

Reply #1263
hello fellow SCPL users! 

im here to ask you for a little favour. i have somehow lost touch with how this plugin works nowadays and hope you can help me a little.

here is the code im using at the moment:

ITEM:
Code: [Select]
$if(%_selected%,$drawrect(94,2,0,16,brushcolor-220-220-220 pencolor-null),)

$imageabs(13,$if($strcmp(%tracknumber%,01),2,$add(23,$mul(-21,%tracknumber%))),vista1\backcover.png,)
$if($strcmp(%tracknumber%,02),$font(calibri,8,boldshadow glowalpha-50-50-50,90-90-90)$alignabs(6,4,80,20,center,)No cover,)
$imageabs2(60,60,,,60,60,15,$if($strcmp(%tracknumber%,01),3,$add(25,$mul(-22,%tracknumber%))),$replace(%path%,%filename_ext%,)folder.jpg,)

$alignabs(102,3,$sub(%_width%,150),12,,)
$font(calibri,8,shadow glowalpha-50,70-70-70)↘%title%
$alignabs($sub(%_width%,127),3,120,20,right,)%length%



$if(%isplaying%,
$drawrect(94,0,0,0,brushcolor-244-244-244 pencolor-null)
$drawrect(94,2,0,16,brushcolor-40-120-180 pencolor-null)
//$imageabs(96,0,vista1\20.png,)
$font(calibri,8,glow-130-160-240 glowalpha-120,250-250-250)
$alignabs(102,3,$sub(%_width%,150),12,,)>>%title%
$alignabs($sub(%_width%,127),3,120,20,right,)%length%
$alignabs($sub(%_width%,157),7,120,20,right,)
$font(wingdings,6,bold glow-130-160-240 glowalpha-110,180-220-250)$repeat(ï‚«,%rating%)

)


GROUP:
Code: [Select]
//$drawrect(0,0,0,18,brushcolor-170-170-170 pencolor-null)
//$imageabs(0,2,vista1\art2.png,)
$alignabs(20,3,300,20,,)
$font(calibri,9,boldshadow  glowalpha-100,20-100-160)%artist%


its basically a slightly modded version of cepiperez NEO4.
so what im asking is whether it is possible to add a funtion to put all items with a groupsize<4 in a new group called "various" or something and if it is possible please tell me how to

any help will be appreciated!

thanks in advance,

henn1ng
- creative x-fi extreme music
- sennheiser 650hd
- F U B A R++

foo_uie_single_column_playlist

Reply #1264
First you'll have to sort your playlist so albums with less than 4 tracks are grouped together.  Sort string something like -
Code: [Select]
$ifgreater(%totaltracks%,4,
<insert current sort code>
,
() - %artist%
) - %disc% - $tracknumber() - %title%

The '()' will get anything with less than 4 tracks sorted at the top of the list then sorted by artist.

Next in your 'Group By' setting in SCPL you have to group everything with less than 4 tracks together while still grouping normal albums.
Code: [Select]
$ifgreater(%totaltracks%,4,
<insert normal grouping, ie %album%>
,
%_itemcount%
)

%_itemcount% seems to work to get one header at the top of the list.

Then in your group header code you have to display something unique for this first group.
Code: [Select]
$ifgreater(%totaltracks%,4,
<insert normal group code>
,
<insert your 'Various' code>
)

I think that should do it.

foo_uie_single_column_playlist

Reply #1265
hmmmmm first of all, thanks for replying!

but i think that this is either not the final solution yet or im doing something terribly wrong
this is what i made after your post:

GROUP BY:

Code: [Select]
$ifgreater(%totaltracks%,4,
%ARTIST%
,
%_itemcount%
)


ITEM DISPLAY:

Code: [Select]
$ifgreater(%totaltracks%,4,
$if(%_selected%,$drawrect(94,2,0,16,brushcolor-220-220-220 pencolor-null),)

$imageabs(13,$if($strcmp(%tracknumber%,01),2,$add(23,$mul(-21,%tracknumber%))),vista1\backcover.png,)
$if($strcmp(%tracknumber%,02),$font(calibri,8,boldshadow glowalpha-50-50-50,90-90-90)$alignabs(6,4,80,20,center,)No cover,)
$imageabs2(60,60,,,60,60,15,$if($strcmp(%tracknumber%,01),3,$add(25,$mul(-22,%tracknumber%))),$replace(%path%,%filename_ext%,)folder.jpg,)

$alignabs(102,3,$sub(%_width%,150),12,,)
$font(calibri,8,shadow glowalpha-50,70-70-70)↘%title%
$alignabs($sub(%_width%,127),3,120,20,right,)%length%



$if(%isplaying%,
$drawrect(94,0,0,0,brushcolor-244-244-244 pencolor-null)
$drawrect(94,2,0,16,brushcolor-40-120-180 pencolor-null)
//$imageabs(96,0,vista1\20.png,)
$font(calibri,8,glow-130-160-240 glowalpha-120,250-250-250)
$alignabs(102,3,$sub(%_width%,150),12,,)>>%title%
$alignabs($sub(%_width%,127),3,120,20,right,)%length%
$alignabs($sub(%_width%,157),7,120,20,right,)
$font(wingdings,6,bold glow-130-160-240 glowalpha-110,180-220-250)$repeat(ï‚«,%rating%)

)
,
) - %artist%
) - %disc% - $tracknumber() - %title%


GROUP DISPLAY:

Code: [Select]
$ifgreater(%totaltracks%,4,
//$drawrect(0,0,0,18,brushcolor-170-170-170 pencolor-null)
//$imageabs(0,2,vista1\art2.png,)
$alignabs(20,3,300,20,,)
$font(calibri,9,boldshadow  glowalpha-100,20-100-160)%artist%
,
Various
)



and it just looks terrible
im sure i made some mistakes tho.
anyway id be glad if you could look into this once more and help me fix it  it would practically make my foobar perfect

thx again

henn1ng


ps. im sorry for making these long posts but i forgot the tag for "scrollable" code.
- creative x-fi extreme music
- sennheiser 650hd
- F U B A R++

foo_uie_single_column_playlist

Reply #1266
You got some code in the wrong places.  First, your GROUP BY code should be
Code: [Select]
$ifgreater(%totaltracks%,4,
%album%
,
%_itemcount%
)
This way a new header is created for each new album.  If you use %artist% then there is only a new header each time an artist changes (depends on sorting).

Now, probably the most important part, is the sorting.  You can either map sorting into a trackinfo mod button, or you have to use a ColumnsUI column custom sort spec.  For me, I have two layouts that I use.  SCPL is for everyday use.  I have a ColumnsUI layout that I use for resorting my playlists.  In the custom sort spec of any ColumnsUI column, you need
Code: [Select]
$ifgreater(%totaltracks%,4,
%album artist% - %album%
,
() - %artist%
) - %disc% - $tracknumber() - %title%
Pic for reference


ITEM DISPLAY should probably be
Code: [Select]
$if(%_selected%,$drawrect(94,2,0,16,brushcolor-220-220-220 pencolor-null),)

$imageabs(13,$if($strcmp(%tracknumber%,01),2,$add(23,$mul(-21,%tracknumber%))),vista1\backcover.png,)
$if($strcmp(%tracknumber%,02),$font(calibri,8,boldshadow glowalpha-50-50-50,90-90-90)$alignabs(6,4,80,20,center,)No cover,)
$imageabs2(60,60,,,60,60,15,$if($strcmp(%tracknumber%,01),3,$add(25,$mul(-22,%tracknumber%))),$replace(%path%,%filename_ext%,)folder.jpg,)

$alignabs(102,3,$sub(%_width%,150),12,,)
$font(calibri,8,shadow glowalpha-50,70-70-70)↘%title%
$alignabs($sub(%_width%,127),3,120,20,right,)%length%



$if(%isplaying%,
$drawrect(94,0,0,0,brushcolor-244-244-244 pencolor-null)
$drawrect(94,2,0,16,brushcolor-40-120-180 pencolor-null)
//$imageabs(96,0,vista1\20.png,)
$font(calibri,8,glow-130-160-240 glowalpha-120,250-250-250)
$alignabs(102,3,$sub(%_width%,150),12,,)>>%title%
$alignabs($sub(%_width%,127),3,120,20,right,)%length%
$alignabs($sub(%_width%,157),7,120,20,right,)
$font(wingdings,6,bold glow-130-160-240 glowalpha-110,180-220-250)$repeat(ï‚«,%rating%)

)
This assumes you want the same thing displayed for all tracks regardless of total tracks.  If you DO want something different then you'll have to use the $ifgreater() function.  Either way, the sort code does not go here.

Your GROUP DISPLAY looks fine.

foo_uie_single_column_playlist

Reply #1267
You got some code in the wrong places.  First, your GROUP BY code should be
Code: [Select]
$ifgreater(%totaltracks%,4,
%album%
,
%_itemcount%
)


You cannot use %_itemcount% or %_itemindex% in the Group By field. Please, if this has changed someone correct me. My suggestion would be a group by code like this:
Code: [Select]
$ifgreater(%totaltracks%,4,%album%,!noheader!)
or
Code: [Select]
$ifgreater(%totaltracks%,4,%album%,%artist%)

Also, the $if(%_selected%) and $if(%isplaying% code should be moved outside of the $ifgreater() code otherwise you're only going to see the effects with your albums and not your "singles".

But you are right the sort string is a major problem many users of this plugin run into. This plugin does not sort your playlist entries it simply groups similar adjacent entries together. I would like to again suggest that this plugin atleast add the current group by string to the end of the current sort string for more intuitive behavior.

foo_uie_single_column_playlist

Reply #1268
Some Alt shortcuts are overridden, for instance, you can't Alt+F4. 0.5.4 beta, Jan 9th build.
f to c to f to c

foo_uie_single_column_playlist

Reply #1269
wow he's right. forcing a user to use the mouse to close a program is evil. this might also be related to a problem another user reported in another thread regarding the use of a german keyboard with foobar.

foo_uie_single_column_playlist

Reply #1270
wow, thx for all the support ppl!

i have now managed to at least get a different header for items with a grousize <4.
my standard playlist is sorted by artist then date then album then tracknumber. i never really understood where it tells it to do so since im using cepiperez config but it looks just right.
i reckon it has something to do with the "playlist tree" or the  "browser".


so the best thing really would be to use this sorting and display method for all groups >3 and all the others should be up top sorted and  grouped by album.

i have not really understood your suggestion with the columns ui sorting. does that even effect my scpl ?? i have basically done it the exact same way as you di on the screenshot, only with the different sorting. but it didnt do anything.

maybe you could post what that trackinfo button should look like.

i think "we're" almost there  so please help me to get this done.

again, thank you for answering!
- creative x-fi extreme music
- sennheiser 650hd
- F U B A R++

foo_uie_single_column_playlist

Reply #1271
You cannot use %_itemcount% or %_itemindex% in the Group By field. Please, if this has changed someone correct me.

Well I tested it and it provides one group header at the top of all the 'singles'.  Whether it is actually the correct string to use, or I just cheated the sytem, I'm not sure.  But it works.

Using !noheader! would eliminate the header at the top of the list where he has his 'Singles' and %artist% would create a new header for each artist change.  He doesn't want either of those scenarios, just one header at the beginning of his 'Singles' section.

foo_uie_single_column_playlist

Reply #1272
i have not really understood your suggestion with the columns ui sorting. does that even effect my scpl ?? i have basically done it the exact same way as you di on the screenshot, only with the different sorting. but it didnt do anything.

maybe you could post what that trackinfo button should look like.

Any playlist sorting affects all playlist views, whether it is ColumnsUI or SCPL.  To sort using the custom sort spec in a ColumnsUI column you must switch to a ColumnsUI layout and just click the column header.  It works just like windows explorer to sort a column.

The trackinfo_mod button code would be something like this -
Code: [Select]
$button2(DstX,DstY,X,Y,W,H,TEXT,HOVER TEXT,'SORT:Normal|$ifgreater(%totaltracks%,4,%artist% - %date%,()) - %album% - $tracknumber()',)

I think that sort string is correct based on what you posted.  I haven't tested this button code since I'm not at home, but I think it should work.


foo_uie_single_column_playlist

Reply #1274
Is it possible to define playlist sorting with a button in a trackinfomod panel, for example:
Code: [Select]
$button2(90,1,0,0,35,13,'$font(tahoma,7,,$if($sorted(Singles),255-255-255,0-0-0))$char(91)
$font(,,,128-128-128)Singles$font(,,,$if($sorted(Singles),255-255-255,0-0-0))$char(93)',
'$font(tahoma,7,shadow,255-255-255)Singles',
'SORT:Singles|RESET
%artist% - %title%
',)

And then reference that sort using $sorted() in a SCPL group by routine, for example:
Code: [Select]
$if($sorted(Singles),!noheader!,
$if(%tracknumber%,%album%%discnumber%,
!noheader!
))

I have tried many permutations and combinations but have been unsuccessful in using $sorted() in any panel outside of the one where the original button resides.