Recommended Posts

No problem!

Visual Style (Azrael 4.8.8 by Neksus)

foomyxas.jpg

Download

*Requires columns_ui

-

Buttons (Metal & Glass by myxamatosis)

Metal Pack

Metal.jpg

Download

Glass Pack

Glass.jpg

Download

-

Formatting

System Tray

//=============================Custom start==============================*

//============================Enable options=============================*
//Set to 1 to enable, 0 to disable, other details see the explanation!

$puts(enable_artist,1)
$puts(enable_album,1)
$puts(enable_lyrics,0)

$puts(enable_details,1)
$puts(enable_folders,0)

$puts(title_length,6)

//The length of the line is adjusted dynamically. if it always appears too long/short then you can finetune it here. Default value is 53 (53%)
$puts(line_modifier,53)

//the character used to draw the seperator-line
$puts(line_char,□)
//==============================Custom end===============================*





//============================Start Guessing=============================*
//enable tag-guessing? (set to 0 to completely disable any tag-guessing)
$puts(enable_guess,1)

//Try to guess Tracknumbers? (set to 0 to disable)
//If you experience slowdowns with untagged files, disable this.
$puts(enable_trackguess,1)

//get filename and do cleanup
$puts(filename,
$if(%__referenced_file%,$trim(%__referenced_file%),$trim(%_filename%)))
$puts(filename,$replace($trim(%_filename%),_,' ','%20',' ','  ',' ','  ',' '))

