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: [Not My Release] ELPlaylist (Read 532239 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[Not My Release] ELPlaylist

Reply #300
There is a keyboard shortcut built in to disable it, Ctrl+E, as long as it isn't set to something else under Prefs>Keyboard Shortcuts


[Not My Release] ELPlaylist

Reply #302
Erm, sorry, disable was the wrong word, I meant reset! I also just realised you're talking about the box (Ctrl+F) not the incremental search thing (typing without the box)... the box works fine for me. I was saying how Ctrl+E resets the incremental search term so you can type a new one, but deleting the text in the text box should also work...

[Not My Release] ELPlaylist

Reply #303
Erm, sorry, disable was the wrong word, I meant reset! I also just realised you're talking about the box (Ctrl+F) not the incremental search thing (typing without the box)... the box works fine for me. I was saying how Ctrl+E resets the incremental search term so you can type a new one, but deleting the text in the text box should also work...

Actually, I was referring to the F3 search.  The default UI's search.

[Not My Release] ELPlaylist

Reply #304
Dear developer,
i have some feature requests.
It's my christmas wishlist

- Buttons in ELPlaylist, to rate songs directly in the playlist
- average bitrate-function/field in group header, that displays the average bitrate of the titles in a group
- average rating-function/field in group header, that displays the average rating of the titles in a group
- per second setting for group header (i want to create a blinking play-image in the group header)

Maybe Santa Clause is reading this and can tell me, if one or another of the above mentioned points are already possible?
If not, please mr. developer hear my prayer. And i know YOU must be Santa Clause... 


[Not My Release] ELPlaylist

Reply #306
Need a bit help again.

I want to display cover image in the group header.
At the moment i use this:
Code: [Select]
$if(%length%,
    $if($stricmp(%codec%,cdda),
        $imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),%__IMG_PATH__%AudioCD.png)
    ,
        $imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),%__IMG_PATH__%NoCover.png)
        $imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),%path%,artreader)
    )
,
    $imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),%__IMG_PATH__%Radio.png)
)


It works good, but will always show NoCover.png AND artreader on top, if there is a %length% tag and %codec% isn't cdda.
Now i want to know if there is a way i can tell ELPlaylist to show either artreader (when embedded or external artwork is available) OR Nocover.png (so i could write $imageabs() only once and could set the $if()-function in 'field definition' or at least in a $puts()-function).
Is it possible?

[Not My Release] ELPlaylist

Reply #307
not sure this is what you're looking for but still:

Code: [Select]
$if2($imageabs(x,y,w,h,%path%,artreader nokeepaspect),
     $imageabs(x,y,w,h,%__ART_PATH__%,nokeepaspect)
)

[Not My Release] ELPlaylist

Reply #308
Thank you, jeremija.
It's not exactly what i wanted to do but it shortens my string down to two times $imageabs() instead of four.
I thought i also could put the '%path%,artreader' part in the $if()-function somehow, to write only

$imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),%__IMG_PATH__%)

Now i use this:
FIELD DEFINITION
__IMG_PATH__: ./Appearance\$if(%length%,$if($stricmp(%codec%,cdda),AudioCD.png,NoCover.png),Radio.png)


Code: [Select]
$if2($imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),%path%,artreader)
,
$imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),%__IMG_PATH__%)
)


It works, but if someone knows if it's possible to put the '%path%,artreader' part in the field definition too, please let me know.

[Not My Release] ELPlaylist

Reply #309
if it's possible to set the missing art image for columns ui artreader (don't know if it is), i guess something like this is possible:

Code: [Select]
$imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),
         $if(%length%,
                $if($stricmp(%codec%,cdda),%__IMG_PATH__%AudioCD.png,%path%)
                ,
                %__IMG_PATH__%Radio.png
         ),
         $if(%length%,$if($stricmp(%codec%,cdda),,artreader))
)

but it looks a lot clumsier than with two $imageabs() functions.

