winamp/Src/Wasabi/Lib/application.mi
2024-09-24 14:54:57 +02:00

88 lines
No EOL
2.6 KiB
Mason

//----------------------------------------------------------------------------------------------------------------
// application.mi
//
// reflects the api_application object into Maki
// some of the functions may not make a lot of sense in the context of skin scripting
// they are here for completeness
// some of these functions duplicate functionality provided in the system object
//----------------------------------------------------------------------------------------------------------------
#ifndef __APPLICATION_MI
#define __APPLICATION_MI
extern class @{B8E867B0-2715-4da7-A5BA-53DBA1FCFEAC}@ Object _predecl Application;
//*****************************************************************************
// APPLICATION CLASS
//*****************************************************************************
/**
Application Class.
@short Application Object
@author benski
@ver 1.0
*/
// static functions
extern String Application.GetApplicationName();
extern String Application.GetVersionString();
extern String Application.GetVersionNumberString();
extern int Application.GetBuildNumber();
/**
A unique ID that represents what GUID this application is
Winamp 5 is {4BE592C7-6937-426a-A388-ACF0EBC88E93}
other Wasabi-based applications (e.g. ClipX, Winamp3, wasabi.player) will have a different GUID
however, this maki class only currently resides in Winamp5, so it's a bit irrevelant :)
*/
extern String Application.GetGUID();
/**
The commandline that Winamp was called with
*/
extern String Application.GetCommandLine();
/**
Shuts Winamp down.
*/
extern Application.Shutdown();
/**
cancels an shutdown in progress
see note for IsShuttingDown about the futility of this maki script function
*/
extern Application.CancelShutdown ();
/**
tests if we're in the middle of shutting down winamp.
This is part of the application API in Wasabi, so it's reflected here
but it might not be of much use to your script,
since you'll likely be unloaded before this function
ever gets a chance to return true
*/
extern boolean Application.IsShuttingDown();
/**
Path where winamp.exe (or studio.exe) lives
*/
extern String Application.GetApplicationPath();
/**
Path where Winamp stores it's settings (studio.xnf, winamp.ini, etc)
*/
extern String Application.GetSettingsPath();
/**
Gets the current working path. This is the same path that will open by default
in Winamp's "Open File" dialog.
Working path persists across Winamp launches
*/
extern String Application.GetWorkingPath();
/**
Sets a new working path.
*/
extern Application.SetWorkingPath(String working_path);
#endif