current version: foo_looks 2.1 beta2

script reference

handlers

the list of handlers has been sub-divided by category.

these are:

user-input events
playback triggered events
look status events
misc. triggered events
update events

user input events

onleftbuttondown(this)

trigger:
triggered when left mouse button is pressed down inside hotspot...

onleftbuttonup(this)

trigger:
triggered when left mouse button is released inside hotspot...

onrightbuttondown(this)

trigger:
triggered when right mouse button is pressed down inside hotspot....

onrightbuttonup(this)

trigger:
triggered when left mouse button is released inside hotspot...

onleftbuttondoubleclick(this)

trigger:
...

onleftbuttonupoutside(this)

trigger:
...

onrightbuttonupoutside(this)

trigger:
...

onmousewheel(this, delta)

trigger:
...
notes:
delta in -+ depending on direction of wheel turn - called on the current rollover sprite only

onchar(this,char)

trigger:
...

onkeyup(this, char)

trigger:
...

playback triggered events

onplaybackstart(this)

trigger:
triggered when playback starts....

onplaybackstop(this)

trigger:
triggered when playback stops.

onplaybackpause(this)

trigger:
triggered when playback is paused....

onplaybacknewtrack(this)

trigger:
triggered when a new track is starting...

look status events

onmovesizewindow(this, x, y, width, height)

trigger:
...

ondock(this,side)

trigger:
...
notes:
side ["top","right","left","bottom"]

ondeactivate(this)

trigger:
window loses focus

onattach(this)

trigger:
triggered once, when the skin is initialized

onactivate(this)

trigger:
triggered when the skin becomes active

playlist events

onplaylistnew(this,name,index)

trigger:
...

onplaylistdelete(this,index)

trigger:
...

onplaylistswitchafter(this,from,to)

trigger:
...

onplaylistreorder(this)

trigger:
...

onplaylistrename(this,index,newname)

trigger:
...

onplaylistfocuschange(this,from,to)

trigger:
...

misc. triggered events

onvolumechange(this,newvol)

trigger:
...

onmousemove(this)

trigger:
triggered whenever the mouse pointer coordinates have changed...

onmouseenter(this)

trigger:
triggered when mouse pointer enters the defined dimensions of the hotspot....

onmouseleave(this)

trigger:
triggered when mouse pointer leaves the defined dimensions of the hotspot...

update events

onupdate(this)

trigger:
triggers 15 times per second....

onupdateplayerstatus(this)

trigger:
called 2 times per second

functions

look_drag()
look_aot()
bool look_isaot()
look_edit()
look_hide()
int look_mouseX() -- client coordinates
int look_mouseY() -- client coordinates
look_updateAlbumArt([plindex]) -- rerun album search against given playlist index or now playing item if void
look_moveSizeWindow(x,y,w,h) -- pass -1 for x,y for size only or -1 for w,h for move only
rect look_getWindowRect() -- screen coordinates
{x=int, y=int} look_getWindowPos() -- screen coordinates
{width=int, height=int} look_getWindowSize()
look_setFocus() -- set keyboard focus (experimental)
look_getFocus()
{string,string...} look_getAlbumArtList()
image look_loadImage(filename)
image look_loadThumbImage(filename)
{width=int, height=int, bpp=int} look_getDisplayResolution() -- screen res and bits per pixel
look_setDisplayResolution(x,y,bpp)
look_restoreDisplayResolution() -- restores to screen resolution in use when foobar was started
look_updateTagz() -- for immediate TAGZ update vs. waiting for next update loop
sprite look_getRollover() -- current rollover sprite or nil if none

fb2k_prefs(which) -- show prefs page
fb2k_setFlowControl(flow)
string fb2k_getFlowControl()
{flow1, flow2, etc} fb2k_enumFlowControl()

fb2k_playlistPlay(plindex)
int fb2k_playlistGetCount()

fb2k_playlistContextMenu(nil [plindex, {index1, index2, indexN}])
fb2k_mainMenu(menuname)

fb2k_setVolume(value)
fb2k_formatTitle(plindex,tagz,extra) -- extra is reserved for future use - pass nil

// look_aot(enabled [true/false])

