unit WinAmp;

interface

uses Windows, Messages;

const
  // ------- Winamp API --------------------------------------------------------
  WINAMP_FILE_QUIT               = 40001;
  WINAMP_OPTIONS_PREFS           = 40012;
  WINAMP_OPTIONS_AOT             = 40019;
  WINAMP_FILE_REPEAT             = 40022;
  WINAMP_FILE_SHUFFLE            = 40023;
  WINAMP_HIGH_PRIORITY           = 40025;
  WINAMP_FILE_PLAY               = 40029;
  WINAMP_OPTIONS_EQ              = 40036;
  WINAMP_OPTIONS_ELAPSED         = 40037;
  WINAMP_OPTIONS_REMAINING       = 40038;
  WINAMP_OPTIONS_PLEDIT          = 40040;
  WINAMP_HELP_ABOUT              = 40041;
  WINAMP_MAINMENU                = 40043;
  WINAMP_BUTTON1                 = 40044;
  WINAMP_BUTTON2                 = 40045;
  WINAMP_BUTTON3                 = 40046;
  WINAMP_BUTTON4                 = 40047;
  WINAMP_BUTTON5                 = 40048;
  WINAMP_VOLUMEUP                = 40058;
  WINAMP_VOLUMEDOWN              = 40059;
  WINAMP_FFWD5S                  = 40060;
  WINAMP_REW5S                   = 40061;
  WINAMP_NEXT_WINDOW             = 40063;
  WINAMP_OPTIONS_WINDOWSHADE     = 40064;
  WINAMP_BUTTON1_SHIFT           = 40144;
  WINAMP_BUTTON2_SHIFT           = 40145;
  WINAMP_BUTTON3_SHIFT           = 40146;
  WINAMP_BUTTON4_SHIFT           = 40147;
  WINAMP_BUTTON5_SHIFT           = 40148;
  WINAMP_BUTTON1_CTRL            = 40154;
  WINAMP_BUTTON2_CTRL            = 40155;
  WINAMP_BUTTON3_CTRL            = 40156;
  WINAMP_BUTTON4_CTRL            = 40157;
  WINAMP_BUTTON5_CTRL            = 40158;
  WINAMP_OPTIONS_DSIZE           = 40165;
  IDC_SORT_FILENAME              = 40166;
  IDC_SORT_FILETITLE             = 40167;
  IDC_SORT_ENTIREFILENAME        = 40168;
  IDC_SELECTALL                  = 40169;
  IDC_SELECTNONE                 = 40170;
  IDC_SELECTINV                  = 40171;
  IDM_EQ_LOADPRE                 = 40172;
  IDM_EQ_LOADMP3                 = 40173;
  IDM_EQ_LOADDEFAULT             = 40174;
  IDM_EQ_SAVEPRE                 = 40175;
  IDM_EQ_SAVEMP3                 = 40176;
  IDM_EQ_SAVEDEFAULT             = 40177;
  IDM_EQ_DELPRE                  = 40178;
  IDM_EQ_DELMP3                  = 40180;
  IDC_PLAYLIST_PLAY              = 40184;
  WINAMP_FILE_LOC                = 40185;
  WINAMP_OPTIONS_EASYMOVE        = 40186;
  WINAMP_FILE_DIR                = 40187;
  WINAMP_EDIT_ID3                = 40188;
  WINAMP_TOGGLE_AUTOSCROLL       = 40189;
  WINAMP_VISSETUP                = 40190;
  WINAMP_PLGSETUP                = 40191;
  WINAMP_VISPLUGIN               = 40192;
  WINAMP_JUMP                    = 40193;
  WINAMP_JUMPFILE                = 40194;
  WINAMP_JUMP10FWD               = 40195;
  WINAMP_JUMP10BACK              = 40197;
  // ---------------------------------------------------------------------------

  // Керування відтворенням
  PL_PREV            = WINAMP_BUTTON1;        //  Кнопка «Prev»
  PL_PLAY            = WINAMP_BUTTON2;        //  Кнопка «Play»
  PL_PAUSE           = WINAMP_BUTTON3;        //  Кнопка «Pause»
  PL_STOP            = WINAMP_BUTTON4;        //  Кнопка «Stop»
  PL_NEXT            = WINAMP_BUTTON5;        //  Кнопка «Next»
  PL_FIRST           = WINAMP_BUTTON1_CTRL;   //  Перейти на першу пісню Playlist’а (режим «Suffle» має бути вимкнений)
  PL_LAST            = WINAMP_BUTTON5_CTRL;   //  Перейти на останню пісню Playlist’а (режим «Suffle» має бути вимкнений)
  PL_VOLUP           = WINAMP_VOLUMEUP;       //  Збільшити гучність на один процент
  PL_VOLDOWN         = WINAMP_VOLUMEDOWN;     //  Зменшити гучність на один процент
  PL_5SEC_PREV       = WINAMP_BUTTON1_SHIFT;  //  На 5 секунд назад
  PL_5SEC_FORW       = WINAMP_BUTTON5_SHIFT;  //  На 5 секунд вперед
  // Керування програмою
  PR_CLOSE           = WINAMP_FILE_QUIT;      // 	Закрити Winamp
  PR_FILEINFO        = WINAMP_EDIT_ID3;       // 	Показати інформацію про файл
  PR_STOP_AFTER_CURR = WINAMP_BUTTON4_CTRL;   // 	Зупинитися після поточної композиції
  PR_VISUALIZATION   = WINAMP_VISPLUGIN;      // 	Запустити плагін візуалізації
  PR_EQUALIZER       = WINAMP_OPTIONS_EQ;     // 	Показати/Сховати еквалайзер
  PR_PLAYLIST        = WINAMP_OPTIONS_PLEDIT; //	Показати/Сховати редактор Playlist’ів
  PR_REPEAT          = WINAMP_FILE_REPEAT;    //	Кнопка «Repeat»
  PR_SHUFFLE         = WINAMP_FILE_SHUFFLE;   // 	Кнопка «Suffle»
  PR_MAINWIN         = 40258;                 // 	Показати/Сховати головне вікно
  PR_BROWSER         = 40298;                 // 	Показати/Сховати міні-броузер

procedure WinampCommand(Command: integer);
function WinampUser(Data, ID: integer):integer;

implementation

procedure WinampCommand(Command: integer);
var WinampHWND: HWND;
begin
  WinampHWND := FindWindow('Winamp v1.x', nil);
  if WinampHWND <> 0 then PostMessage(WinampHWND, WM_COMMAND, Command, 0);
end;

function WinampUser(Data, ID: integer):integer;
 var WinampHWND: HWND;
begin
 WinampHWND := FindWindow ('Winamp v1.x', nil);
 if WinampHWND <> 0 then Result := SendMessage(WinampHWND, WM_USER, Data, ID)
   else Result :=- 1;
end;

end.