p.s.
not sure if it will work with those line breaks, i wrote it like this to make it easier to read.
also, i'm not sure if all the brackets are closed properly

[Not My Release] ELPlaylist

Reply #310
Thanks for your effort, but it's not what i want
There's no NoCover.png in your string...

And it wouldn't really be shorter than my first string...

I wanted to have all in one $puts()-function or - much better - in Field Definition because i wanted to have the possibility to have the whole $if()-function (included '%path%,artreader', NoCover.png, Radio.png and AudioCD.png if the respective condition fits) available for Track List, Group Header and Popup.

So i had to write $imageabs(x,y,w,h,%__IMG_PATH__%) only once on each tab.

But again, many thanks for your effort

EDIT2:
This is exactly what i want:
If %length% tag is available:
- use AudioCD.png if %codec% is cdda
- use %path%,artreader if embedded or external artwork is available
- use NoCover.png if there's no artwork available
otherwise:
- use Radio.png

This i want to have in a function in Field Definition to make it available on each tab.

[Not My Release] ELPlaylist

Reply #311
Thanks for your effort, but it's not what i want
There's no NoCover.png in your string...

i understand, that's why i wrote: "if it's possible to set the nocover.jpg in columns ui artreader..."
if that was possible, you could do it like this (because it would read the nocover img from the artwork reader):

Code: [Select]
$imageabs(3,3,$sub(%el_height%,8),$sub(%el_height%,8),%__IMG_PATH__%,$if(%length%,$if($stricmp(%codec%,cdda),,artreader)))

and you could put this in the %__IMG_PATH__%
Code: [Select]
%__IMG_PATH__% :          $if(%length%,
                $if($stricmp(%codec%,cdda),AudioCD.png,%path%)
                ,
                Radio.png
         )

//or all in one line:

%__IMG_PATH__% : $if(%length%,$if($stricmp(%codec%,cdda),AudioCD.png,%path%),Radio.png)

but, as i said before, it seems to me that this is a lot clumsier than with two imageabses
plus no nocover image

Quote
And it wouldn't really be shorter than my first string...

I wanted to have all in one $puts()-function or - much better - in Field Definition because i wanted to have the possibility to have the whole $if()-function (included '%path%,artreader', NoCover.png, Radio.png and AudioCD.png if the respective condition fits) available for Track List, Group Header and Popup.

So i had to write $imageabs(x,y,w,h,%__IMG_PATH__%) only once on each tab.


the problem with the field definitions or puts() functions is that you cannot make it store a comma in other way than as a string (ie. ','), hence the $if(%length%,$if($stricmp(%codec%,cdda),,artreader)) part in the $imageabs() function


edit:
it is possible to set default nocover image for artreader (link) - under advanced preferences -> display -> image to display when...

[Not My Release] ELPlaylist

Reply #312
...the problem with the field definitions or puts() functions is that you cannot make it store a comma in other way than as a string (ie. ',')...

That's exactly the problem i have 
This and that '%path%,artreader' isn't a proper path to an image, but a filepath and an option...
Otherwise i could set $if($findfile(%path%,artreader),bla bla ...)

I thought, maybe someone had another idea to get it to work
But your first suggestion is ok. I can live with two $imageabs()-functions.
But it nearly became a 'hobby' to me to make titleformatting strings as short as possible 

EDIT:
(Answer to your edit)
Yes, i know. And i have set it to. But it's been ignored by ELPlaylist...

[Not My Release] ELPlaylist

Reply #313
I have a problem with the grouping, if I use the default settings I get groups by album artist, but since some of my albums (especially soundtracks) are compilations some tracks go in a different group. Basically what I want is a way to group them by the folder they are in on the hard drive. Is there any way I can do that? I tried %path% but that only got me every single track in it's own group. Thanks in advance.

[Not My Release] ELPlaylist

Reply #314
Try this:

Group format:
[%album artist%][%date%][%album%][%discnumber%][%tracknumber%][%title%]