fb2k_playbackSeek(newpos)","void
fb2k_getSongLength()","Length 
fb2k_getPlayPosition()","Number [current song play pos] 
fb2k_getNowPlaying()","PLindex [-1 if none] 
fb2k_getVolume()","vol [-10000 - 0] 
fb2k_isStopped()","bool
fb2k_isPlaying()","bool
fb2k_isPaused()","bool
fb2k_playSkipStart(+/-N [0 = current, +/-N = relative])","void
fb2k_playStop()","void
fb2k_playPause()","void
fb2k_playStart()","void
fb2k_uiIsActivated()","bool
fb2k_getPlaylistName(plindex [void = all playlists])","String or { name1, nameN } 
fb2k_getActivePlaylist()","int
fb2k_getNumPlaylists()","int
fb2k_activatePlaylist(plindex)","void
fb2k_renamePlaylist(plindex, newname)","void
fb2k_deletePlaylist(plindex)","void
fb2k_createPlaylist(newname)","int
fb2k_playlistContextCommand(menuString, [ index or { playlist index list }])","void
fb2k_playlistSetFocusSel(index)","void
fb2k_playlistSetSel(index, select)","void
fb2k_playlistSetFocus(index)","void
fb2k_playlistGetFocus()","int
fb2k_menuCommand(menuString)","void
look_getPlaylistIndex(sprite)","int
look_setPlaylistIndex(sprite [ {sprite, ... } ], index)","void
look_setStateMap(sprite [ {sprite, ... } ], state, offset)","void
look_setImage(sprite [ {sprite, ... } ], image)","void
look_getFspec(sprite)","string
look_setFspec(sprite [ {sprite, ... } ], Fspec)","void
look_getText(sprite)","string
look_setText(sprite [ {sprite, ... } ], Text)","void
look_getLayer(sprite)","integer
look_setLayer(sprite [ {sprite, ... } ], layer)","void
look_setAlpha(sprite [ {sprite, ... } ], alpha)","void
look_setFontStyle(sprite [ {sprite, ... } ], style)","void
look_setFontSize(sprite [ {sprite, ... } ], size)","void
look_setFontColor(sprite [ {sprite, ... } ], color)","void
look_setFont(sprite [ {sprite, ... } ], fontname)","void
look_setBorderWidth(sprite [ {sprite, ... } ], width)","void
look_setBorderColor(sprite [ {sprite, ... } ], color)","void
look_setFillColor(sprite [ {sprite, ... } ], color)","void
look_getToggle(sprite)","integer
look_setToggle(sprite [ {sprite, ... } ], toggle)","integer
look_getSrcOffset(sprite)","Table [sx=int, sy=int]
look_setSrcOffset(sprite [ {sprite, ... } ], table [sx=int, sy=int])","void
look_getSrcY(sprite)","integer
look_setSrcY(sprite [ {sprite, ... } ], y)","void
look_getSrcX(sprite)","integer
look_setSrcX(sprite [ {sprite, ... } ], x)","void
look_getHeight(sprite)","integer
look_setHeight(sprite [ {sprite, ... } ], h)","void
look_getWidth(sprite)","integer
look_setWidth(sprite [ {sprite, ... } ], w)","void
look_getY(sprite)","integer
look_setY(sprite [ {sprite, ... } ], y)","void
look_getX(sprite)","integer
look_setX(sprite [ {sprite, ... } ], x)","void
look_setEnabled(sprite [ {sprite, ... } ], enable)","void
look_getEnabled(sprite)","boolean
look_setVisible(sprite [ {sprite, ... } ], visible)","void
look_getVisible(sprite)","boolean
look_insideSprite(sprite, x, y)","boolean
look_setRect(sprite [ {sprite, ... } ], rect [ { x=int, y=int, width=int, height=int } ])","void
look_getRect(sprite)","Table [ { x=int, y=int, width=int, height=int } ]
look_getName(sprite)","string
look_reset(sprite [ {sprite, ... } ])","void
look_prompt(prompt, caption, type)","boolean
look_getValue(section, name)","(value)
look_getExt(target, verb)","string
look_getPath(target, verb)","string
look_shellExec(target, verb)","boolean
look_color(a, r, g, b)","integer
look_playSound(filename)","void
look_getCursorPos()","Table [{ x=int, y=int }]
look_insideRect(rect [ { x=int, y=int, width=int, height=int } ], x, y)","boolean
look_inflateRect(rect [ { x=int, y=int, width=int, height=int } ], dx, dy)","Table [ { x=int, y=int, width=int, height=int } ] 
look_callScript(hotspot, funcname)","void
look_getTime()","integer
look_help(echo)","string