//check if guessing is enabled, otherwise use tags-only and skip guessing
$if($not($strcmp($get(enable_guess),1)),
$puts(artist,[$trim(%artist%)])
$puts(album,[$trim(%album%)])
$puts(title,[$trim(%title%)])
$puts(tracknr,[$trim(%tracknumber%)])
$puts(folder,$trim($replace(%_directoryname%,_,' ','%20',' ','  ',' '))),

//START GUESSING
$puts(filename2,$get(filename))

//tracknumber-guessing
$if(%tracknumber%,$puts(tracknr,$trim($num(%tracknumber%,2))),
$if($strcmp($get(enable_trackguess),1),

//search for 1st two digits
$puts(fname,$replace($substr($get(filename),1,1),1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0))
$if($strcmp($substr($get(fname),1,1),0),$puts(tracknr_check,1),)
$if($not($strcmp($get(tracknr_check),$char())),
$if($strcmp($lower($substr($get(filename),2,2)),$upper($substr($get(filename),2,2))),
$if($or($strcmp($substr($get(filename),3,3),' '),$strcmp($substr($get(filename),3,3),'.'),$strcmp($substr($get(filename),3,3),'-')),
$puts(tracknr,$left($get(filename),2))
$if($strcmp($substr($get(filename),3,4),' -'),
$puts(filename,$right($get(filename),$sub($len2($get(filename)),4))),
$puts(filename,$right($get(filename),$sub($len2($get(filename)),3)))
)),$puts(tracknr_check,)))

//search for [brackets]
$if($strcmp($get(tracknr_check),$char()),
$puts(tracknr_check,$if2($strchr($get(filename),'['),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($strcmp($substr($get(filename),$add($get(tracknr_check),3),$add($get(tracknr_check),3)),']'),
$puts(tracknr,$substr($get(filename),$add($get(tracknr_check),1),$add($get(tracknr_check),2)))
$puts(filename,$replace($get(filename),$substr($get(filename),$get(tracknr_check),$add($get(tracknr_check),3)),)),
$puts(tracknr_check,))))

//search for (brackets)
$if($strcmp($get(tracknr_check),$char()),
$puts(tracknr_check,$if2($strchr($get(filename),'('),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($strcmp($substr($get(filename),$add($get(tracknr_check),3),$add($get(tracknr_check),3)),')'),
$puts(tracknr,$substr($get(filename),$add($get(tracknr_check),1),$add($get(tracknr_check),2)))
$puts(filename,$replace($get(filename),$substr($get(filename),$get(tracknr_check),$add($get(tracknr_check),3)),)),
$puts(tracknr_check,))))

//search for -enclosed_in_dashes-
$if($strcmp($get(tracknr_check),$char()),
//1st pass
$puts(tracknr_check,$if2($strchr($get(filename),'-'),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($and(
$strcmp($substr($get(filename),$add($get(tracknr_check),3),$add($get(tracknr_check),3)),'-'),
$strcmp($lower($substr($get(filename),$add($get(tracknr_check),1),$add($get(tracknr_check),2))),$upper($substr($get(filename),$add($get(tracknr_check),1),$add($get(tracknr_check),2))))
),
$puts(tracknr,$substr($get(filename),$add($get(tracknr_check),1),$add($get(tracknr_check),2)))

$if($strcmp($get(tracknr_check),1),
$puts(filename,$replace($get(filename),$substr($get(filename),$get(tracknr_check),$add($get(tracknr_check),3)),)),
$puts(filename,$replace($get(filename),$substr($get(filename),$get(tracknr_check),$add($get(tracknr_check),2)),)))
,


//2nd pass
$puts(fname,$right($get(filename),$sub($len2($get(filename)),$get(tracknr_check))))
$puts(tracknr_check,$if2($strchr($get(fname),'-'),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($and(
$strcmp($substr($get(fname),$add($get(tracknr_check),3),$add($get(tracknr_check),3)),'-'),
$strcmp($lower($substr($get(fname),$add($get(tracknr_check),1),$add($get(tracknr_check),2))),$upper($substr($get(fname),$add($get(tracknr_check),1),$add($get(tracknr_check),2))))
),
$puts(tracknr,$substr($get(fname),$add($get(tracknr_check),1),$add($get(tracknr_check),2)))
$puts(filename,$replace($get(filename),'-'$get(tracknr),)),

//3rd pass (search backwards)
$puts(tracknr_check,$if2($strrchr($get(fname),'-'),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($and(
$strcmp($substr($get(fname),$sub($get(tracknr_check),3),$sub($get(tracknr_check),3)),'-'),
$strcmp($lower($substr($get(fname),$sub($get(tracknr_check),2),$sub($get(tracknr_check),1))),$upper($substr($get(fname),$sub($get(tracknr_check),2),$sub($get(tracknr_check),1))))
),
$puts(tracknr,$substr($get(fname),$sub($get(tracknr_check),2),$sub($get(tracknr_check),1)))
$puts(filename,$replace($get(filename),'-'$get(tracknr),)),
$puts(tracknr_check,))))))))

//search for "#??"
$if($strcmp($get(tracknr_check),$char()),
$puts(tracknr_check,$if2($strchr($get(filename),'#'),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($strcmp($upper($substr($get(filename),$add($get(tracknr_check),1),$add($get(tracknr_check),2))),$lower($substr($get(filename),$add($get(tracknr_check),1),$add($get(tracknr_check),2)))),
$puts(tracknr,$substr($get(filename),$add($get(tracknr_check),1),$add($get(tracknr_check),2)))
$if($or($strcmp($substr($get(filename),$sub($get(tracknr_check),1),$add($get(tracknr_check),3)),'[#'$get(tracknr)']'),
$strcmp($substr($get(filename),$sub($get(tracknr_check),1),$add($get(tracknr_check),3)),'(#'$get(tracknr)')')),
$puts(filename,$replace($get(filename),$substr($get(filename),$sub($get(tracknr_check),1),$add($get(tracknr_check),3)),)),
$puts(filename,$replace($get(filename),'#'$get(tracknr),))
),$puts(tracknr_check,))))

//search for "- ?? - "
$if($strcmp($get(tracknr_check),$char()),
//1st pass (backwards)
$puts(fname,$get(filename))
$puts(tracknr_check,$if2($strrchr($get(fname),'-'),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($strcmp($substr($get(fname),$sub($get(tracknr_check),5),$sub($get(tracknr_check),4)),'- '),
$puts(tracknr,$substr($get(fname),$sub($get(tracknr_check),3),$sub($get(tracknr_check),2)))
$puts(filename,$replace($get(filename),$get(tracknr)' - ',)),

//2nd pass (backwards)
$puts(fname,$left($get(fname),$sub($get(tracknr_check),1)))
$puts(tracknr_check,$if2($strrchr($get(fname),'-'),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($strcmp($substr($get(fname),$sub($get(tracknr_check),5),$sub($get(tracknr_check),4)),'- '),
$puts(tracknr,$substr($get(fname),$sub($get(tracknr_check),3),$sub($get(tracknr_check),2)))
$puts(filename,$replace($get(filename),$get(tracknr)' - ',)),

//3rd pass (backwards)
$puts(fname,$left($get(fname),$sub($get(tracknr_check),1)))
$puts(tracknr_check,$if2($strrchr($get(fname),'-'),))
$if($not($strcmp($get(tracknr_check),$char())),
$if($strcmp($substr($get(fname),$sub($get(tracknr_check),5),$sub($get(tracknr_check),4)),'- '),
$puts(tracknr,$substr($get(fname),$sub($get(tracknr_check),3),$sub($get(tracknr_check),2)))
$puts(filename,$replace($get(filename),$get(tracknr)' - ',)),
$puts(tracknr_check,))))))))

,$puts(tracknr_check,)))
//end tracknr-guess

//cleanup-filename (2nd pass)
$puts(filename,$replace($trim($caps2($get(filename))),'  ',' ','  ',' ',--,-,- -,-,- -,-))


//artist/title-guessing
$puts(fname,$replace($get(filename),' - ', ))
$puts(artist,$replace($substr($get(fname),1,$strchr($get(fname), )), ,))
$if($not($strcmp($get(artist),$char())),
$puts(title2,$replace($right($get(fname),$sub($len2($get(fname)),$add($len2($get(artist)),1))), ,' - ')),
$if($strcmp($get(filename),$get(filename2)),$puts(title2,),$puts(title2,$get(filename)))
)
$puts(artist,$if(%artist%,$trim(%artist%),$get(artist)))
$puts(title,$if(%title%,$trim(%title%),$get(title2)))
$if($not([%title%]),$if($stricmp($get(title),$char()),$puts(title,)))

//cleanup foldername
$puts(folder,$replace($trim($caps2(%_directoryname%)),_,' ','%20',' ','  ',' '))

//If a CUE-Sheet is used, use CUE-filename instead of folder
$puts(fname,$if(%__referenced_file%,
$replace($trim($caps2(%_filename%)),_,' ','%20',' ','  ',' '),
$get(folder)
))

//album/folder-guessing
$if(%album%,$puts(album,$trim(%album%)),$if(%venue%,$puts(album,'Live at: '$trim(%venue%)),
$puts(fname,$replace($get(fname),' - ', ))
$puts(artist2,$replace($substr($get(fname),1,$strchr($get(fname), )), ,))

$if($not($strcmp($get(artist2),$char())),
$if($strcmp($get(artist),$char()),$puts(artist,$get(artist2)))
$puts(album,$replace($right($get(fname),$sub($len2($get(fname)),$add($len2($get(artist2)),1))), ,' - ')),

$puts(fname,$get(title2))
$puts(fname,$replace($get(fname),' - ', ))
$puts(album2,$replace($substr($get(fname),1,$strchr($get(fname), )), ,))

$if($not($strcmp($get(album2),$char())),
$puts(title2,$replace($right($get(fname),$sub($len2($get(fname)),$add($len2($get(album2)),1))), ,' - '))
$puts(album,$get(album2))$puts(title,$get(title2)),
)))))

//=============================End Guessing==============================*





//=======================================================================*

//set 4-character filetype
$puts(filetype,$if(%__codec%,
[%__codec%],
$if(%__referenced_file%,
$cut($upper($ext(%__referenced_file%)),3),
$if($stricmp($left(%_path%,4),cdda),$cut($upper(%_path%),3),$cut($upper($ext(%_path%)),3)))))

//detect detailed filetype2
$puts(filetype2,$replace($get(filetype),
WAV,[%__codec% ]WAVE,
AIFF,Audio Interchange File Format,
AIF,Audio Interchange File Format,
IFF,Audio Interchange File Format,
SVX,Amiga 8SVX Sound,
SND,'Next/Sun Audio',
AU,'Next/Sun Audio',
VOC,Creatice Voice Format,
AC3,Dolby Digital Audio,
CDDA,Audio CD,
MKA,Matroska[ %__codec%],
Vorbis,OGG[ %__codec%],
MP4,MPEG-4[ %__codec%],
M4A,iTunes[ %__codec%],
MP2,MPEG Layer 2,
MP3,MPEG Layer 3,
AAC,AAC Audiostream,
WMA,Windows Media Audio,
MPC,Musepack,
MPP,Musepack,
MP+,Musepack,
OFR,OptimFROG,
OFS,OptimFROG DualStream,
FLA,FLAC,
APE,Monkey''s Audio,
MAC,Monkey''s Audio,
APL,Monkey''s Audio,
WV,WavePack,
SHN,Shorten,
PAC,LPAC,
SPX,Speex,
SID,C64 SID-Song,
MDZ,Compressed Soundtracker Module,
S3Z,Compressed Screamtracker Module,
ITZ,Compressed Impulsetracker Module,
XMZ,Compressed Fasttracker II Module,
MO3,Compressed Module,
MOD,Soundtracker Module,
S3M,Screamtracker Module,
XM,Fasttracker II Module,
IT,Impulsetracker Module,
UMX,Unreal Music File,
MTM,Multitracker Module,
TFM,Final Musicsystem eXtended
))
$puts(filetype2,$replace($get(filetype2),FLACC,FLAC))



//set replaygain-info
$if(%__replaygain_album_gain%,$puts(replaygain,AG),$if(%__replaygain_track_gain%,$puts(replaygain,TG),$puts(replaygain,)))

//set quality-info (bitrate, etc.)
$puts(quality,
$if2([%__bitrate_dynamic%kbps],[%__bitrate%kbps]))
$if($strcmp(%__codec%,musepack),$if(%__mpc_profile%,$puts(quality,%__mpc_profile%  $get(quality))))
$if($strcmp(%__codec%,MP3),$if(%__extrainfo%,$puts(quality,$get(quality)' '%__extrainfo%),$puts(quality,$get(quality)' CBR')),$puts(quality,$get(quality)[' '%__extrainfo%])
)
$puts(quality2,$replace($get(quality),[%__bitrate_dynamic%],[%__bitrate%]))

//======================================================================
//DETECTION CORE [end]
//our results are: $artist*, $album*, $title*, $tracknr*,
//$folder, $filename, $filetype, $filetype2, $quality*,
//$quality2* and $replaygain*
//* means if available - check this with:
//$not($strcmp($get(artist),$char())) <--- returns "true" if $artist is available(not empty)
//$quality2 is the same as $quality, but with averaged bitrate
//$filetype is 4-letter fileextension, while $filetype2
//returns a the full name of the audioformat(if possible)






//=======================================================================*
//artist
$if($strcmp($get(enable_artist),1),
$if($not($strcmp($get(artist),$char())),$padcut(Aritst,$get(title_length)): $get(artist)$char(10))
)

//album/folder
$if($strcmp($get(enable_album),1),$if($not($stricmp($get(album),$char())),$padcut(Album,$get(title_length)): $get(album)[' ('%date%')']$char(10),
$if($strcmp($get(enable_folders),0),,$padcut(Folder,$get(title_length)): $get(folder)$char(10))))


//title/file
$if($stricmp($get(title),$char()),$padcut(File,$get(title_length)): $get(filename),$padcut(Title,$get(title_length)): $if($not($strcmp($get(tracknr),$char())),'[#'$get(tracknr)'] ')$get(title))

//details-line
$if($strcmp($get(enable_details),1),
//build details-line
$puts(details-line,
$get(filetype2)
$if($not($strcmp($get(quality2),$char())),' / '$get(quality2))
$replace($get(replaygain),AG,' / 'AlbumGain,TG,' / 'TrackGain)
)

//output detailsline
$char(10)
$pad(,
$muldiv($max($len2($get(artist-line)),$len2($get(album-line)),$len2($get(title-line)),$len2($get(details-line))),$get(line_modifier),100)
,$get(line_char))
$char(10)
$get(details-line)
$get(lyrics-line)
)

//lyrics
$if($strcmp($get(enable_lyrics),1),
$puts(lyrics-line,
$char(10)$char(10)
$puts(lyrics,$if2(%lyric%,%lyrics%))
$if($get(lyrics),Lyrics:$char(10)$meta(lyrics,1))))

Status Bar

//**************************************
// set colors
//**************************************
$puts(col_paused,0000FF)
$puts(col_streaming,008800)
$puts(col_cue_file,880000)
$puts(col_progbar_symb1,CCCCCC)
$puts(col_progbar_symb2,666666)
$puts(col_time_remaining,000000)


//**************************************
// set variables
//**************************************
$puts(text_streaming,'Streaming')
$puts(text_listened_for,'Listened for:')
$puts(text_cue_file,'Cue File')
$puts(text_paused,'Paused')
$puts(text_time_remaining,[%_time_remaining%])
$puts(spacer_symb,' ')
$puts(spacer_width,2)
$puts(progbar_symb1,'▪')
$puts(progbar_symb2,'▪')
$puts(progbar_length,100)
$puts(text_bitrate,$if2($pad(%__bitrate_dynamic%,3)'kbps',$if2(%__bitrate%'kbps',)))
$puts(text_extrainfo,[%__extrainfo%])



//**************************************
// add colors and formatting
//**************************************
$puts(spacer,$repeat($get(spacer_symb),$get(spacer_width)))
$puts(text_streaming,$get(col_streaming)$get(text_streaming))
$puts(text_listened_for,$get(col_streaming)$get(text_listened_for))
$puts(text_cue_file,$get(col_cue_file)$get(text_cue_file))
$puts(text_paused,$get(col_paused)$get(text_paused))
$puts(text_time_remaining,$get(col_time_remaining)$get(text_time_remaining))
$puts(progbar_symb1,$get(col_progbar_symb1)$get(progbar_symb1))
$puts(progbar_symb2,$get(col_progbar_symb2)$get(progbar_symb2))



//***********************************************************
//***********************************************************



//**************************************
// streaming
//**************************************
$puts(streaming,
$if(%_time_total%,,
$get(text_streaming)$get(spacer)
)
)



//**************************************
// cuefile
//**************************************
$puts(cue_file,
$if(%__cue_audiotype%,
$get(text_cue_file)$get(spacer)
)
)



//**************************************
// codec
//**************************************
$if(%__codec%,

$if($stricmp(%__codec%,musepack),$puts(codec,'MPC'),
$if($stricmp(%__codec%,vorbis),$puts(codec,'Ogg'),
$puts(codec,%__codec%)
))
,
//If no codec tag and not streaming, read file extention
$if($and(%_time_total%,$not(%__codec%)),
$puts(codec,$upper($ext(%_path%)))
)

)



//**************************************
// bitrate
//**************************************
$puts(bitrate,$get(spacer)$get(text_bitrate))

$if($stricmp(%__codec%,musepack),
$if(%__mpc_profile%,
$puts(bitrate,$get(spacer)%__mpc_profile%$get(spacer)$get(text_bitrate))
)
)


//**************************************
// extrainfo
//**************************************

$puts(extrainfo,$get(spacer)$get(text_extrainfo))

$if($stricmp(%__codec%,musepack),
$if(%__mpc_streamversion%,$puts(extrainfo,$get(spacer)'sv'%__mpc_streamversion%))
)



//**************************************
// samplerate
//**************************************
$puts(samplerate,
$if(%__samplerate%,
$get(spacer)$cut(%__samplerate%,2)'kHz'
)
)



//**************************************
// channels
//**************************************
$puts(channels,
$if(%__channels%,
$get(spacer)$ifgreater(%__channels%,2,%__channels%ch,$ifgreater(%__channels%,1,Stereo,Mono))
)
)


//**************************************
// mp3 stereo mode
//**************************************
$puts(stereo_mode,
$if2('('$abbr(%__mp3_stereo_mode%)')',)
)

//**************************************
// Replay Gain
//**************************************
//track gain
$puts(rpg,

$if(%__replaygain_track_gain%,
$get(spacer)
' TGain:'$cut(%__replaygain_track_gain%,5)'dB'

$if(%__replaygain_album_gain%,
$get(spacer)' AGain:'$cut(%__replaygain_album_gain%,5)'dB'
)
)
)



//**************************************
// progress bar
// (checking total because of streaming)
//**************************************
$puts(progress_bar,
$if(%_time_total_seconds%,
$get(spacer)$get(spacer)
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,$get(progbar_length),$get(progbar_symb1),$get(progbar_symb2))
)
)



//**************************************
// progress %
// (checking total because of streaming)
//**************************************
$puts(progress_%,
$if(%_time_total_seconds%,
' ='$pad_right($muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%),3)'%'
)
)



//**************************************
// 'Listened for:'
// (used for streaming)
//**************************************
$puts(listened_for,
$if(%_time_total%,,
$get(spacer)$get(spacer)$get(text_listened_for)
)
)



//**************************************
// time
//**************************************
$puts(time,
$get(spacer)
[%_time_elapsed%]
$if(%_time_total%,
'/'%_time_total%
' ['$get(text_time_remaining)']'
)
)



//**************************************
// paused
//**************************************
$puts(paused,
$if(%_ispaused%,
$get(text_paused)
)
)



//**************************************
//**************************************
// create string
//**************************************
//**************************************

$get(streaming)
$get(cue_file)
$get(codec)
$get(bitrate)
$get(extrainfo)
$get(samplerate)
$get(channels)
$get(stereo_mode)
$get(progress_bar)
$get(progress_%)
$get(spacer)$get(listened_for)
$get(time)
$get(spacer)$get(rpg)

//Right adjust from now on
$char(9)
$get(paused)[/b]

Need something else? :cool:

Edited by myxamatosis

Hello Neksus, first of all, congratulations for Azrael... it's simply brilliant! Can't live without anymore...

For the status bar, I actually used upNorth's strings and modified it a little bit

http://pelit.koillismaa.fi/fb2k/strings.php?f=40

You should ask him :ninja:

Hello Neksus, first of all, congratulations for Azrael... it's simply brilliant! Can't live without anymore...

For the status bar, I actually used upNorth's strings and modified it a little bit

http://pelit.koillismaa.fi/fb2k/strings.php?f=40

You should ask him :ninja:

584752034[/snapback]

I already have permission to use any of his things in my config!

My VA and Singletrack detection builds on his work!

[edit] ups! forgot: Thanks for the support!!! [/edit]

--

Neksus

if you want this config:

foobar.png

then download this: columns.zip

if you want this config:

foobar.png

then download the above config (delete all text from the 'artist' column) and then get foo_text and litestep and do the following:

in your theme.rc, make sure these modules are loaded:

*NetLoadModule 	 xlabellight-3.0.9
*NetLoadModule 	 mzscript-0.9-beta_12
*NetLoadModule 	 literunner-2.1
*NetLoadModule 	 kidnap-0.2

in your theme.rc add this for kidnap/literunner:

OnRun [$FOOBAR2000_CLASS$][][!execute [!KidnapCapture [xLabel][cdsCurrent][$FOOBAR2000_CLASS$][][2][2]][!LabelShow cdsCurrent]][!execute [!LabelHide cdsCurrent][!KidnapRelease [xLabel][cdsCurrent]]]

make sure $FOOBAR200_CLASS$ is a defined evar. i use an evar because the foobar class is a long string of numbers and it just looks ugly to use it. to get the class of foobar, use winspy and then add it into your evars.rc.

now, add this into your theme.rc as two new labels:

*Label cdsCurrent

cdsCurrentMoveable false
cdsCurrentStartHidden true
cdsCurrentX 0
cdsCurrentY 0
cdsCurrentWidth 180
cdsCurrentHeight 180
cdsCurrentOnLeftClickDown !none
cdsCurrentOnLeftClick !none
cdsCurrentOnLeftDoubleClick !none
cdsCurrentOnMiddleClickDown !none
cdsCurrentOnMiddleClick !none
cdsCurrentOnMiddleDoubleClick !none
cdsCurrentOnRightClickDown !none
cdsCurrentOnRightClick !none
cdsCurrentOnRightDoubleClick !none
cdsCurrentOnDrop "$AudioPlayer$"
cdsCurrentAlwaysOnTop false
cdsCurrentImage "current.png"
cdsCurrentImageMode "tile"
cdsCurrentText "[line('$PersonalDir$foobar.rc',2)]"
cdsCurrentFont "verdana"
cdsCurrentFontHeight 13
cdsCurrentFontVertAlign top
cdsCurrentFontAlign left
cdsCurrentFontColor 444444
cdsCurrentFontBold
cdsCurrentNewLineSpace -1
cdsCurrentAutoLineBreak
cdsCurrentOnDrop "$AudioPlayer$"

*cdsCurrentModuleHook !LabelLsBoxHook cdsCover

cdsCoverMoveable false
cdsCoverStartHidden false
cdsCoverX 0
cdsCoverY 30
cdsCoverWidth 96
cdsCoverHeight 96
cdsCoverOnLeftClickDown !none
cdsCoverOnLeftClick !none
cdsCoverOnLeftDoubleClick !none
cdsCoverOnMiddleClickDown !none
cdsCoverOnMiddleClick !none
cdsCoverOnMiddleDoubleClick !none
cdsCoverOnRightClickDown !none
cdsCoverOnRightClick !none
cdsCoverOnRightDoubleClick !none
cdsCoverOnDrop "$AudioPlayer$"
cdsCoverAlwaysOnTop false
cdsCoverImage "blank.png"
cdsCoverText "[winampSong]"
cdsCoverTopBorder 96
cdsCoverOnTextChange !_cds_setcurrent

cdsCurrent gives you the album information (in text form) and cdsCover gives you the album cover. make sure you make a blank.png and current.png (just make them the same color as your foobar playlist bg to make things easy) and put them in your LSImageFolder. also make sure you set the width/height for your album cover correctly.

next, in your mzscript file (most likely script.rc in your $ConfigDir$) add in this custom bang:

*script bang !_cds_setcurrent
*script exec !LabelInfoExport _cds_curtry "[line('$PersonalDir$foobar.rc',1)]"
*script gotoif ("%{_cds_curtry}" = "%{_cds_cur}") done
*script exec !varset _cds_cur "%{_cds_curtry}"
*script label try
*script exec !fileExist "%{_cds_cur}\$CDS_COVERFILE$" "!varset fileexist 1" "!varset fileexist 0"
*script gotoif ("%{fileexist}" = "0") upalevel
*script exec !LabelRefresh cdsCover cdsCoverImage "%{_cds_cur}\$CDS_COVERFILE$"
*script exec !LabelRefresh cdsCurrent cdsCurrentImage "current.png"
*script goto clean
*script label upalevel
*script exec !LabelInfoExport _cds_curtry "[beforeLast('%{_cds_[CODE]cur}','\')]"
*script gotoif ("%{_cds_curtry}" = "%{_cds_cur}") blank
*script exec !varset _cds_cur "%{_cds_curtry}"
*script goto try
*script label blank
*script exec !LabelRefresh cdsCover cdsCoverImage "blank.png"
*script exec !LabelRefresh cdsCurrent cdsCurrentImage "blank.png"
*script label clean
*script exec !LabelSetText cdsCurrent "[line('$PersonalDir$foobar.rc',2)]"
*script label done
*script ~bang

the important things to pay attention to are the following:

1) reference to $CDS_COVERFILE$. this evar must be defined or it won't know where to find the album cover. just make sure you set it in either evars.rc or theme.rc like this:

CDS_COVERFILE folder.png

2) references to certain lines in foobar.rc. this is where the interaction with foobar comes in.

foobar.rc is what i have set foo_text to output to. i have foobar.rc in my $PersonalDir$. you can have it output wherever you want, just make you tell foobar where you want to output the text and make sure litestep knows where to find it. this is how i have it set up:

PLAYING:

$left(%_path%,$add($len(%_path%),-1,$mul(-1,$len(%_filename_ext%))))$crlf()
[%artist%]<br>[%album%]$crlf()

ON QUIT:

*BLANK*
none<br>none

where *BLANK* means nothing... put no text there and just leave a blank line. also make sure foo_text is not set to write to text on stop, only have it write on the following events:

1) startup

2) quit

3) new track

4) pause