It's necessary that your compilations have an album artist tag, e.g. "VA" or "Various Artists" or "Various"...
If no album artist tag is existing, the artist tag will be used automatically.

If your tracks in the compilations have different date tags, you can add an additional tag (e.g. Release Date) for the complete compilation.
Than your pattern should look like:
[%album artist%]$if2(%release date%,[%date%])[%album%][%discnumber%][%tracknumber%][%title%]

[Not My Release] ELPlaylist

Reply #315
i was hoping to keep the individual artist names, just group them by the folder they are in.

[Not My Release] ELPlaylist

Reply #316
You can keep the original artist name in the tags, but to group compilations/sampler correctly you need an additional album artist tag.
You can display the artist in the track list though.
Just add in the string(s) where %title% is shown [%track artist% - ] before %title%.

For example:
$drawtextex([%track artist% - ]%title%,100,3,$sub(%el_width%,200),%el_row_height%,255-255-255,right top end_ellipsis)

EDIT:
You don't need to add a %track artist% tag to the files by hand, it is automatically 'generated' if an %album artist% exists and differs from %artist% tag

And maybe you should check under "Preferences-->General-->Sort incoming files by:" that %path_sort% is used.

EDIT2:
Sorry, it is much easier than i suggested.
Group them just by %directoryname% instead of %path% and you'll get what you want
But this will only display the name of the artist from the first track in the group header.
Nevertheless you should add an album artist tag to your compilations and additionally modify the default setting in tracklist
(I found the place to put the %track artist% in:
Settings-->Script-->Track list--> in the 5th line change $puts(track.text,%tracknumber%  %title%) to $puts(track.text,%tracknumber%  [%track artist% - ]%title%))

[Not My Release] ELPlaylist

Reply #317
thank you the grouping organized them pretty good, still have to sort my music better though, but this will make it easier.

one more question, my tracklist script is:

Code: [Select]
// -----------------------------------------------------------------------------------------------------------------------
// Kung-Foo - Foobar2000 config under ColumnsUI & Panel Stack Splitter - designed by Br3tt 08/2008
// -----------------------------------------------------------------------------------------------------------------------

$puts(trans,%__TRANSPARENCY__%)

$puts(playcount,$if2(%play_counter%,$if2(%play_count%,' ')))
// fonts
$puts(default.font,'Tahoma')
$puts(digital.font,'lcd')
$puts(small.font,'Segoe UI')
$puts(small.font,'Uni 05_53')
$puts(font.size,8)
$puts(small.font.size,6)
// colors
$puts(bg.normal.color,015-015-015-$get(trans))
$puts(bg.selected.color,065-065-052-$get(trans))
$puts(bg.isplaying.color,065-065-052-$get(trans))
  $puts(bg.selected.color,105-155-230-$get(trans))
  $puts(bg.isplaying.color,230-155-105-$get(trans))
$puts(bg.selected.color,105-155-230-$get(trans))
$puts(bg.isplaying.color,180-105-055-$get(trans))
$puts(txt.normal.color,010-110-130-$get(trans))
 $puts(txt.normal.color,090-090-100-$get(trans))
$puts(txt.selected.color,000-000-000-$get(trans))
$puts(txt.isplaying.color,120-180-250-$get(trans))
  $puts(txt.isplaying.color,000-000-000-$get(trans))
// pc = playcounter color
$puts(pc.normal.color,080-080-080-$get(trans))
$puts(pc.selected.color,000-000-000-$get(trans))
$puts(pc.isplaying.color,035-035-025-$get(trans))
// rate = rating stars color
$puts(rate.normal_on.color,130-130-140-$get(trans))
$puts(rate.normal_on.color,165-165-225-$get(trans))
$puts(rate.normal_off.color,050-050-050-$get(trans))
$puts(rate.selected_on.color,000-000-000-$get(trans))
$puts(rate.selected_off.color,048-048-038-$get(trans))
$puts(rate.isplaying_on.color,000-000-000-$get(trans))
$puts(rate.isplaying_off.color,048-048-038-$get(trans))

