foo_RemoteControl
Wysłany dnia 27 lipca 2010 o godzinie 00:42. Skomentuj!

foo_RemoteControl_Server

Opis

Wtyczka udostępnia podstawową funkcjonalność Foobara2000 przez sieć. Rozpowszechniana jest na licencji LGPL.

Opis protokołu

Protokół jest protokołem tekstowym opartym o TCP/IP. Tekst kodowany jest w UTF-16 LE. Serwer nie musi odpowiadać na każdą komendę jak i sam z siebie nie wysyła żadnych informacji(z wyłączeniem ewentualnej wiadomości o błędzie zaraz po połączeniu).

Składnia:

nazwa_komendy parametr1=wartość1 parametr2="wartość 2" … parametrn=wartość

Konfiguracja

Wtyczka jest w pełni(na tyle ile to możliwe) konfigurowalna(opcje Foobara->Advanced->Tools->RemoteControl Server). Można zmienić jej port nasłuchu, czas uśpienia wątku głównego i maksymalną liczbę połączeń.

Port nasłuchu(Port) – port na którym wtyczka będzie czekać na nowe połączenia, domyślnie 35017

Czas uśpienia(Sleep time) – czas bezczynności wątku głównego pomiędzy kolejnymi przebiegami(sprawdzenie czy są nowe połączenia, obsłużenie klientów). W milisekundach, domyślnie 100(ale spokojnie można zwiększyć do nawet 500, przy 1000 już da się to odczuć).

Maksymalna liczba klientów(Max clients) – maksymalna liczba klientów na raz podłączonych do instancji Foobara. Domyślnie 0(nieograniczone).

Obsługiwane komendy

Od wersji 0.1:

  • version – pobiera aktualną wersję wtyczki
  • help [cmd=nazwa_komendy_do_opisu] – wyświetla pomoc dla danej komendy(można użyć w konsolach, tekst jest sformatowany)
  • play – rozpoczyna odtwarzanie lub zaczyna odtwarzać aktualny utwór ponownie(Playback->Play)
  • pause – pauzuje aktualnie grany utwór
  • togglePause – pauzuje lub wznawia aktualnie grany utwór(Playback->Pause)
  • stop – zatrzymuje odtwarzanie(Playback->Stop)
  • next – odtwarza następny utwór(Playback->Next)
  • prev – odtwarza poprzedni utwór(Playback->Previous)
  • getState – pobiera aktualny stan odtwarzania. Wartości zwracane: paused(spauzowane), stopped(zatrzymane), playing(gra)
  • getCurrentTime – pobiera aktualny czas odtwarzania utworu w sekundach
  • getTitle – pobiera tytuł utworu
  • getArtist – pobiera artystę wykonującego
  • getAlbum – pobiera nazwę albumu
  • getDate – pobiera datę wydania utworu(albumu)
  • getTrackNumber – pobiera numer utworu
  • getLength – pobiera długość utworu, sformatowane jako [HH:]MM:SS

Changelog:

  • v0.1:
    • obsługa wielu klientów jednocześnie
    • konfigurowalna(wcześniejsze, niepublikowane wersje tego nie miały)
    • obsługa podstawowej funkcjonalności Foobara2000

Download: (pliki wykonywalne wymagają pakietu redystrybucyjnego Visual C++ 2010)

Repozytorium SVN(polecam sprawdzać tylko folder trunk, rzadko będę tagował nowe wersje): http://svn2.xp-dev.com/svn/foo_remotecontrol/

Dodaj komentarz

XHTML: Możesz użyć: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>