Wtyczka (ang. plug-in) to dodatek do istniejącego programu poszerzający jego możliwości lub automatyzujący żmudne czynności. Wtyczki rozprowadzane są, jako biblioteki dll. Ich stosowanie jest coraz częstszym zabiegiem wśród twórców programów, a zwłaszcza tych tworzących otwarte oprogramowanie.
Typowymi przykładami są wtyczki, które służą do odczytu lub edycji określonych typów plików (np. plików multimediów), szyfrowania lub deszyfrowania poczty (np. PGP), filtrowania obrazów w programach graficznych itp. Ogromną zaletą takiego rozwiązania jest to, że użytkownicy mogą wybierać pomiędzy funkcjami, które chcą mieć w programie, a których nie. Wtyczki zatem mogą robić wiele rzeczy. Przykładowa wtyczka dla Winampa może na przykład przemienić odtwarzacz w zegar z alarmem. Inne mogą zostać użyte po to, by poprawić dźwięk muzyki. Jeszcze inne, potrafią zobrazować dźwięk lub spowodować, że usłyszymy kolory.
Aby można było pisać wtyczki, programista musi udostępnić i udokumentować API (Interfejs programistyczny). Program główny zapewnia usługi, z których korzystają wtyczki, w tym funkcje ich rejestracji w głównym programie oraz protokół wymiany danych, sam zaś jest niezależny od wtyczek - umożliwia dynamiczne dodawanie i uaktualnianie wtyczek bez zmiany swojego wewnętrznego stanu.
Większość typów wtyczek (z wyjątkiem pakietów językowych) eksportuje jedną funkcję, która używana jest do dostępu do jej interfejsu. Sposób dostępu do interfejsu jest różny, w zależności od typu. Większość z wtyczek Winampa pisanych jest w języku C lub C++, przy użyciu środowiska Microsoft Visual C++. Choć, oczywiście, nie jest to regułą i istnieje mnóstwo wtyczek napisanych w Delphi, LCC lub Visual Basicu.
Wtyczki Winampa można podzielić ze względu na przeznaczenie i realizowane funkcje na kilka grup. Obecnie wyróżnia się siedem podstawowych grup (wyróżniłem jeszcze grupę koderów). Zaliczają się do nich:
Pakiety językowe używane są do wyświetlania interfejsu Winampa w odpowiednim języku. Pakietem językowym jest plik języka, o rozszerzeniu *.lng, w którym przechowywane są dane zasobów, w odpowiedniej wersji językowej. Pakiet może być rozszerzony o odpowiednie grafiki oraz pliki. Pakiet językowy tworzony jest na podstawie Winamp SDK. Model ten obowiązywał do Winampa w wersji 5.5.
Począwszy właśnie od wersji 5.5, Winamp obsługuje nowy model pakietów językowych. Obecnie, plikiem językowym jest plik o rozszerzeniu *.wlz (polski plik językowy to: Winamp-pl-pl.wlz i znajduje się on, jak i pozostałe, w katalogu Lang, który znajduje się w głównym katalogu Winampa). Plik ten jest zwykłym archiwum zip. W jego skład wchodzą pliki zasobów odpowiednich bibliotek i programów, pliki tekstowe oraz pliki xml. Obsługiwane są też pliki graficzne.
Wtyczki wejściowe umożliwiają Winampowi odtwarzanie dodatkowych typów plików, które nie są bezpośrednio obsługiwane w Winampie. Do wtyczek wejściowych zalicza się następujące wtyczki:
Dodaje wsparcie dla odtwarzania plików wideo AVI.
Dodaje wsparcie dla odtwarzania CD Audio oraz Cyfrowego Zgrywania Audio.
Dodaje wsparcie dla odtwarzania dowolnych formatów audio/wideo, w oparciu o systemowe filtry DirectShow (dodatkowe rozszerzenia pliku, takie jak OGM AC3 MKV DAT MOV RMVB MP4 WAV itp. mogą być dodane ręcznie, ale wymagają one zainstalowania wcześniej odpowiednich filtrów DirectShow).
Dodaje wsparcie dla odtwarzania plików FLAC - bezstratnej kompresji audio.
Dodaje wsparcie dla kontroli odtwarzania plików Flash.
Dodaje wsparcie dla odtwarzania wideo VP6 Flash.
Dodaje wsparcie dla wejścia liniowego linein:// (poprzez menu: Dodaj/Dodaj lokalizację), głównie używane z wtyczkami Wizualizacji Winampa.
Dodaje wsparcie dla odtwarzania plików kontenera MKV.
Dodaje wsparcie dla odtwarzania wielu formatów MIDI.
Dodaje wsparcie dla odtwarzania wielu formatów modułów.
Dodaje wsparcie dla odtwarzania plików Audio w formacie M4A/MP4.
Dekoder MPEG Audio Nullsoftu. Umożliwia obsługę odtwarzania dla wielu plików w formatach MP3, MP2, MP1, AAC oraz AACPlus.
Dodaje wsparcie dla odtwarzania Strumieniowego Wideo Nullsoftu (.nsv) Audio (.nsa) np. poprzez: Biblioteka Mediów > Serwisy Online > Shoutcast TV.
Dodaje wsparcie dla odtwarzania plików audio w formacie OGG
Dodaje wsparcie dla odtwarzania plików wave w formacie WAV/VOC/AU/AIFF
Dodaje wsparcie dla odtwarzania plików w formacie WMV/ASF
Wtyczki wyjściowe umożliwiają Winampowi odtwarzanie danych audio w różny sposób. Do wtyczek wyjściowych zalicza się następujące wtyczki:
Domyślna wtyczka Wyjścia do odtwarzania na systemach Win2k/XP. Obsługuje wielokanałowe wyjście, odtwarzanie gapless oraz posiada wbudowany mechanizm Zaniku dźwięku (CrossFade).
Wtyczka Wyjścia WaveOut do normalnego odtwarzania (domyślnie w Win9x). Użytkownicy Win2k/XP powinni wybrać wtyczkę Wyjścia DirectSound.
Wtyczka do zapisu na dysk - służy do konwertowania jednego formatu pliku w inny (domyślnie PCM WAV, ale obsługuje wszystkie systemowe kodeki ACM).
Wtyczki wizualizacji wyświetlają efekty wizualne w oparciu o dane audio dekodowane przez Winampa. Do wtyczek wizualizacji zalicza się następujące wtyczki:
Świetna wtyczka Wizualizacji Winampa. Wraz z nią rozprowadzany jest zestaw Wizualizacji, domyślnie w katalogu 'plugins\avs'
Kolejna wtyczka Wizualizacji Winampa. Ogromne możliwości i wspaniałe efekty. Rozprowadzana wraz z zestawem Wizualizacji, domyślnie w katalogu 'plugins\milkdrop2'.
Dostępna jest również nieoficjalna dokumentacja MilkDrop w polskiej wersji językowej.
Wtyczka Wizualizacji, o nieco mniejszych możliwościach, ale równie ciekawa.
Wtyczki efektów DSP operują na danych audio przed ich wysłaniem do głośników (lub tam gdzie przekaże je wtyczka systemu wyjścia. Do wtyczek efektów DSP zalicza się następujące wtyczki:
Dodaje wsparcie dla różnych efektów dźwiękowych (np. mono, chór, pogłos, tonacja, itp.).
Do wtyczek ogólnych zalicza się wszystkie te, które działają w tle lub które nie wymagają przetwarzania dźwięku. Do wtyczek ogólnych zalicza się następujące wtyczki:
Dodaje obsługę skrótów klawiszowych do kontroli podstawowych funkcji Winampa, nawet wtedy gdy Winamp nie jest aktywny. Konfiguracja poprzez: Preferencje > Skróty Klawiszy
Wtyczka interfejsu Biblioteki Mediów. Pozwala na:
- Tworzenie bazy danych twoich plików audio/wideo
- Tworzenie własnych Widoków/list
- Edytowanie znaczników dla wielu plików (np. id3v1/v2 / vorbis / itp.)
- Przechowywanie wielu list odtwarzania
- Przechowywanie i edycję Zakładek
- Ocenę plików (od 1 do 5 gwiazdek)
- Dostęp do interfejsu Zgrywania/Wypalania CD
- Podgląd informacji o Albumach/Okładkach
- Dostęp do Mediów Strumieniowych (Internet TV/Radio, Muzyka i Wideo z Winamp.com)
- i wiele więcej...
Uwaga: Za obsługę poszczególnych funkcji Biblioteki Mediów odpowiadają wymienione poniżej wtyczki, które muszą być zainstalowane.
Dodaje obsługę Skórek Nowoczesnych Winampa (pliki .wal). Bez tej wtyczki możliwe będzie tylko używanie skórek klasycznych Winampa 2.x (pliki .wsz).
Wtyczka, za pomocą której można gromadzić informacje o odtwarzanej muzyce i dzielić się tą informacją z innymi, za pośrednictwem serwera Winamp.com...
Dodaje możliwość wyświetlania i sterowania Winampem z poziomu Zasobnika Systemowego (ikonki Odtwarzaj/Stop/Pauza/Następny/Poprzedni).
Wtyczka rozszerzająca wbudowane w Winampa okno Skoku do Pliku (lista odtwarzania > J / F3). Dodaje obsługę kolejkowania, wyszukiwania plików do odtwarzania, oraz naprawdę mnóstwo innych właściwości...
Wtyczki biblioteki mediów rozszerzają możliwości biblioteki mediów, dają dostęp do urządzeń przenośnych, takich jak na przykład iPod, dostęp do bazy danych Biblioteki Mediów, itd. Do wtyczek Biblioteki Mediów zalicza się następujące wtyczki:
Auto-Tager Winampa. Wtyczka używana do automatycznego zapisu znaczników do plików. Informacje pobierane są z serwisu Gracenote/MusicID.
Główny składnik biblioteki mediów. Pozwala na zarządzanie zakładkami Winampa.
Główny składnik biblioteki mediów. Pozwala na import/eksport bazy danych biblioteki mediów.
Transkoder. Wtyczka, która umożliwia konwertowanie jednego formatu pliku w inny (np. plik .mp3 w .aac). Wywoływana bezpośrednio z menu kontekstowego playlisty.
Główny składnik biblioteki mediów. Pozwala na śledzenie odtwarzanych utworów w Winampie.
Główny składnik biblioteki mediów. Pozwala na zarządzanie plikami lokalnymi.
Główny składnik biblioteki mediów. Pozwala na pobieranie i wyświetlanie informacji o aktualnie odtwarzanym utworze.
Wtyczka zarządzająca Mediami Online. Wyświetla i odtwarza multimedia z takich serwisów jak: Shoutcast Radio/TV, Muzyka i Wideo Winampa/AOL, Radio XM, Gry, Zdalny Winamp oraz Serwis Singing Fish.
Generator list odtwarzania Winampa. Zastępuje wtyczkę ml_xpdxs.dll. Skanuje lokalną bazę danych i automatycznie generuje listy odtwarzania, na podstawie brzmienia utworów.
Główny składnik biblioteki mediów. Pozwala na zarządzanie listami odtwarzania Winampa.
Wtyczka, która pozwala na subskrypcję kanałów informacyjnych oraz pobieranie i odsłuchiwanie podcastów.
Obsługuje przenośne odtwarzacze Mediów.
Wtyczka, której zadaniem jest odpowiednie wypoziomowanie kanałów głośności, tak aby wszystkie utwory odtwarzane były z podobnym natężeniem dźwięku.
Główny składnik biblioteki mediów. Pozwala na zgrywanie i wypalanie CD.
Główny składnik biblioteki mediów. Dostęp do dodatków Winampa z jednego miejsca (wtyczki, skórki, wizualizacje, usługi Online etc).
Media zdalne. Udostępnia interfejs biblioteki mediów do oprogramowania Winamp Remote.
Do wtyczek koderów audio zalicza się następujące wtyczki:
Wtyczka, która pozwala na kodowanie w formacie AAC, AAC+ oraz M4A poprzez Winampa. Dostępnych jest kilka typów kodera:
- aacPlus (HE-AAC) Encoder
- aacPlus (HE-AAC) High Bitrate Encoder (tylko w wersji Pro)
- LC-AAC Encoder
- MP4/aacPlus (HE-AAC) Encoder
- MP4/aacPlus (HE-AAC) High Bitrate Encoder (tylko w wersji Pro)
- MP4/LC-AAC Encoder
Wtyczka, która pozwala na kodowanie w formacie FLAC (bezstratnej kompresji).
Wtyczka, która pozwala na kodowanie w formacie MP3 (tylko w wersji Pro).
Wtyczka, która pozwala na kodowanie w formacie WAV
Wtyczka, która pozwala na kodowanie w formacie WMA
Wtyczki urządzeń przenośnych umożliwiają Winampowi obsługę urządzeń przenośnych. Do wtyczek tych zalicza się następujące wtyczki:
Obsługa odtwarzaczy przenośnych Creative Labs (Zen Micro, Nomad Jukebox, itp).
Obsługa odtwarzaczy przenośnych iPod
Obsługa odtwarzaczy przenośnych Microsoft Plays for Sure
Obsługa odtwarzaczy przenośnych USB, montowanych jako napędy
Obsługa urządzeń Windows Mobile