// paths
$if($findfile(%__ART_PATH__%),
$puts(cover.path,%__ART_PATH__%)
,
$puts(cover.path,%__IMG_PATH__%'cover/nocover.png')
)

// fill background color
$drawrect(0,0,%el_width%,%el_height%,$get(bg.normal.color),,)

// calculate left delta width to place the cover
$ifgreater(%el_width%,380,
$puts(fillit,0)
,
$puts(fillit,-122)
)

$puts(left.delta,$add(126,$get(fillit)))

// cover properties
$puts(cover.x,8)
$puts(cover.y,10)
$puts(cover.size,$add(111,$get(fillit)))
$puts(reflect.x,8)
$puts(reflect.y,$add(154,$get(fillit)))
$puts(reflect.size,$add(111,$get(fillit)))

// drawing track bg
$enabledraw(1)
$ifgreater(%el_item_index2%,$sub(%el_item_count%,1),
$gradientrect(0,$sub(%el_height%,19),%el_width%,19, $left($get(bg.normal.color),11)-$div($get(trans),1), $left($get(bg.normal.color),11)-$div($get(trans),1), vertical)
,)
$ifequal($sub(%el_item_count2%,1),%el_item_index2%,
  $gradientrect(0,$sub(%el_height%,7),%el_width%,7, 000-000-000-000,000-000-000-150, vertical)
,)
// drawing cover
$imageabs($get(cover.x),$sub(-10,$mul(%el_item_index2%,19)),$get(cover.size),$get(cover.size),$get(cover.path),nokeepaspect,,255)
$ifequal($get(fillit),0,
  $imageabs($sub($get(cover.x),7),$sub(-14,$mul(%el_item_index2%,19)),124,124,%__IMG_PATH__%'bg/coverlay3.png',,,225)
,)
$ifequal($sub(%el_item_count2%,1),%el_item_index2%,
  $drawrect($add($get(cover.size),18),$sub(%el_height%,12),$sub(%el_width%,$add($get(cover.size),24)),1,030-030-030-110,,)
  $drawrect($add($get(cover.size),18),$sub(%el_height%,11),$sub(%el_width%,$add($get(cover.size),24)),1,000-000-000-110,,)
  $gradientrect(0,$sub(%el_height%,3),%el_width%,3, 015-015-015-125, 000-000-000-155, vertical)
,)

$enabledraw(%el_is_valid%)

// drawing background for selected line
$if(%el_selected%,
$drawroundrect($add($get(left.delta),2),1,$sub($sub(%el_width%,$get(left.delta)),5),$sub(%el_height%,3),3,3,$left($get(bg.selected.color),11)-105,20-20-20-105,)
$drawroundrect($add($get(left.delta),2),2,$sub($sub(%el_width%,$get(left.delta)),6),$sub(%el_height%,4),2,2,$left($get(bg.selected.color),11)-105,20-20-20-120,)
,
  $if(%el_isplaying%,
$drawroundrect($add($get(left.delta),2),1,$sub($sub(%el_width%,$get(left.delta)),5),$sub(%el_height%,3),3,3,$left($get(bg.isplaying.color),11)-105,20-20-20-105,)
$drawroundrect($add($get(left.delta),2),2,$sub($sub(%el_width%,$get(left.delta)),6),$sub(%el_height%,4),2,2,$left($get(bg.isplaying.color),11)-105,20-20-20-120,)
  ,)
)