5) unpause

6) metadata

7) formatting strings

8) dynamic info

--------------------------------------------------------------------------------------

that is pretty much how it works.

PROS:

-album cover inside of foobar

CONS:

-album cover and info does not scroll

-does not dynamically resize with foobar

-only works well with a "one album at a time" playlist (which is how i listen to music)

-you might not be able to get it to work

i do not recommend trying this out if you have never used litestep. please do not email or pm me with questions on this... i'll do my best to troubleshoot in this thread if you want help, but i reallly don't want to be the support guy for this. i i didn't even write this script, a friend of mine did.

I'm not familiar with the plugins you are using so forgive me if I am wrong. But as far as I understand that is just displaying the cover art anywhere on the desktop and you happened to place it over your foobar.

You can accomplish the same thing by just using foo_looks and the coverart.ski skin for foo_looks.

Open up coverart.ski in the text editor. Modify the jpeg height and width dimensions to whatever you wish. Then just drag the coverart inside foobar when its activated. Have Always on top clicked in Components > Look > Show.

Edited by metal_termite

thinking again at that response, how retarded would it be to have all of that scripting, just to have it pasted over the window and not dynamic? hell, if i was going to do that, i could just have foo_text output the current album's directory then use filemaster.dll to show the folder.png. it's ignorant and just kind of stupid to think that there would be well over a page of scripting involved for something that could be done with about six lines of code. use your head.

