PAKIETY IKON WINAMPA

Pakiety ikon Winampa to kolekcja bibliotek ikon, które zawierają zbiór predefiniowanych ikonek, które wyświetlane są dla plików o rozszerzeniu określającym typy plików powiązanych z Winampem. Biblioteki ikon Winampa szczególnie dobrze wyglądają w nowoczesnych systemach Windows, gdzie możliwe jest ich wyświetlenie w dużym rozmiarze (256x256 pikseli, w zależności od ustawień Eksploratora plików).

Instalator pakietów ikon automatycznie zainstaluje wybrane biblioteki ikon oraz skonfiguruje system ustawiając domyślną bibliotekę ikon. Zawsze możesz zmienić domyślną bibliotekę ikon korzystając z preferencji programu Winamp lub WACUP.


Dotychczas przygotowałem kilka pakietów ikon. Każdy z nich zawiera wiele różnych bibliotek ikon, które różnią się od siebie wzorem, kolorem lub motywem. Możesz je pobrać korzystając z sekcji pobierania pakietów ikon Winampa lub dowiedzieć się więcej o każdym z nich klikając poniższe łącza.


Oprócz pakietów ikon dla Winampa, które przygotowałem osobiście istnieją jeszcze inne pakiety ikon. Jest ich kilka i naprawdę warto je sprawdzić. Być może są to właśnie te, których szukałeś!


WINAMP

Winamp jest odtwarzaczem multimedialnym, który pozwala na odtwarzanie większości formatów plików audio (w tym internetowych stacji radiowych) oraz wideo. Winamp współpracuje z przenośnymi odtwarzaczami multimedialnymi, pozwala na nagrywanie i zgrywanie płyt CD, posiada wbudowaną bibliotekę multimediów, korektor graficzny oraz wizualizacje. Dzięki zaawansowanemu mechanizmowi wtyczek ma możliwość praktycznie nieograniczonego rozszerzenia możliwości, zaś dzięki mechanizmowi skórek, może wyglądać jak tylko chcesz...


Aby móc używać pakietów ikon, musisz mieć zainstalowany program Winamp 5.58 (lub nowszy) wraz z wtyczką 'Jump to File Extra' (JTFE) lub program WACUP (który pozwala na użycie bibliotek ikon bez konieczności instalacji wtyczki JTFE).

Aby zmienić domyślną bibliotekę ikon w Winampie, otwórz preferencje Winampa (Ctrl + P), przejdź do strony 'Skok do pliku' > 'Dodatki' i zaznacz opcję "Włącz dodatkowe funkcje na stronie preferencji 'Typy plików'". Aby zmienić lub wybrać domyślną bibliotekę ikon Winampa użyj listy rozwijalnej, na której znajdują się wszystkie zainstalowane biblioteki ikon.



Dodatkowo, suwaki w polu 'Ikona pliku' & 'Ikona listy odtw.' na stronie "Preferencje > Typy plików" muszą być ustawione w pozycji maksymalnie na dół. Ta strona preferencji pozwala również na podgląd ikonek bieżącej biblioteki ikon, które wyświetlane są dla plików powiązanych z Winampem. Możesz również otworzyć w Eksploratorze plików dowolny katalog zawierający pliki skojarzone z Winampem i w czasie rzeczywistym zobaczyć zmianę wyglądu tych ikon.



Upewnij się, że Winamp jest domyślnym odtwarzaczem systemu Windows! Jeśli tak nie jest, ustaw Winampa domyślnym odtwarzaczem systemu Windows (Ustawienia->Aplikacje Domyślne->Odtwarzacz muzyczny).


WACUP

Zmiana domyślnej biblioteki ikon w programie WACUP wygląda całkiem podobnie jak w Winampie. Aby zmienić domyślną bibliotekę ikon w programie WACUP, otwórz preferencje WACUP (Ctrl + P), przejdź do strony 'Typy plików' > 'Powiązane pliki' i użyj listy rozwijalnej, aby wybrać odpowiednią bibliotekę ikon, która reprezentuje pliki domyślnie powiązane z programem WACUP. Można tutaj również znaleźć wszystkie inne opcje, które pozwalają na ustawienie programu WACUP domyślnym programem do obsługi odpowiednich plików w systemie Windows.