// drawing TRACKNUMBERS
$if(%el_selected%,,
$if(%el_isplaying%,,
$drawroundrect($add($get(left.delta),2),1,23,$sub(%el_height%,3),3,3,$if(%el_isplaying%,$left($get(bg.isplaying.color),11),$left($get(bg.selected.color),11))-105,20-20-20-105,)
$drawroundrect($add($get(left.delta),2),2,22,$sub(%el_height%,4),2,2,$if(%el_isplaying%,$left($get(bg.isplaying.color),11),$left($get(bg.selected.color),11))-105,20-20-20-110,)
)
)
$font($get(digital.font),8,bold)
$if(%el_isplaying%,,
$drawtextex(%tracknumber%' ',$add($get(left.delta),2),3,28,16,$if(%el_selected%,$get(txt.selected.color),$get(txt.selected.color)),hcenter vcenter end_ellipsis)
)

// drawing TRACK INFOS
$font($get(default.font),$get(font.size),normal)
$puts(libelle,$upper($if($stricmp(%album artist%,%artist%),%title%,%artist%' '%title%)) )
$puts(lg.lib,$gettextwidth($get(libelle)))
$if($stricmp(%album artist%,%artist%),
$if(%el_isplaying%,
$drawtextex($get(libelle),$add($get(left.delta),30),3,$sub($sub(%el_width%,$get(left.delta)),139),%el_height%,$get(txt.isplaying.color),hleft vtop end_ellipsis)
,
$drawtextex($get(libelle),$add($get(left.delta),30),3,$sub($sub(%el_width%,$get(left.delta)),139),%el_height%,$if(%el_selected%,$get(txt.selected.color),$get(txt.normal.color)),hleft vtop end_ellipsis)
)
,
$font($get(default.font),$get(font.size),normal)
$puts(lib_a,$upper(%artist%' '))
$puts(lib_b,$upper(%title%))
$puts(lg.lib_a,$add($gettextwidth($get(lib_a)),30))
$if(%el_isplaying%,
$drawtextex($get(lib_a),$add($get(left.delta),30),3,$sub($sub(%el_width%,$get(left.delta)),136),%el_height%,$get(txt.isplaying.color),hleft vtop end_ellipsis)
$ifgreater($get(lg.lib_a),$sub($sub(%el_width%,$get(left.delta)),107),,
$font(Wingdings,12,)
$drawtextex($char(167),$add($get(left.delta),$sub($get(lg.lib_a),11)),2,$sub($sub(%el_width%,$get(left.delta)),136),%el_height%,$get(txt.isplaying.color),hleft vtop end_ellipsis)
)
$font($get(default.font),$get(font.size),normal)
$drawtextex($get(lib_b),$add($get(left.delta),$get(lg.lib_a)),3,$sub($sub($sub(%el_width%,$get(left.delta)),106),$get(lg.lib_a)),%el_height%,$get(txt.isplaying.color),hleft vtop end_ellipsis)
,
$drawtextex($upper(%artist%' '),$add($get(left.delta),30),3,$sub($sub(%el_width%,$get(left.delta)),136),%el_height%,$if(%el_selected%,$get(txt.selected.color),$get(txt.normal.color)),hleft vtop end_ellipsis)
$font(Wingdings,12,normal)
$ifgreater($get(lg.lib_a),$sub($sub(%el_width%,$get(left.delta)),107),,
$font(Wingdings,12,normal)
$drawtextex($char(167),$add($get(left.delta),$sub($get(lg.lib_a),11)),2,$sub($sub(%el_width%,$get(left.delta)),136),%el_height%,$if(%el_selected%,$get(txt.selected.color),045-045-035-255),hleft vtop end_ellipsis)
)
$font($get(default.font),$get(font.size),normal)
$drawtextex($get(lib_b),$add($get(left.delta),$get(lg.lib_a)),3,$sub($sub($sub(%el_width%,$get(left.delta)),106),$get(lg.lib_a)),%el_height%,$if(%el_selected%,$get(txt.selected.color),$get(txt.normal.color)),hleft vtop end_ellipsis)
)
)

