foo_uie_panel_splitter.dll v0.3.8.2 (alpha ver)
for foobar2000 v0.9.5.2+, Columns UI0.3+, WindowsXP+ 

Note: This component is incomplete and may show unpredictable behaviour.


yTvz
Columns UIpplzu邽߂splitter
{[_[ȂApld˂ȂǏ͎Rx̍ݒ肪oB


yӁz
낵قǂɊxႢłB\肵Ă̂ƂԂꂽ̂ɂȂĂ܂߁A
ݒ荀ڂ̐ƂĂ܂B ܂AݒGŁATitleFormat̒mKvłB


ygz
 foobar2000componenttH_dllRs[
 ColumnsUILayoutAPanel Stack SplitterǉB
 ColumnsUISplitterƂċ@\܂B
 ǉꂽplŉENbN->Splitter SettingsŐݒ\B


yݒz
pl̔zu͎zu[hƁAݒ肷郂[h܂B
zu郂[h́A(Horizontal)ɔzu邩A(Vertical)ɔzu邩Iׂ܂B
Forced layoutonɂȂĂplzu[hŔzu܂B


Size:         pl̕\TCY(HorizontalȂ琅̃TCYAVerticalȂ琂̃TCY)
Lock size:    XP[OȂŔzuB
              off̂Ƃ͊eplsizeɂ SplitterTCYɑ΂ēKɃXP[OĔzuB
               LockĂ}1sNZ炢ԂĂ܂ƂB
              --> C̂ŁACȂB

Forced layout: ̉ left Top width rightŎw肵͈͂ɃplIɔzuB
              (sizeauto-scaling͖ɂȂ)

              pld˂ꍇAplXgŏʂ̃plقǑOʂɕ\
              (qpl̎B₽OʂɏoĂpl݂B)
              Title FormattingLB
              %_width%  %_height% Panel Stack Splitter̐AQƂłB
              ݒ:
              left: $div(%_width%,4)
              top : $div(%_height%,4)
              width: $div(%_width%,2)
              height: $div(%_height%,2)

              ܂ASplitter̃TCYɑ΂鑊ΒlŎw肷郂[hB
              use parsentage valueon̂Ƃ́ASplitter̃TCYɑ΂p[Zgl[0-100]Ŏw肷邱ƁB
              use parsentage valueon̂Ƃ̐ݒ:
              left: 25
              top : 25
              width: 50
              height: 50


padding:      pl̎ɃXy[XB
              Title Formatting͖Ȃ̂ŌŒ̐l邱ƁB
              plzuꍇApaddingݒ肳Ă΃{[_[Ƃă}EXŃTCYł悤ɂȂB
              enable resizable borderon/off\

Caption :     pl̖OAʎq
Use background color: w肵FŁAwihԂB
Use image:    Œ̔wi摜w肷BTitleFormatting͖B
Pseudo transparent: splitter̔wi[Iɓ߂B(splitterqɂꍇȂǂɎgp)
Evaluate scripts when... : gbN񂪕ύXꂽƂɁATF(PerTrackPerSecond)]B

  [l]
  ColumnsUĨpl̒ɂ͔wiߋ@\pl݂邪A
  use background coloruse imagegpȂƂ̃pl̔wi߂ȂꍇB


Titleformat mode on startup:   NPerTrackTitleFormat̃[hB
      now playing      -  TF̑ΏۂĐgbN
      follow cursor    -  vCXgőI𒆂̃gbN
      last mode        -  OĨ[h({^ɂ郂[h؂ւۑ)
 


title formatting script:
TitleformatLq邱ƂŁAwi𑕏łBAqpl̏ɂԂĕ`悷邱Ƃ͂łȂB



ygR}ht@Xz
啶̈́Aȗ\B
:󔒂𖳑ʂɓȂƁB(s͉)

Title formatting script]̂́A
	Per Track  - TCYύXꂽƂBĐgbNĐꎞ~ԂςƂB{^֐REFRESHƂB
	Per Second - bƁBĐԂωƂB{^֐REFRESHƂB


ytB[hz
%ps_width%
	Splitter̉ԂB


%ps_height%
	SplitteȑcԂB


%ps_tfmode%
	TF̃[hԂB(Per TrackŗL)
		0  nowplaying[h
		1  follow cursor[h

%ps_isplaying%
	ĐۂB

%ps_ispause%
	ꎞ~ۂB


%ps_foobar2000_path%
	foobar2000st@C̃pXB


%ps_user_profile_path%
	[U[vt@Ĉ̃pXB


%ps_playback_order%
	playback orderԂB
	Ał́Aplayback orderύXĂɔfȂB(REFRESHR}hKv)

%ps_track_state%
	TF]gbN̏ԁB
		0: no error
		1: no track
		2: dummy track (for mainly legacy metadb_display_hook API)

[֐]

$init_ps_global(name,value)
$init_ps_global(name,value,persistency)
	w肳ꂽOnamẽO[oϐ쐬Alvalueݒ肵܂B
	w肳ꂽÕO[oϐ݂ĂȂꍇɌLłB

	L
	O[oϐ͑SĂPanelStackSplitterԂŋL܂AePanelStackSplitterTF̕]́AsłB
	persistency=1Őݒ肵ϐ́A$delete_ps_gobalgAݒ_CAO܂ŕۑ܂B
	$init_ps_global(name,value)́A$if($get_ps_global(name),,$set_ps_global(name,value)) ƂقړB


	name - O[oϐ
	value - l
	persistency - Iɕۑ邩ǂB
		0 : IɕۑȂB
		1 : IɕۑB(default)

	


$set_ps_global(name,value)
	w肳ꂽÕO[oϐɒlvalueݒ肵܂B
	O[oϐname݂Ȃꍇ͎Iɍ쐬Ēlݒ肵܂B


$get_ps_global(name)  or  %name%
	w肳ꂽÕO[oϐ̒lԂ܂B
	nameɊYO[oϐ݂ȂꍇAfalseԂ܂B


$delete_ps_global(name)
	O[oϐname폜܂B


$font(name,size,OPTIONS)
	tHgݒ܂B
	name - tHg
	size - tHgTCY
	OPTIONS - X^CBL̑gݍ킹B
		bold italic underline strikeout


	: $font(Tahoma,10,bold italic)



$drawstring(text,x,y,w,h,color,OPTIONS [,OPTIONS2])
	`悷֐BtextW(x,y)ɕ`悷B

	L
	͂̊֐drawtextdrawtextexł\ł܂B
	TrueTypetHggȂB
	text - `悷镶B
	x - W
	y - W
	w - `͈͂̕
	h - `͈͂̍
	color - F r-g-b-a`Ŏw肷B
	OPTIONS - ACwA`iwANbvwȂǂB
		left hcenter right    -  ACw

		top  vcenter bottom   -  ACw

		nowrap                -  bvAEhȂ

 		noaa                  -  ClearTypeA`GCAXB
		aa                    -  A`GCAX郂[hBClearTypeȂtHgłA`GCAXB
		hq                    -  ōiŕ`悷郂[hBClearType[hB(defaultɂ܂)
		glow_aa               -  glow̓ꃂ[hgpIvVB(noaa, aa, hqƔr)

		trimchar  trimword    -  \͈͂Ɏ܂Ȃꍇ̃g~O̐ݒB
		elipchar  elipword    -  \͈͂Ɏ܂ȂꍇɍŌ𥥥ɒuݒB

		mempos                -  getlastposŁA`悵W擾ł悤ɂB   


	OPTIONS2 - glowʂ̏w肷B(IIvV, experimental option)

		glow - glowIvV
			w` glow:expand:colour[:strength]
				expand - [0-5]
				colour - r-g-b
				strength - [0-3]   glow_aȁꍇ͖

		offset - glowʂ̃ItZbgw
			w` offset:x:y
				x  - glow̐̃ItZbg
				y  - glow̐̃ItZbg

		L
		OPTIONSglow_aaw̏ꍇ̂݁Aoutlinesemibold͎gp\ɂȂ܂B

		outline - ̉F̎w
			w` outline:colour           
				colour - F r-g-b

		semibold - ߂ɂB


		L
		 ̎dl͕ύX\܂B
		  glow̕`@̕ύXAoutlinesemibold̔p~̉\܂B
		 glowׂ͕łB(pseudo transparent̂ƂB)

	  $drawstring(abcd,10,10,,,255-128-64-128,)
	    $drawstring(abcd,10,10,,,255-128-64-128,left vcenter,glow:2:255-255-255)
	    $drawstring(efgh,10,10,,,255-255-255,vcenter glow_aa,glow:1:32-168-268 semibold)
	    $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268 semibold offset:2:1 outline:32-168-268)
	    $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268:1)
	    $drawstring(wxyz,10,10,,,255-255-255,elipchar)


$drawrect(x,y,w,h,colour1,colour2,OPTIONS)
	``悷֐B
	W(x,y)ɃTCY(w,h)ŋ``悷B

	colour1 - F r-g-b-a`
	colour2 - g̐F r-g-b-a`

	OPTIONS - X^C
		aa - A`GAX


	  $drawrect(0,50,50,50,255-128-64-128,,aa)


$gradientrect(x,y,w,h,colour1,colour2,OPTIONS,peakpoint)
	`Of[VœhԂ`֐B
	W(x,y)ɃTCY(w,h)ŋ``悷B
	
	colour1 - Of[VJnF
	colour2 - Of[VIF

	OPTIONS
		vertical    Of[VB
		horizontal  Of[VB
		aa          A`GAXB
		nonlinear   Of[V`B

	peakpoint: 0-100
		Of[V̏I_ʒuVtgB
		0ftHglŁAcolour1 --> colour2 ɑJڂB
		50̂Ƃ́Acolour1 --> colour2 --> colour1ƑJڂB

	: $gradientrect(0,50,50,50,255-128-64-128,255-255-255,vertical aa)
	    $gradientrect(0,50,50,50,255-128-64-128,255-255-255,,10)


$drawblurrect(x,y,w,h,colour,level)
	֊sڂċ`hԂ`֐B
	level - ڂx [1..7]


$drawfocusrect(x,y,w,h)
	w̋`ɃtH[JXg_ŕ`悷֐B


$drawthemerect(x,y,w,h,control,partId,stateId)
	VisualStylegċ`ɃRg[({^vOXo[)`悷֐B
	摜Ƃĕ`悷邾Ȃ̂Ŏp͒ႢȂB

	L
	VisualStyleŒ`ĂȂRg[`悷邱Ƃ͂łȂB
	ȂƂWindowXPȏオK{B

	control  : `悵Rg[̎ނ̖Ow肷Bȉ̂ꂩB
		window button rebar toolbar status listview header progress tab trackbar tooltip treeview spin scrollbar
		edit combobox taskbar taskband startpanel explorerbar

	partId: w肵Rg[ŕ`悵iIDBlŎw肷B
		ڈƂăRg[ƂɈȉ͈̔͂̐lgpo\B
		OSɂĂ͕iǉĂ̂ŁA܂ŖڈB
		VisualStyleŒ`ĂȂíA`łȂB

		window: [1..37]
		button rebar listview tooltip: [1..5]
		toolbar: [1..6]
		status treeview taskband: [1..3]
		header spin: [1..4]
		progress: [1..4]
		tab trackbar scrollbar: [1..10]
		edit: [1..2]
		combobox: [1]
		taskbar: [1..8]
		startpanel: [1..11]
		explorerbar: [1..12]

	stateId: ȉ(IԂȂ)IDB ԂȂȉꍇ0w肷B
	         stateIdƂ0܂1w肵ĕ`悳ȂȂA̕i͒`ĂȂB

	: $drawthemerect(0,0,%el_width%,%el_height%,tab,10,0)      //tabbody`
	    $drawthemerect(,,,,progress,3,0)  //vOXo[̃o[`


$drawroundrect(x,y,w,h,w2,h2,colour1,colour2,RESERVED)
	pۂ߂``֐B
	W(x,y)ɃTCY(w,h)Ŋpۂ߂``悷B

	L
	w > 4 * w2 && h > 4 * h2 𖞂KvB

	w2 - ۂ݂̕
	h2 - ۂ݂̍
	colour1  F
	colour2  g̐F

	  $drawroundrect(10,20,50,50,4,4,255-255-128-255,,)


$drawellipse(x,y,w,h,colour1,colour2,RESERVED)
	ȉ~`֐B
	W(x,y)ɃTCY(w,h)őȉ~`悷B


$drawtriangle(x1,y1,x2,y2,x3,y3,colour1,colour2,OPTIONS)
	(x1,y1),(x2,y2),(x3,y3)𒸓_ƂOp``֐B

	OPTIONS
		aa - A`GAX

	: $drawtriangle(10,5,20,10,10,15,200-100-100,,aa)


$imageabs(x,y,w,h,path,OPTIONS,n,alpha,OPTIONS2)
	W(x,y)ɃTCY(w,h) path Ŏw肳摜\B
	摜݂trueAȂfalseԂB

	dipsplays the image specified by path.
	after the image is resized, it is cached on the memory. 

	L
	TCỶ摜ɕێāAɎQƂꂽꍇ̏B
	QƂȂ摜́Âォ폜B
	w,hȗƃIWi摜TCYŕ\ALbVB
	(Aw,hȗĂɂłɃLbVĂꍇ́A
	̂܂܃LbVĂ摜TCYɂȂ)

	̏kꍇA
	kɊg傳Ɖ掿B
	nodisplaynoexpansionȂǂ𗘗pāA
	gpk̒ōł傫kōŏɃ̃LbV̂悢B

	path - 摜̐΃pX (or 摜ߍ܂ꂽ AudioFile  path)

	OPTIONS
		<appearance>
		nokeepaspect - AXyNgێȂ(nodisplay,archive,iconȊÕIvVƔr)B
		nodisplay    - ɓǂݍނŕ\ȂB
		noexpansion  - k͂邪Ag債ȂB

		<align>	- ꂼrB
		left right  - ACwB
		top bottom  - ACwB

		<misc>
		wc          - wildcard(*,?) LɂB

		<read mode> - ꂼrB
		archive     - archive readeroRpath̉摜\B
		              path̏archive readerɈˑ邪Aɂ̐΃pX|ɓt@CpX {B
		              :  C:\aaa\image.zip|bbb/ccc.jpg
		icon        - pathŎw肳icont@C(*.ico)\B

		artreader   - pathŎw肳Audiot@C̖ߍ݉摜foobar2000coreartwork readerœǂݍށB
		              ߍ݉摜Ȃ΁AAudiot@C̃tH_摜ǂݍށBᑬB
		artreader_front  - pathŎw肳Audiot@C̖ߍ݉摜foobar2000coreartwork readerœǂݍށB
		artreader_back   - pathŎw肳Audiot@C̖ߍ݉摜foobar2000coreartwork readerœǂݍށB
		artreader_disc   - pathŎw肳Audiot@C̖ߍ݉摜foobar2000coreartwork readerœǂݍށB
		artreader_icon   - pathŎw肳Audiot@C̖ߍ݉摜foobar2000coreartwork readerœǂݍށB
		artreader_artist - pathŎw肳Audiot@C̖ߍ݉摜foobar2000coreartwork readerœǂݍށB
		(artreader*** are currently disrecommended options because these option seem to be slow)

	n - rotateflip̂߂̃CfbNX
		1: 90
		2: 180
		3: 270
		4: E] 
		5: 90 + E] 
		6: ㉺] 
		7: 90 + ㉺] 

	alpha - sx [0..255] (0)


	OPTIONS2 - shadow effect ($drawstringglowʎQ)
		glow:expand:colour
		offset:x:y


      $imageabs(10,10,50,50,C:\%album%.jpg)
        $imageabs(10,10,50,50,C:\%album%.jpg,left top)
        $imageabs(10,10,50,50,C:\%album%.jpg,,6)
        $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,128)
        $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,,glow:2:0-0-0 offset:4:4)
        $imageabs(10,10,50,50,%path%,artreader)


$imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n,alpha,OPTIONS2)
	TCYăNbv摜\B
	path Ŏw肳摜TCY(rw,rh)ɃTCYA
	̈̕(srcx,srcy,srcw,srch)W(x,y)ɃTCY(srcw,srch)ŕ\B

	(rw,rh)ŃLbVB
	TF]Ƃ(rw,rh)ωƁA摜ēǂݍ݂B
	̂߁Arw, rh͌ŒlŎw肷ׂB

	摜݂trueAȂfalseԂB

	OPTIONS imageabsQ
    
	:
	 $imageabs_rc(200,100,0,0,100,50,10,10,C:\%album%.jpg,,6,192)
	 $imageabs_rc(200,100,0,0,200,100,10,10,C:\%album%.jpg,,)  ( = $imageabs(10,10,200,100,C:\%album%.jpg,left top,,) )
	 $imageabs_rc(150,120,0,0,150,120,20,15,C:\%album%.jpg,hcenter vcenter,)  ( = $imageabs(20,15,150,120,C:\%album%.jpg,,,) )


$drawimage(x,y,w,h,path,OPTIONS,n,aplha)
	W(x,y)ɃTCY(w,h) path Ŏw肳摜\B
	LbVsȂ$imageabsB

	L
	whȗƃIWĩTCYŕ\B
	TF]邽тɉ摜̍ēǂݍ݂sB

	IɐȂB

	OPTIONS - imageabsQƁB


`⏕

$getlastpos(elem)
	摜\֐imageabs, imageabs_rc̒ŁAۂɉ摜`悵W擾B
	܂Ameasurestrinǧʂ擾ƂɂgB
	memposw肵drawstring̒łW擾łB

   	elem - 擾vfw肷B
		x :  left
		y :  top
		w :  width
		h :  height
		r :  right
		b :  bottom

	:  
		$puts(img_path,C:\%album%.jpg)
		$imageabs(10,4,100,100,$get(img_path),top noexpansion,)
		$imageabs($getlastpos(x),$getlastpos(b),$getlastpos(w),20,$get(img_path),top nokeepaspect,6)
		$gradientrect($getlastpos(x),$getlastpos(y),$getlastpos(w),$getlastpos(h),255-255-255-128,255-255-255-255)


$measurestring(text,x,y,w,h,OPTIONS)
	$drawstringŕ`悵ꍇ̕\̈vZB
	ʂƂāA\̈̐ԂB
	\̈̌ʂ$getlastposŎ擾B

	L
	drawstringŁAglow_aaw肵glowʂꍇA
	̕\͈͂measurestrinǧʂƂ͈vȂƂB  

	OPTIONS - $drawstringQ


$getimagewidth(path), $getimageheight(path)
	pathŎw肳摜$imageabs $imageabs_rcœǂݍ܂ăɃLbV
	摜ł΁ATCYς݂̐AԂB

	L
	$imageabs $imageabs_rčłgpłȂB


$setparcentmode(bx,by,bw,bh)
	W̎w胂[hݒ肷B
	EBhE̕\̈悪
 	(0,0) ` (%_width%, %_height%)łƂA
	p[Zglw胂[hł́A(0,0) ` (100,100)Ƀ}bsOB   
	x,y,w,hʂɐݒłB

	L
	x,y,w,ĥꂩɂ֐ׂĂɉeyڂB

	bx - xWw胂[h
		0:Splitter̐΍WŎw肷郂[h
		1:Splitter̃TCYɑ΂鑊Βl(p[Zgl)ł̎wƂB
	by - yWw胂[h
	bw - wWw胂[h 
	bh - hWw胂[h 


$getsyscolour(index)
	VXeJ[r-g-b`ŕԂB

	index:[0-30] VXeJ[̃CfbNX


$averagecolour(colour1,colour2[,])
	r-g-b-a`̐F̕ςB
	(colour1 + colour2 +)/N


$blendcolour(colour1,w1,colour2,w2,[,])
	r-g-b-a`ŏd݂ςԂB
	(w1*colur1 + w2*colour2 +  + wN * colourN)/ (w1 + w2 +  + wN)


$addcolour(colour1,colour2[,])
	r-g-b-a`̐FZB
	colour1 + colour2 +  + colourN


$subcolour(colour1,colour2[,])
	r-g-b-a`̐FZB
	colour1 - colour2 - colour3  - colourN


$findfile(path,[path2,path3,...])
	path(ChJ[h)Ŏw肳t@C݂΁AŏɌt@C̃pXԂB
	t@CfalseԂB


{^֐

$textbutton(x,y,w,h,text,mover_text,command,options1,options2)
	{^B
	Per Track̂ݗLB Per Secondɂ͋LqȂƁB
	
	text -  {^̃x
	mover_text - }EXzo[̃{^̃x

	command - "ߎ:"̏Ŏw 

		]ȃXy[XȂ
		;ŋ؂ĕߎwB

		L
		(1) :;̓Xvb^ɂȂĂ̂ŁA̕܂܂́A
		  肭p[XoȂ\B
		(2) Ԃ̂閽߂w肵ȂƁB
		(3) ߎw肳ĂꍇA߂̎s͕ۏ؂ȂB

		[]
		COMMAND:commandpath
			commandpathŎw肳郁j[R}hsB
			COMMAND:View/EqualizerA
			COMMAND:File/Preferences;COMMAND:Playback/Play
			Ƃ悤Ɏw肷B
			command_pathTFƂĕ]̂Œ
			COMMAND:'View/Equalizer'ƂĂ̂𐄏B

		CONTEXT:contextpath
              		contextpathŎw肳ReLXgj[R}hsB
			ReLXgj[̏Ώۂ́A%ps_tfmode%ɏ]B
 			%ps_tfmode%0̏ꍇAĐgbNB1̏ꍇAActivePlaylist̑IgbNB
			CONTEXT:Properties݂Ɏw肷B
			contextpathTFƂĕ]̂Œ


		PANELSHOW:cap:sh
			captioncapłqpl̕\/\؂ւB
			sh - \Ԃ̎w 
				0  - \
				1  - \
				-1 - \/\̃gO

		TFMODE:mode
			Per Tracktitleformat̃[hύXB
			mode - [h
				0  - nowplaying[h
				1  - follow curosr[h
				-1 - gO

		REFRESH
			TFPerTrack, PerSecondXVB


		SETGLOBAL:name:val
			O[oϐ namevalݒ肷B
			nameval":"܂܂Ȃ悤ɒӂ邱ƁB

		SETTAG:name:val
			^Onamevalݒ肷B
			%ps_tfmode%0̏ꍇ͍ĐgbNA%ps_tfmode%1̏ꍇActivePlaylist̑IgbNΏۂ̃gbNɂȂ܂B
			nameval":"܂܂Ȃ悤ɒӂ邱ƁB

		SETDELTATAG:name:delta_value:min_value:max_value
			^Oname̒glłꍇɁAdelta_valueZlɕύXB
			^Oname݂ĂȂꍇ́Amin_valueݒ肷B
			ΏۃgbŃA%ps_tfmode%0̏ꍇAĐgbNB1̏ꍇAActivePlaylist̑IgbNB


	options1 ftHg̑w (Xy[Xŋ؂ĕw)
		fontcolor:r-g-b         - eLXg̐F
		brushcolor:r-g-b-a      - {^`̓hԂF	
		pencolor:r-g-b-a        - {^Og̐F
		left top bottom right   - eLXg̈ʒu

	options2: }EXI[o[̑w (Xy[Xŋ؂ĕw)
		fontcolor:r-g-b         - eLXg̐F
		brushcolor:r-g-b-a      - {^`̓hԂF
		pencolor:r-g-b-a        - {^Og̐F
		left top bottom right   - eLXg̈ʒu


      $textbutton(0,0,80,20,play,play,COMMAND:Playback/Play,fontcolor:64-64-64 brushcolor:192-192-192-128 pencolor:0-0-0,fontcolor:32-32-32)
	$textbutton(100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64 left bottom,fontcolor:32-32-32)



$imagebutton(x,y,w,h,path,mover_path,command,options1,options2)
	摜{^B
	Per Track̂ݗLB Per Secondɂ͋LqȂƁB
	摜̓ƂĂ$imageabsƈAɃLbVB
	w,hȗƁApathŎw肳摜̃IWiTCYɂȂB
	commandtextbuttonƋʁB

	options1 - 摜\IvV
		nokeepaspect
		left top bottom right

	options2 - }EXzo[̉摜\IvV
		nokeepaspect
		left top bottom right


GDIn`֐
	GDIgĕ`悷BVvȕAɏꍇB

$drawtext(text,x,y,W,H,r-g-b,OPTIONS)
	GDI`֐
	textW(x,y)ɏo

	OPTIONS
		left hcenter right       ACw
		top  vcenter bottom      ACw
		noclip                   NbvȂ


$drawtextex(text,x,y,W,H,r-g-b,OPTIONS)
	GDI`֐2
	textW(x,y)ɏo

	OPTIONS
		left hcenter right       ACw
		top  vcenter bottom      ACw
		noclip                   NbvȂ
		wrap                     bvAEhw(vcenterAbottomƂ͔r)
		end_ellipsis             eLXgNbvꍇAeLXg̍Ō...ɒu
	
	: $drawtextex(text,0,0,%_width%,%_height%,0-0-0,hcenter vcenter end_ellipsis)


$gettextwidth(text, [FONTNAME, SIZE, OPTIONS])
	GDI(drawtext,drawtextex)text`悵Ƃ̃eLXg̐ԂB
	font̎w(IvV$fontQ)Bfontw͏ȗ


$gettextheight([ FONTNAME,SIZE,OPTIONS] )
	GDIŕ`悵Ƃ̃eLXg̐ԂB
	font̎w(IvV$fontQ)Bfontw͏ȗ


$fillrect(x,y,w,h,colour,RESERVED)
	`hԂ֐


$fillroundrect(x,y,w,h,w2,h2,colour1,colour2)
	p̊ۂ`hԂ֐


Paneln֐
ǂ`֐TF̘gꏏƌ̂ŁA
Iɂ͕ʘgɂ\B

$showpanel(i,sh)   or  $showpanel_c(caption,sh)
	pl̕\A\ύX֐

	i  - qplXgł̉Ԗڂ(0琔)
	sh - \
		0 - \
		1 - \

$movepanel(i,x,y,w,h)  or  $movepanel_c(caption,x,y,w,h) 
	Forced layoutw肳ꂽqplAW(x,y) TCY(w,h)ɈړB

	i - qplXgł̉Ԗڂ(0琔)


$getcaption(i)
	qplXgłiԖڃplɐݒ肳ĂLvVԂB


$isvisible_c(caption)
	pl̕\ԂԂB



ƐӎȂ
̃\tgEFAgpƂɂĐׂĂ̑QEQENQEsɊւāA\tgEFA҂́A؂̐ӔC𕉂܂B
ƂoOƂĂAC̋`𕉂܂B
̎ɗ̂݁Ae̐ӔCɂĂgpB


{\tgEFAɂ́AL̎gpƂƂɔzzĂ\tgEFÄꕔ܂܂Ă܂B
foobar2000 0.9.5 SDK
  Copyright (c) 2001-2008, Peter Pawlowski
  All rights reserved.

  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
  Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation or other materials provided with the distribution.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Columns UI SDK 6.3.1


CZXɂ
  Copyright (c) 2008, ssenna

  oCi`ōĔЕzꍇAЕzɕt̃hLg̎ɁAL̒쌠\A{ꗗAщLƐӏ܂߂邱ƁB
  ʂɂʂ̋ȂɁA{\tgEFAhi̐`܂͔̔iɁA쌠L҂܂͍v҂̖OgpĂ͂ȂȂB

  ̃\tgEFA͒쌠L҂эv҂ɂû܂܁v񋟂̂ƂAƓIȎgp\̖ړIɑ΂KȂǂ̕ۏ؂܂߁AIÖٓI킸AȂۏ؂܂B
  쌠L҂эv҂́AR̔@킸AQ̌̔@킸AӔC̍_ł邩iӔCł邩iߎ̑js@sׂł邩킸Aɂ̂悤ȑQ\m炳ĂƂĂA
  ̃\tgEFA̎gp甭ڑQAԐڑQAIȑQAʑQAIQA܂͌ʑQiւ̕iT[rX̒BAgp@f[^◘v̑AƖ̒f܂ށA鑹Qjɑ΂ĈؐӔC𕉂܂B 


=======================-

<<changelog>>
v0.3.8a
$init_ps_globalŃO[oXϐۑ邩AȂIł悤ɂB
$delete_ps_globalǉB
drawthemerect@\ȂsCB
%ps_user_profile_path%̒ǉ(v0.3.8.1a)
CAEgŁApss݂悤ȏꍇTABL[ŗ̂CB(v0.3.8.2a)
tHgݒ菈ŁÂCB(v0.3.8.2a)
ȗ$font̋ύXB(v0.3.8.2a)

v0.3.7a
O[oϐ̋@\ǉB(ݒ_CAO͂Ȃ肢B)
 $set_ps_globalƃ{^֐ŐݒA$get_ps_globalŎQƉ\B
NbVoȌCB(v0.3.7.1a)
$init_ps_globalǉB(v0.3.7.1a)
O[oϐ̑S{^ǉB(v0.3.7.1a)
{^֐Ń^Oɏދ@\ǉB(v0.3.7.2a)
{^֐CONTEXT̏ΏۃgbNtfmodeŐ؂ւ悤ɂB(v0.3.7.2a)
 tfmodenowplayinĝƂ͉tgbNB
 follow cursor̂Ƃ́AActivePlaylist̑IgbNB
słȂR}ĥCB(v0.3.7.2a)
%ps_foobar2000_path%CB(v0.3.7.2a)
%ps_foobar2000_path%componenttH_ɂȂĂ̂ōēxCB(v0.3.7.3a)
%ps_track_state%ǉB(v0.3.7.3a)
%ps_foobar2000_path%1CB(v0.3.7.4a)
{^Ƃ̂CB(v0.3.7.4a)
foo_coversɑΉB(v0.3.7.4a)
%ps_playback_ordr%ǉB(v0.3.7.4a)

v0.3.6a
%ps_isplaying%, %ps_ispause%ǉB
ݒ_CAO̐B
ݒłTF̕2{ɂB

pl̊OɃ}EXoƂɃ{^zo[Ԃ̂܂܂ɂȂĂ܂̂CB(v0.3.6.3)
st@CpX擾%ps_foobar2000_path%ǉB(v0.3.6.3)
NbV邱ƂoÔCB(v0.3.6.4)
ŐVSDKɍXVB(v0.3.6.4)

v0.3.5a
SDKXVB
gTitleformat̎dlELPlaylistɂ킹B(\ςĂ̂ŁAȂ񂩓ȂȂĂ邩)

v0.3.4a
drawstringglow IvVIɒǉB
gȂfont̂CB
seekPer Second]悤ɏCB


v0.3.3a
ݒ_CAO̊epl̃RtBOĂяo悤ɂB(plΉĂ)
Per Second̂悤ɂB
 v0.3.3.1a
 + vIȃoOC

v0.3.2a
TF[halways now playing[hp~āAnow playing[h
 ĐĂȂꍇɁAfollow cursorɂĂ̂߂B
{^֐ŁAIɃR}ho^ꍇɂΉB
֐ǉB(drawtriangle,drawtextexȂ)
摜\֐alphawǉB


v0.3.1a
splitterqɂꍇ wi߃IvVǉB
`Of[V`֐ǉB
follow cursor[h̋ύXB

v0.3.0a
Per TrackTF̃[hƂ follow curosr[hǉB
TF̃[h؂ւpɃ{^֐̃R}hǉB
 TF̃[h́Aݒ_CAOA{^֐ł̂ݐ؂ւB
pl\ԂԂ֐ǉB
Iɓo^郁j[R}hɃj[R}h̎擾^C~OςĂ݂B
 ({IȑΏł͂Ȃ)
eLXgn֐̃ACǉ

v0.2.9a
TCYăNbv摜\֐$imageabs_rcǉ
pl\ŋNIvVplƂɒǉB({^Ƃŕ\\؂ւl)


v0.2.8.1a
{^֐TF̍XV̎sREFRESHǉB

v0.2.8a
imgageabsrotateflip̓CB
$findfile֐ǉ

v0.2.7a
 摜\֐prʂimageabsdrawimageɕB
 摜{^ǉB
 {^֐ɃReLXgj[̎sȂǂǉB
+j[R}hXg̎擾ύX

v0.2.6a
LvVύXԂŁAplCAEgύXƗꍇ̂CB

v0.2.5a
textbutton֐CulumnsUĨCAEgpresetύXꍇsCB


v0.2.4a
textbutton֐Ă݂BȊ낤H


v0.2.3a
ColumnsUĨCAEgݒ肩pl\ύXƂŁAIȂǂɎqplnOĂ܂Ƃ̂CB
plTCỸ~bg𔽉fȂIvVǉB


v0.2.2a
gbNP(Per Track)TitleformatƕbP(Per Second)Titleformat𕪂B
  bPʂ̂ق͂ꂮdȂƁBXPȂGDI֐(2Ȃ)
  S֐g肾A摜\ⓧF̎gp͔񐄏B
Apply{^
TCYύX\ȃ{[_[̋@\ on/offI
摜\֐ɉ]]Ȃǎ


v0.2.1a
pۂ߂``֐ɍĂ݂B(ȂK)
 + Ȑ܂ޕ`֐ɃA`GCAX{悤ɂB
N̏ʂ኱炵B
forced layoutłpaddingݒIvVɂB


v0.2.0a
plzûƂɃ{[_[𑀍삵ĂplTCYωČȂ̂CB
ȉ~`֐ǉ


v0.1.9a
plTCY̌vZŁATCYƂĂȂ傫TCYɂĂ܂oOCB

v0.1.8a
ButtonsSeekbarȂǂ̔wi߂Ȃ̂CB
Force layout̂ƂɁAsplitter̃TCYɑ΂p[ZglŁApl̈ʒuƃTCYwł悤ɂB

v0.1.7a
ׂoOC
Force layout̂Ƃpaddingݒ𖳌ɂA pl̍ŏAőTCY𔽉f悤ɂB

v0.1.6a
F̎wR-G-B-AƓxA(0`255)wł悤ɂB(R-G-B̏ꍇ͕sƉ)
showpanelȂoOC

v0.1.5a
Splitter{̂̕`JX^}CY\Ȃ悤ɂB
 PanelsUI CNȊ֐B

v0.1.4a
Force Layout̍ڂTitleFormattingg悤ɂB
 %_width%A%_height%Panel Stack Splitter̐ATCYQƉ\
ColumnsUILayoutŃ[gsplitterɐݒ肵ƂɁA
 ŏɕ\TCYُɂȂĂ܂Ă̂CB

v0.1.3a
PaddingŐݒ肵Xy[XTCYύX\ȃ{[_[ƂĈ悤ɕύXB
 NbN}EXJ[\ω̂ł̂܂܃hbOAhhbvŃTCYύXł悤ɂB
ColumnsUILayouty[WłConfigure{^Őݒ_CAOĂяo悤ɂB

v0.1.2a
Channel spectrum panelFast pseudo-transparent modeLɂȂ悤ɑΉB
 Panel Stack Splitterɐݒ肵摜wiɂł悤ɂȂB
摜̃AXyNg ύXݒǉB

v0.1.1a
 use imageLuse color̂ƂɃ\[X[N̂C
 sȃAXyNgɂȂ̂C

v0.1a
J