96 lines
3.4 KiB
Mason
96 lines
3.4 KiB
Mason
|
//----------------------------------------------------------------------------------------------------------------
|
||
|
// pldir.mi
|
||
|
//
|
||
|
// standard handles for PlEdit manipulation
|
||
|
//----------------------------------------------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
extern class @{345BEEBC-0229-4921-90BE-6CB6A49A79D9}@ Object _predecl &PlEdit; // Our Winamp Playlist Editor
|
||
|
extern class @{61A7ABAD-7D79-41f6-B1D0-E1808603A4F4}@ Object _predecl PlDir; // <PlEditDirectory/>
|
||
|
|
||
|
|
||
|
|
||
|
//*****************************************************************************
|
||
|
// PlEdit CLASS
|
||
|
//*****************************************************************************
|
||
|
/**
|
||
|
PlEdit Class.
|
||
|
|
||
|
@short Our main PlEdit Editor.
|
||
|
@author Nullsoft Inc.
|
||
|
@ver 1.0
|
||
|
*/
|
||
|
|
||
|
// General PlEdit Information
|
||
|
extern int PlEdit.getNumTracks (); // Returns total number of tracks
|
||
|
extern int PlEdit.getCurrentIndex (); // Index of the currently Playing Item
|
||
|
extern int PlEdit.getNumSelectedTracks ();
|
||
|
extern int PlEdit.getNextSelectedTrack (int i);
|
||
|
|
||
|
|
||
|
// Manipulate PlEdit View
|
||
|
extern PlEdit.showCurrentlyPlayingTrack (); // Scrolls the PL to the currently playling item (mostly used with onKeyDown: space)
|
||
|
extern PlEdit.showTrack (int item);
|
||
|
|
||
|
// Manipulate PlEdit Entries
|
||
|
extern PlEdit.enqueueFile (string file); // Enqueues a file at the end of the PL
|
||
|
extern PlEdit.clear ();
|
||
|
extern PlEdit.removeTrack (int item); // Removes a specific Track from PL
|
||
|
extern PlEdit.swapTracks (int item1, int item2); // Changes the position of item1 and item2
|
||
|
extern PlEdit.moveUp (int item); // Moves item one position up
|
||
|
extern PlEdit.moveDown (int item); // Moves item one position down
|
||
|
extern PlEdit.moveTo (int item, int pos); // Moves an item to a new position in our PlEdit (this one is faster as calling multiple swaps in maki)
|
||
|
extern PlEdit.playTrack (int item);
|
||
|
|
||
|
|
||
|
// Metadata Stuff
|
||
|
extern int PlEdit.getRating (int item);
|
||
|
extern PlEdit.setRating (int item, int rating); // Sets Rating of track #item to a value from 0-5
|
||
|
extern String PlEdit.getTitle (int item);
|
||
|
extern String PlEdit.getLength (int item);
|
||
|
extern String PlEdit.getMetaData (int item, String metadatastring); // You know the metadata strings, don't you?
|
||
|
extern String PlEdit.getFileName (int item);
|
||
|
|
||
|
/**
|
||
|
Hookable.
|
||
|
You need to instanciate a PlEdit object first. so basically it goes like this:
|
||
|
|
||
|
Global PlEdit PeListener;
|
||
|
|
||
|
System.onScriptLoaded ()
|
||
|
{
|
||
|
PeListener = new PlEdit;
|
||
|
}
|
||
|
|
||
|
PeListener.onPleditModified ()
|
||
|
{
|
||
|
// Do some crazy stuff
|
||
|
}
|
||
|
*/
|
||
|
extern PlEdit.onPleditModified ();
|
||
|
|
||
|
//*****************************************************************************
|
||
|
// PlDir CLASS
|
||
|
//*****************************************************************************
|
||
|
/**
|
||
|
PlDir Class.
|
||
|
|
||
|
@short Handles for the <PlEditDirectory/> XML object and ML PlEdits view.
|
||
|
@author Nullsoft Inc.
|
||
|
@ver 1.0
|
||
|
*/
|
||
|
|
||
|
// General PlEdits Information
|
||
|
extern int PlDir.getNumItems (); // Returns total number of stored PlEdits in your ml
|
||
|
extern String PlDir.getItemName (int item);
|
||
|
|
||
|
// Manipulate PlDir View
|
||
|
extern PlDir.showCurrentlyPlayingEntry (); // Backwards Compatibility (wa3 relict), does the same as PlEdit.showCurrentlyPlayingTrack ()
|
||
|
extern PlDir.refresh(); // Not working 100% on ml lists
|
||
|
|
||
|
// Manipulate PlDir Entries
|
||
|
extern PlDir.renameItem (int item, String name);
|
||
|
|
||
|
// Playback funtions
|
||
|
extern PlDir.enqueueItem (int item);
|
||
|
extern PlDir.playItem (int item);
|