// drawing PLAYCOUNTER info
$font($get(small.font),$get(small.font.size),normal)
$ifgreater($get(lg.lib),$sub($sub(%el_width%,$get(left.delta)),140),
$puts(pc.pos,$sub($sub(%el_width%,$get(left.delta)),140))
,
$puts(pc.pos,$get(lg.lib))
)
$if(%el_isplaying%,
$drawtextex($get(playcount),$add($get(left.delta),$add($get(pc.pos),30)),0,18,9,$get(pc.isplaying.color),hleft vtop)
,
$drawtextex($get(playcount),$add($get(left.delta),$add($get(pc.pos),30)),0,18,9,$if(%el_selected%,$get(pc.selected.color),$get(pc.normal.color)),hleft vtop)
)

// drawing RATING info
$if(%el_isplaying%,,
$puts(rating,%rating%)
$imageabs($sub(%el_width%,100),5,52,9,'./images/kung-foo/rating/set1/r0.png',nokeepaspect,,100)
$imageabs($sub(%el_width%,100),4,52,10,'./images/kung-foo/rating/set2/r'$get(rating)'.png',nokeepaspect,,180)
)

// drawing LENGTH TRACK info (static)
$if(%el_isplaying%,,
$if(%length%,
$font($get(digital.font),8,normal)
$puts(duree,$if2(%length%,$font(Symbol,12,normal)$char(165)))
$drawtextex($get(duree)' ',$sub(%el_width%,57),5,54,%el_height%,$if(%el_selected%,$get(txt.selected.color),$get(txt.normal.color)),right vtop)
,)
)

// bottom gradient + borders left & right ( thin, width = 1)
$enabledraw(1)
$drawrect(0,0,1,%el_height%,000-000-000-245,,)
$drawrect($sub(%el_width%,1),0,1,%el_height%,000-000-000-245,,)

I should put the line you gave me somewhere in track info? or replace
Code: [Select]
$puts(libelle,$upper($if($stricmp(%album artist%,%artist%),%title%,%artist%'     '%title%)) )

[Not My Release] ELPlaylist

Reply #318
As i can see, you use Br3tt's Kung FOO configuration.
You don't need to change the lines then, it should display "Artist    Title" if artist differs from album artist by default.

[Not My Release] ELPlaylist

Reply #319
thank you for your help.

[Not My Release] ELPlaylist

Reply #320
@developer
I've maybe found a bug:
All the drag&drop options work fine for me with one exception: It seems that you aren't able to drag ELPlaylist items from one ELPlaylist to another.
I'm using the Playlist Tabs (Playlist Switcher from Columns UI) to fast switch between different playlists. With normal playlists i can easily drag items from one playlist over the tab of another and then drop them somewhere there.
With ELPlaylist i also can drag items from playlist A over the tab of playlist B, that opens and i can drop. But instead of move or copy the items from A to B, it only moves previously marked items in B to another place in B. That makes no sense.
Did someone had already a similar problem?
I would be very glad for a solution because it's one of my most important features in foobar!
Thanks!

Nobody has an idea?

[Not My Release] ELPlaylist

Reply #321
It's me again 

I played around with album-images with cuesheets + chapters in a single file today.
Now i embedded the cover art into this file (wavpack) with mp3tag.

The cover art is shown in artwork view panel, but not in ELPlaylist, although it is set to use %path%,artreader.

I can't understand this behaviour.
Could anybody explain it?

Maybe it is because ELPlaylist only uses the first track in a group to display information in the group header.
But shouldn't the embedded artwork still be there since it is embedded in the file itself?

[Not My Release] ELPlaylist

Reply #322
question: is it possible to group/sort songs by file path structure instead of relying on tags?

like if you don't use tags, but still want songs from albums grouped together because they're in the same folder...

[Not My Release] ELPlaylist

Reply #323
of course, go to elplaylist settings, grouping tab: there you have group format and sort format.

[Not My Release] ELPlaylist

Reply #324
@Harun
- Right-click on playlist
- Choose "Settings" --> "grouping" and write in "group format" %directoryname% and in "sort format" write %path_sort%

Now you will have grouped your files by directory structure.