Specyfikacja techniczna

Pakiety ikon Winampa mogą występować w formie pojedyńczej biblioteki ikon (o rozszerzeniu .dll) lub w postaci instalatora, który zawiera ich zazwyczaj kilka (instalator może realizować też szereg innych przydatnych funkcji). W środowisku Microsoft Windows biblioteki łączone dynamicznie (Dynamic-Link Library) są bibliotekami współdzielonymi (shared library), które przechowują implementacje różnych podprogramów programu lub zasoby programu. Podprogramy i zasoby zawarte w bibliotece DLL mogą być wykorzystane bezpośrednio lub pośrednio (za pośrednictwem innej biblioteki DLL) przez dowolny plik wykonywalny. Właśnie ta ostatnia właściwość jest wykorzystywana w bibliotekach ikon Winampa - ikonki przechowywane są w zasobach biblioteki, które używane są przez program Winamp lub WACUP.

Biblioteki ikon mojego autorstwa zostały skompilowane w darmowym środowisku programowania Microsoft Visual Studio Community (w pełni funkcjonalne, rozszerzalne i bezpłatne środowisko IDE przeznaczone do tworzenia nowoczesnych aplikacji dla systemów Android, iOS i Windows, jak również aplikacji internetowych i usług w chmurze). Jeśli chcesz przygotować własną bibliotekę ikon dla Winampa możesz, jako podstawy, użyć specjalnie przygotowanych plików źródłowych Winamp Icon Pack Example Library (2.3 MiB). Zawierają one wszystko to co jest potrzebne do kompilacji własnej biblioteki dll, której można użyć w Winampie. Oczywiście, należy wcześniej wyedytować odpowiednie wpisy oraz stworzyć własne ikonki.


Jak już wspomniano, ikonki przechowywane są w tzw. zasobach programu (biblioteki). Czym zatem są zasoby? Zasoby programu (resources) są częścią pliku wykonywalnego lub biblioteki DLL w środowisku Windows. Pliki wykonywalne i biblioteki są podzielone na 2 segmenty: kod i dane (zasoby). W segmencie danych (zasobów) można umieścić następujące elementy:

  • dane interfejsu użytkownika (rozmiar, kolejność, rozmieszczenie, położenie itp.):
    • okna dialogowe (DIALOG, DIALOGEX)
    • menu (MENU)
  • łańcuchy znaków (STRINGTABLE)
  • kursory (CURSOR)
  • ikony programów (ICON)
  • bitmapy (BITMAP)
  • informacje o wersji pliku (VERSIONINFO)

Wymienione powyżej dane mogą być użyte w trakcie działania programu korzystając z interfejsu WinAPI. Dzięki zasobom segment danych programów w systemie Windows można łatwo modyfikować bez potrzeby dekompilacji/znajomości języków programowania specjalnymi programami, tzw edytorami zasobów (Restorator, Resource Hacker, PE Explorer, etc).

Zasoby definiowane są przez skrypt zasobów (plik tekstowy z rozszerzeniem .rc). Skrypt zasobów kompiluje się narzędziem odpowiednim dla używanego IDE/zestawu narzędzi programistycznych (wówczas kompilator zasobów wygeneruje plik .RES), by ostatecznie połączyć skompilowane zasoby z modułami kodu źródłowego programu/biblioteki DLL w procesie konsolidacji.

Poniżej zostaną dokładnie omówione zasoby, które używane są w bibliotekach ikon Winampa. Ich opis powstał na podstawie biblioteki ikon Azalea Icon Library z pakietu ikon Winamp Icon Pack. Do podglądu zasobów biblioteki ikon wykorzystano świetny edytor zasobów Restorator.

  • Tablica znaków (STRINGTABLE)