EDIT

Where to get litestep mojo?

584763117[/snapback]

I am not mojo but The LiteStep Installer can be found here:

http://beyondconvention.net/ohussain/lsinstaller/

And a very nice skin can be found here:

http://nonstep.litestep.com/

Other skins:

http://www.litestep.net/

http://www.wincustomize.org

--

Neksus

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • When I was a teen, I actually believed that the government used to be always be the bad guy. However as an adult, someone who has actually seen the Law work (though not perfect). I now think everyone cries a river. In this specific case, the so called freedom has consequences to society. Anyone who has seen how child are indeed affected, and I don't mean only extreme things like getting drugs or hate crimen , but no one can deny society as a whole has gone down a rabbit hole due to exesive use of internet. Before anyone calls out that it's the parents responsibility. Yes that's true, but the reality your family/kids might be good people. There are 99% out there who are not and have been brain dead by many things on the internet.
    • Siri AI : iPhone Air, iPhone 17 Pro iPad with M4 and later with 12GB or more in memory Mac with M3 and later with 12GB or more in memory
    • Siri AI will only work locally on these new machines. Not great iPhone Air, iPhone 17 Pro iPad with M4 and later with 12GB or more in memory Mac with M3 and later with 12GB or more in memory
    • Universal Media Server 15.6.0 by Razvan Serea Universal Media Server is a DLNA-compliant UPnP Media Server. UMS was started by SubJunk, an official developer of PMS, in order to ensure greater stability and file-compatibility. The program streams or transcodes many different media formats with little or no configuration. It is powered by MEncoder, FFmpeg, tsMuxeR, AviSynth, MediaInfo and more, which combine to offer support for a wide range of media formats. Because it is written in Java, Universal Media Server supports all major operating systems, with versions for Windows, Linux and Mac OS X. To see a comparison of popular media servers, click here. Universal Media Server 15.6.0 changelog: General Added Discogs integration for audio metadata and UPnP Added new options for DNS resolution handling (thanks, @henry701 Henrique Campos!) Added a loading indicator to the Shared Content area on the web settings (#6037) Improved detection of sample videos Improved stability of speed test (thanks, @henry701 Henrique Campos!) Fixed support for servers with no Internet access (#6047) (thanks, @henry701 Henrique Campos!) Fixed wrong Linux yt-dlp binary being packaged (#6011) (thanks, @Pro-pra!) Fixed API lookups happening for TV series when episode lookup fails, even if the series metadata is already in the local database (#6080) Fixed JDK being used in Docker image instead of JRE (#6089) (thanks, @mvanhorn Matt Van Horn!) Fixed editing a video feed on the web settings erases the URL (#6046) (thanks, @serinekjo kjo!) Fixed docs for FFmpeg GPU support (thanks, @Harshit-dell Harshit Kumar Sahu!) Translation updates via Crowdin Dutch (97%) (thanks, Lefteye!) English (United Kingdom) (80%) (thanks, Andi Chandler!) Italian (63%) (thanks, parduz!) Portuguese (Brazilian) (67%) (thanks, Henrique Campos!) Download: Universal Media Server 15.6.0 | 157.0 MB (Open Source) Download: Other operating systems View: Universal Media Server Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Very Popular
      Captain_Eric earned a badge
      Very Popular
    • One Month Later
      amusc earned a badge
      One Month Later
    • One Month Later
      DJC50PLUS earned a badge
      One Month Later
    • Week One Done
      DJC50PLUS earned a badge
      Week One Done
    • Proficient
      Eric Biran went up a rank
      Proficient
  • Popular Contributors

    1. 1
      +primortal
      509
    2. 2
      PsYcHoKiLLa
      222
    3. 3
      ATLien_0
      92
    4. 4
      +Edouard
      86
    5. 5
      Steven P.
      81
  • Tell a friend

    Love Neowin? Tell a friend!