API Light Alloy - Pomoc dla Light Alloy

API Light Alloy

W Light Alloy możliwe jest otrzymywanie komunikatów systemowych z innego programu wykorzystując do tego API Light Alloy. Umożliwia to innym programom w prosty i precyzyjny sposób sterowanie odtwarzaczem bez potrzeby emulowania klawiszy i myszki. Wśród programów, które korzystają z interfejsu API do sterowania Light Alloy są: Remotty i RC Assistant.

Zarządzanie Light Alloy za pomocą API

Zarządzanie Light Alloy za pomocą API wykonywane jest poprzez wysłanie komunikatu okna z nazwą klasy LightAlloyFront.

Numer komunikatu = WM_APP + 2504 (0x89C8)

Poniżej znajdują się polecenia, które rozumie Light Alloy:

LAC_FILE_OPEN = 50; // Otwórz plik LAC_FILE_OPEN_URL = 51; // Otwórz URL LAC_FILE_PLAY_DVD_DISC = 52; // Otwórz dysk DVD/Blu-ray/Audio CD LAC_FILE_OPEN_DVD_FOLDER_NO_MENU = 53; // Otwórz DVD bez menu LAC_FILE_OPEN_DVD_FOLDER = 54; // Otwórz folder z DVD/Blu-ray LAC_FILE_OPEN_TV = 55; // Pełnoekranowe menu otwierania plików LAC_FILE_PLAY_CDDVD = 56; // Otwórz dysk CD/DVD LAC_FILE_PLAY_BD_DISC = 57; // Otwórz dysk Blu-ray LAC_FILE_PLAY_AUD_DISC = 58; // Otwórz dysk Audio CD LAC_APPLICATION_HISTORY = 59; // Rozszerzona historia plików LAC_FILE_INFO = 60; // Informacje o pliku LAC_FILE_OSD_INFO = 61; // Informacje o pliku na ekranie LAC_FILE_INFO_PLAYLIST = 62; // Informacje o pliku LAC_FILE_OPEN_RADIOVIEWER = 63; // Katalog internetowych radiostacji LAC_FILE_RADIO_ON_OFF = 64; // Radio: włącz/wyłącz LAC_FILE_RADIO_RECSTART = 65; // Radio: rozpocznij zapis LAC_FILE_RADIO_RECSTOP = 66; // Radio: zatrzymaj zapis LAC_FILE_RADIO_REC_START_STOP = 67; // Radio: start/stop zapis LAC_PLAYBACK_PLAY = 100; // Odtwarzaj LAC_PLAYBACK_STOP = 101; // Wstrzymaj LAC_PLAYBACK_STOP_PLAY = 102; // Odtwarzaj / Wstrzymaj LAC_PLAYBACK_REAL_STOP = 103; // Zatrzymaj LAC_PLAYBACK_SPEED_PLAY = 104; // Szybkość odtwarzania LAC_PLAYBACK_FILTERS = 105; // Drzewko filtrów LAC_PLAYBACK_SPEED_PLAY_UP = 106; // Szybkość odtwarzania LAC_PLAYBACK_SPEED_PLAY_DN = 107; // Szybkość odtwarzania LAC_SEEK_FRAME_STEP = 150; // Klatka do przodu LAC_SEEK_FRAME_BACK = 151; // Klatka do tyłu LAC_SEEK_FORWARD = 152; // Przewiń do przodu LAC_SEEK_BACKWARD = 153; // Przewiń do tyłu LAC_SEEK_JUMP_FORWARD = 154; // Przeskocz do przodu LAC_SEEK_JUMP_BACKWARD = 155; // Przeskocz do tyłu LAC_SEEK_SUBTITLE_NEXT = 156; // Napisy do przodu LAC_SEEK_SUBTITLE_PREV = 157; // Napisy do tyłu LAC_SEEK_REWIND = 158; // Przewiń na początek LAC_SEEK_SET_BOOKMARK = 159; // Ustaw zakładkę LAC_SEEK_LAST_POS = 160; // Przewiń do pozycji zatrzymania LAC_SEEK_A_B = 161; // Powtarzanie segmentu А-B LAC_SEEK_SET_O = 162; // Zaznacz początek automatycznego pomijania LAC_SEEK_SET_E = 163; // Zaznacz koniec automatycznego pomijania LAC_SEEK_SET_OE = 164; // Zaznacz zakończenie początku LAC_SEEK_SET_EO = 165; // Zaznacz początek zakończenia LAC_SEEK_SHOW_OE_PROPS = 166; // Ustawienia automatycznego przewijania LAC_SEEK_INVERSION = 167; // Automatyczne pomijanie normalne/odwrócone LAC_SEEK_ENABLE_OE = 168; // Automatyczne pomijanie rozpoczęcia/zakończenia LAC_WINDOW_CONTROL_PANEL = 200; // Panel sterowania LAC_WINDOW_STAY_ON_TOP = 201; // Na wierzchu wszystkich okien LAC_WINDOW_MINIMIZE = 202; // Minimalizuj LAC_WINDOW_MAXIMIZE = 203; // Maksymalizuj LAC_WINDOW_FULLSCREEN = 204; // Okno / Pełny ekran LAC_WINDOW_ORIGINAL = 205; // Domyślny rozmiar LAC_WINDOW_PLAYLIST = 206; // Lista odtwarzania LAC_WINDOW_EX_PLAYLIST = 207; // Wewnętrzna lista odtwarzania LAC_WINDOW_ADVDIR = 208; // Tryb listy odtwarzania LAC_WINDOW_PLAYLIST_SIZE = 209; // Rozmiar listy odtwarzania LAC_WINDOW_ADVDIR_DIR_SIZE = 210; // Rozmiar panelu katalogów LAC_WINDOW_GET_USER_SIZE = 211; // Zachowaj pozycję i rozmiar odtwarzacza LAC_WINDOW_SET_USER_SIZE = 212; // Wczytaj pozycję i rozmiar odtwarzacza LAC_WINDOW_HIDE_FROM_BOSS = 213; // Anty-szef LAC_PLAYLIST_SHOW_HIDE_SEARCH = 250; // Pole wyszukiwania: pokaż / ukryj LAC_PLAYLIST_ADVDIR_FAVORITE = 251; // Tryb folderów - Ulubione LAC_PLAYLIST_ADVDIR_GO_MYPATH = 252; // Tryb folderów - Ulubiony folder LAC_PLAYLIST_PLAY = 253; // Odtwarzaj wybrany LAC_PLAYLIST_NEXT = 254; // Następny z listy odtwarzania LAC_PLAYLIST_PREV = 255; // Poprzedni z listy odtwarzania LAC_PLAYLIST_ADD_FILES = 256; // Dodaj plik LAC_PLAYLIST_ADD_FOLDER = 257; // Dodaj folder do listy odtwarzania LAC_PLAYLIST_DELETE = 258; // Usuń z listy odtwarzania LAC_PLAYLIST_DELETE_FILE = 259; // Usuń plik LAC_PLAYLIST_CLEAR = 260; // Wyczyść listę odtwarzania LAC_PLAYLIST_SAVE = 261; // Zapisz listę odtwarzania LAC_PLAYLIST_REPORT = 262; // Tablica listy odtwarzania (karta html) LAC_PLAYLIST_MOVE_UP = 263; // Przenieś wyżej LAC_PLAYLIST_MOVE_DOWN = 264; // Przenieś niżej LAC_PLAYLIST_SORT = 265; // Sortuj listę odtwarzania LAC_PLAYLIST_VISUALSHUFFLE = 266; // Wymieszaj listę odtwarzania LAC_PLAYLIST_SHUFFLE = 267; // Odtwarzaj w kolejności losowej LAC_PLAYLIST_REPEAT = 268; // Powtarzanie listy odtwarzania LAC_PLAYLIST_REPEAT_FILE = 269; // Powtarzanie pliku LAC_PLAYLIST_BOOKMARKS = 270; // Zakładki w liście odtwarzania LAC_PLAYLIST_JUMP = 271; // Przejdź do pliku LAC_PLAYLIST_SEARCH_FILE = 272; // Pokaż lokalizację pliku LAC_PLAYLIST_RENAME_FILE = 273; // Zmień nazwę pliku lub zakładki LAC_PLAYLIST_MANAGER = 274; // Menedżer List odtwarzania LAC_PLAYLIST_SKIP_FILE = 275; // Pomiń plik LAC_PLAYLIST_SELECT_ALL = 276; // Zaznacz wszystkie pliki LAC_VIDEO_PROPERTIES = 300; // Ustawienia wideo LAC_VIDEO_SCREENSHOT = 301; // Zapisz zrzut ekranowy LAC_VIDEO_SCREENSHOT_CB = 302; // Kopiuj zrzut ekranowy do schowka systemowego LAC_VIDEO_SAVE_THUMBNAILS = 303; // Zapisz galerię miniatur LAC_VIDEO_SAVE_SCREENS_PACK = 304; // Zapisz pakiet zrzutów w pełnym rozmiarze LAC_VIDEO_OPEN_SCR_FOLDER = 305; // Otwórz folder ze zrzutami ekranu LAC_VIDEO_SCALE_50 = 306; // Skalowanie 50% LAC_VIDEO_SCALE_100 = 307; // Skalowanie 100% LAC_VIDEO_SCALE_150 = 308; // Skalowanie 150% LAC_VIDEO_SCALE_200 = 309; // Skalowanie 200% LAC_VIDEO_RATIO_ASIS = 310; // Proporcje takie jak są LAC_VIDEO_RATIO_16_9 = 311; // Proporcje 16:9 LAC_VIDEO_RATIO_4_3 = 312; // Proporcje 4:3 LAC_VIDEO_RATIO_WIDTH = 313; // Proporcje wg szerokości LAC_VIDEO_RATIO_HEIGHT = 314; // Proporcje wg wysokości LAC_VIDEO_RATIO_CUSTOM = 315; // Sprecyzowane proporcje LAC_VIDEO_RATIO_CUSTOM_SET = 316; // Sprecyzowane proporcje LAC_VIDEO_RATIO_FREE = 317; // Bez utrzymywania proporcji LAC_VIDEO_RATIO_PIXEL = 318; // Proporcje piksel-w-piksel LAC_VIDEO_ZOOM_IN = 319; // Powiększ obraz LAC_VIDEO_ZOOM_OUT = 320; // Pomniejsz obraz LAC_VIDEO_BRIGHTNESS_INC = 321; // Zwiększ jasność LAC_VIDEO_BRIGHTNESS_DEC = 322; // Zmniejsz jasność LAC_VIDEO_CONTRAST_INC = 323; // Zwiększ kontrast LAC_VIDEO_CONTRAST_DEC = 324; // Zmniejsz kontrast LAC_VIDEO_SATURATION_INC = 325; // Zwiększ nasycenie LAC_VIDEO_SATURATION_DEC = 326; // Zmniejsz nasycenie LAC_VIDEO_COLOR_RESET = 327; // Resetuj ustawienia kolorów LAC_VIDEO_SETS_RESTORE = 328; // Resetuj ustawienia skalowania i rozmiarów LAC_VIDEO_RATIO_SWITCH = 329; // Przełącz proporcje LAC_VIDEO_DEBUG_OSD = 330; // Pokaż na wideo techniczne OSD LAC_VIDEO_OSD_INFO_CB = 331; // Zapisz info OSD filmu do schowka systemowego LAC_VIDEO_SUBS_DEBUG_OSD = 332; // Pokaż techniczne OSD dla napisów LAC_VIDEO_SHOW_STATS = 333; // Pokaż techniczne statystyki LAC_VIDEO_USE_VSYNC = 334; // Włącz VSync LAC_VIDEO_USE_ACCURVSYNC = 335; // Włącz dokładną VSync LAC_VIDEO_USE_ALTERVSYNC = 336; // Włącz alternatywną VSync LAC_VIDEO_FLUSHGPU_BEF_VS = 337; // Wypełnij GPU przed VSync LAC_VIDEO_FLUSHGPU_AFT_PR = 338; // Wypełnij GPU po przedstawieniu LAC_VIDEO_FLUSHGPU_WAIT = 339; // Oczekuj na wypełnienie GPU LAC_VIDEO_USE_FRAME_TC = 340; // Włącz korekcję czasu klatki LAC_VIDEO_USE_16_235_OR = 342; // Użyj zakres wyjścia 16-235 LAC_VIDEO_PAN_SCAN_LEFT = 343; // Przesuń obraz w lewo LAC_VIDEO_PAN_SCAN_RIGHT = 344; // Przesuń obraz w prawo LAC_VIDEO_PAN_SCAN_UP = 345; // Przesuń obraz w górę LAC_VIDEO_PAN_SCAN_DOWN = 346; // Przesuń obraz w dół LAC_VIDEO_ROTATE_Z = 347; // Obróć wideo w pionie LAC_SUBTITLES_LOAD = 350; // Wczytaj napisy LAC_SUBTITLES_LOAD_TV = 351; // Pełnoekranowe menu wczytywania napisów LAC_SUBTITLES_SHOW = 352; // Wyświetlaj napisy LAC_SUBTITLES_SWITCH = 353; // Przełącz napisy LAC_SUBTITLES_SHOW2 = 354; // Wyświetlaj napisy Nr2 LAC_SUBTITLES_SWITCH2 = 355; // Przełącz napisy Nr2 LAC_SUBTITLES_PROPERTIES = 356; // Ustawienia napisów LAC_SUBTITLES_TS_INC = 357; // Zwiększ przesunięcie napisów LAC_SUBTITLES_TS_DEC = 358; // Zmniejsz przesunięcie napisów LAC_SOUND_ADD = 400; // Wczytaj ścieżkę dźwiękową LAC_SOUND_SWITCH_STREAM = 401; // Przełącz ścieżkę dźwiękową LAC_SOUND_PROPERTIES = 402; // Ustawienia dźwięku LAC_SOUND_VOLUME_INC = 403; // Zwiększ głośność LAC_SOUND_VOLUME_DEC = 404; // Zmniejsz głośność LAC_SOUND_MUTE = 405; // Włącz/Wyłącz dźwięk LAC_SOUND_TS_MINUS = 406; // Przesuń dźwięk do tyłu LAC_SOUND_TS_PLUS = 407; // Przesuń dźwięk do przodu LAC_SOUND_PITCH_INC = 408; // Zwiększ wysokość tonacji dźwięku LAC_SOUND_PITCH_DEC = 409; // Zmniejsz wysokość tonacji dźwięku LAC_SOUND_PITCH_DEF_ONE = 410; // Domyślna tonacja dźwięku dla aktualnej szybkości LAC_SOUND_PITCH_DEF_ALL = 411; // Domyślna tonacja dźwięku dla wszystkich szybkości LAC_APPLICATION_PREFERENCES = 450; // Ustawienia LAC_APPLICATION_HELP = 451; // Pomoc LAC_APPLICATION_ABOUT = 452; // O programie LAC_APPLICATION_EXIT = 453; // Wyjdź LAC_APPLICATION_MONITOR_OFF = 454; // Wyłącz monitor LAC_NAVIGATION_TITLE = 500; // Menu filmu LAC_NAVIGATION_ROOT = 501; // Menu główne LAC_NAVIGATION_SUBS = 502; // Menu napisów LAC_NAVIGATION_AUDIO = 503; // Menu audio LAC_NAVIGATION_ANGLE = 504; // Menu kątów widzenia kamery LAC_NAVIGATION_SCENES = 505; // Menu scen LAC_NAVIGATION_PREV = 506; // Poprzedni rozdział LAC_NAVIGATION_NEXT = 507; // Następny rozdział

Przykład użycia API Light Alloy

Poniżej znajdują się dwa skrypty AutoIt3, które działają podobnie. Jedyną różnicą jest to, że pierwszy zajmuje nieco mniej miejsca, a drugi jest nieco mniej skomplikowany:

#include <SendMessage.au3> $hWnd = WinWait("[CLASS:LightAlloyFront]", "", 0) _SendMessage($hwnd, 0x89C8, 100)

#include <SendMessage.au3> Local Const $LAC_PLAYBACK_PLAY = 100 $hWnd = WinWait("[CLASS:LightAlloyFront]", "", 0) _SendMessage($hwnd, 0x89C8, $LAC_PLAYBACK_PLAY)