Biblioteka ikon Winampa definiuje 2 łańcuchy znaków. Pierwszy łańcuch znaków (stringID 0) informuje program, że mamy do czynienia z biblioteką ikon przeznaczoną dla Winampa. Drugi łańcuch znaków (stringID 1) informuje o nazwie biblioteki ikon oraz jej wersji. Poniżej znajduje się przykład użycia oraz definicja w pliku skryptu zasobów.


Łańcuch znaków (String)

STRINGTABLE
BEGIN
    0                       "WinampIconLibrary"
    1                       "Azalea Icon Library (1.1)"
END

  • Ikona (ICON)

Biblioteka ikon Winampa definiuje obecnie 94 ikony, które odpowiadają najważniejszym rozszerzeniom plików powiązanych z Winampem (Winamp obsługuje kilkaset rozszerzeń plików). Każda z ikon składa się z 4 ikon w następujących formatach: 16x16, 32x32, 48x48 oraz 256x256. Zapisane są one w 32 bitowej głębi kolorów. Poniżej znajduje się przykład użycia oraz definicja w pliku skryptu zasobów.


Ikona (Icon)

IDI_ICON1               ICON                    "ICON\\1.ico"	// AUDIO (Speaker)
IDI_ICON2               ICON                    "ICON\\2.ico"	// AUDIO (Waveform)
IDI_ICON3               ICON                    "ICON\\3.ico"	// VIDEO (Screen)
IDI_ICON4               ICON                    "ICON\\4.ico"	// VIDEO (Film)
IDI_ICON5               ICON                    "ICON\\5.ico"	// MIDI
IDI_ICON6               ICON                    "ICON\\6.ico"	// TRACKER/MOD
IDI_ICON7               ICON                    "ICON\\7.ico"	// CHIP/GAME
IDI_ICON8               ICON                    "ICON\\8.ico"	// PLAYLIST

IDI_ICON9               ICON                    "ICON\\9.ico"	// AAC - Audio
IDI_ICON10              ICON                    "ICON\\10.ico"	// AC3 - Audio
IDI_ICON11              ICON                    "ICON\\11.ico"	// ADX - Audio
IDI_ICON12              ICON                    "ICON\\12.ico"	// AIF - Audio
IDI_ICON13              ICON                    "ICON\\13.ico"	// AIFF - Audio
IDI_ICON14              ICON                    "ICON\\14.ico"	// AMR - Audio
IDI_ICON15              ICON                    "ICON\\15.ico"	// APE - Audio
IDI_ICON16              ICON                    "ICON\\16.ico"	// ASF - Video
IDI_ICON17              ICON                    "ICON\\17.ico"	// ASX - Playlist
IDI_ICON18              ICON                    "ICON\\18.ico"	// AU - Audio
IDI_ICON19              ICON                    "ICON\\19.ico"	// AVI - Video
IDI_ICON20              ICON                    "ICON\\20.ico"	// B4S - Playlist
IDI_ICON21              ICON                    "ICON\\21.ico"	// CDA - Audio
IDI_ICON22              ICON                    "ICON\\22.ico"	// FLA - Audio
IDI_ICON23              ICON                    "ICON\\23.ico"	// FLAC - Audio

IDI_ICON25              ICON                    "ICON\\25.ico"	// GSF - Audio
IDI_ICON26              ICON                    "ICON\\26.ico"	// GVI - Video
IDI_ICON27              ICON                    "ICON\\27.ico"	// GYM - Games
IDI_ICON28              ICON                    "ICON\\28.ico"	// IFF - Audio
IDI_ICON29              ICON                    "ICON\\29.ico"	// IT - Audio
IDI_ICON30              ICON                    "ICON\\30.ico"	// ITZ - Audio
IDI_ICON31              ICON                    "ICON\\31.ico"	// KAR - Audio
IDI_ICON32              ICON                    "ICON\\32.ico"	// M2V - Video
IDI_ICON33              ICON                    "ICON\\33.ico"	// M3U8 - Playlist
IDI_ICON34              ICON                    "ICON\\34.ico"	// M3U - Playlist
IDI_ICON35              ICON                    "ICON\\35.ico"	// M4A - Audio
IDI_ICON36              ICON                    "ICON\\36.ico"	// MID - Audio
IDI_ICON37              ICON                    "ICON\\37.ico"	// MIZ - Audio
IDI_ICON38              ICON                    "ICON\\38.ico"	// MOD - Audio
IDI_ICON39              ICON                    "ICON\\39.ico"	// MOV - Video
IDI_ICON40              ICON                    "ICON\\40.ico"	// MP1 - Audio
IDI_ICON41              ICON                    "ICON\\41.ico"	// MP2 - Audio
IDI_ICON42              ICON                    "ICON\\42.ico"	// MP3 - Audio
IDI_ICON43              ICON                    "ICON\\43.ico"	// MP4 - Video
IDI_ICON44              ICON                    "ICON\\44.ico"	// MPC - Audio
IDI_ICON45              ICON                    "ICON\\45.ico"	// MPG - Video
IDI_ICON46              ICON                    "ICON\\46.ico"	// MTM - Audio
IDI_ICON47              ICON                    "ICON\\47.ico"	// NSA - Audio
IDI_ICON48              ICON                    "ICON\\48.ico"	// NSF - Audio
IDI_ICON49              ICON                    "ICON\\49.ico"	// NSV - Video
IDI_ICON50              ICON                    "ICON\\50.ico"	// OGG - Audio
IDI_ICON51              ICON                    "ICON\\51.ico"	// OGM - Video
IDI_ICON52              ICON                    "ICON\\52.ico"	// OGV - Video
IDI_ICON53              ICON                    "ICON\\53.ico"	// PLS - Playlist
IDI_ICON54              ICON                    "ICON\\54.ico"	// PSF - Games
IDI_ICON55              ICON                    "ICON\\55.ico"	// RMI - Audio
IDI_ICON56              ICON                    "ICON\\56.ico"	// S3M - Audio
IDI_ICON57              ICON                    "ICON\\57.ico"	// S3Z - Audio
IDI_ICON58              ICON                    "ICON\\58.ico"	// SHN - Audio
IDI_ICON59              ICON                    "ICON\\59.ico"	// SID - Games
IDI_ICON60              ICON                    "ICON\\60.ico"	// SND - Audio
IDI_ICON61              ICON                    "ICON\\61.ico"	// STM - Audio
IDI_ICON62              ICON                    "ICON\\62.ico"	// SWF - Video
IDI_ICON63              ICON                    "ICON\\63.ico"	// ULT - Audio
IDI_ICON64              ICON                    "ICON\\64.ico"	// USF - Games
IDI_ICON65              ICON                    "ICON\\65.ico"	// VGM - Games
IDI_ICON66              ICON                    "ICON\\66.ico"	// VOC - Audio
IDI_ICON67              ICON                    "ICON\\67.ico"	// WAV - Audio
IDI_ICON68              ICON                    "ICON\\68.ico"	// WMA - Audio
IDI_ICON69              ICON                    "ICON\\69.ico"	// WMV - Video
IDI_ICON70              ICON                    "ICON\\70.ico"	// WPL - Playlist
IDI_ICON71              ICON                    "ICON\\71.ico"	// WV - Audio
IDI_ICON72              ICON                    "ICON\\72.ico"	// XM - Audio
IDI_ICON73              ICON                    "ICON\\73.ico"	// XSPF - Playlist
IDI_ICON74              ICON                    "ICON\\74.ico"	// WLZ - Language Pack
IDI_ICON75              ICON                    "ICON\\75.ico"	// WSZ - Skin
IDI_ICON76              ICON                    "ICON\\76.ico"	// OGA - Audio
IDI_ICON77              ICON                    "ICON\\77.ico"	// SPC - Games
IDI_ICON78              ICON                    "ICON\\78.ico"	// MKV - Video
IDI_ICON79              ICON                    "ICON\\79.ico"	// FLV - Video
IDI_ICON80              ICON                    "ICON\\80.ico"	// M4V - Video
IDI_ICON81              ICON                    "ICON\\81.ico"	// DIVX - Video
IDI_ICON82              ICON                    "ICON\\82.ico"	// XVID - Video
IDI_ICON83              ICON                    "ICON\\83.ico"	// 3GP - Video
IDI_ICON84              ICON                    "ICON\\84.ico"	// QSF - Audio
IDI_ICON85              ICON                    "ICON\\85.ico"	// AUD - Audio
IDI_ICON86              ICON                    "ICON\\86.ico"	// TTA - Audio
IDI_ICON87              ICON                    "ICON\\87.ico"	// OPUS - Audio
IDI_ICON88              ICON                    "ICON\\88.ico"	// WEBM - Video
IDI_ICON89              ICON                    "ICON\\89.ico"	// XI - Audio
IDI_ICON90              ICON                    "ICON\\90.ico"	// W64 - Audio
IDI_ICON91              ICON                    "ICON\\91.ico"	// RF64 - Audio
IDI_ICON92              ICON                    "ICON\\92.ico"	// RAW - Audio
IDI_ICON93              ICON                    "ICON\\93.ico"	// CAF - Audio
IDI_ICON94              ICON                    "ICON\\94.ico"	// APL - Audio
IDI_ICON95              ICON                    "ICON\\95.ico"	// MAC - Audio
  • Informacje o wersji pliku (VERSIONINFO)

Biblioteka ikon Winampa zawiera również informacje o wersji pliku. W tak zdefiniowanym bloku danych znajdują się następujące informacje:

  • Nazwa firmy (CompanyName) - Definiuje firmę lub podmiot, który stworzył bibliotekę ikon
  • Opis pliku (FileDescription) - Definiuje nazwę biblioteki ikon
  • Wersja pliku (FileVersion) - Definiuje wersję pliku biblioteki ikon
  • Wewnętrzna nazwa (InternalName) - Definiuje wewnętrzną nazwę pliku biblioteki ikon
  • Prawa autorskie (LegalCopyright) - Definiuje prawa autorskie pliku biblioteki ikon
  • Prawne znaki towarowe (LegalTrademarks) - Definiuje prawne znaki towarowe pliku biblioteki ikon
  • Oryginalna nazwa pliku (OriginalFilename) - Definiuje oryginalną nazwę pliku
  • Nazwa produktu (ProductName) - Definiuje nazwę pakietu ikon, z którym rozprowadzana jest ta biblioteka ikon
  • Wersja produktu (ProductVersion) - Definiuje wersję pliku pakietu ikon, z którym rozprowadzana jest ta biblioteka ikon
  • Komentarz (Comments) - Definiuje dodatkowe informacje o bibliotece ikon

Poniżej znajduje się przykład użycia oraz definicja w pliku skryptu zasobów.


Informacje o wersji

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,1,0,0
 PRODUCTVERSION 4,1,0,0
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "041504E2"
        BEGIN
            VALUE "CompanyName", "Paweł Porwisz"
            VALUE "FileDescription", "Azalea Icon Library"
            VALUE "FileVersion", "1.1.0.0"
            VALUE "InternalName", "WinampIconLibrary_Azalea"
            VALUE "LegalCopyright", "Copyright © 2010 - 2024 Paweł Porwisz"
            VALUE "LegalTrademarks", "Paweł Porwisz"
            VALUE "OriginalFilename", "WinampIconLibrary_Azalea.dll"
            VALUE "ProductName", "Winamp Icon Pack"
            VALUE "ProductVersion", "4.1.0.0"
            VALUE "Comments", "Azalea Icon Library (Violet)"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x415, 1250
    END
END