回転-ソースの読み取り方法(下)
( 4 ) - ,
, , 。 : AOL Winamp , , 。 AOL Winamp , 。
, 。 , , , 。
,
, UML 。 , , 。
, , , 。 , , 。
, 。 , , 。 , 。 , 。 , , 。 , UML , , , 。
, , , 。 , , 。
─ ─
, , MP3 , iPod 。
iPod , MP3 iPod , , 。
( iTunes ) , , ( , , ) 。 , AOL Winamp iPod ( ) 。
AOL Winamp , , iPod , 。
, , 。 , , AOL Winamp , , Windows DLL , winampGetMediaLibraryPlugin DLL , winampMediaLibraryPlugin 。
, , , 。 ? 。
, , C / C + + ( ) , , main ( ) 。 , , 。
, , ( ) , , ─ ─ , 。
, AOL Winamp iPod , , , , Windows DLL , , dllexport 。 , grep gtags , , DLL ( , ) , winampGetMediaLibraryPlugin 。
, 。
, , , 。 , , , , 。
, , 。 。 , , , 。
, , 。 , 。 “ ” 。
,
, “ ” , , 。 , , , 。
, “ ” 。 , , , , , DLL 。
DLL , winampGetMediaLibraryPlugin ( ) ( Windows , ( ) GetProcAddress ( ) ) 。 , 。
winampGetMediaLibraryPlugin ( ) winampMediaLibraryPlugin , AOL Winamp 。
gtags , , , , PluginMessageProc , 。 , , AOL Winamp 。
。 “ ” , , “ ” , PluginMessageProc ( , PluginMessageProc ) 。
“ ” , , , : AOL Winamp , , ; AOL Winamp , 。 AOL Winamp , , 。
, , , 。
( 5 ) - ,
, , , ─ 。 , , 。
, 。 , ( ) , , 。
AOL Winamp iPod , , , 。 , , :
● init ( ) :
● ( ) :
● PluginMessageProc ( ) :
,
, , init , , PluginMessageProc , 。 , 。
● init ( ) :
● itunesdb_init_cc ( ) : iTunes
●
● GUI
●
●
● autoDetectIpod ( ) : iPod
● ( ) :
● itunesdb_del_cc ( ) : iTunes
●
●
● PluginMessageProc ( ) :
● MessageProc ( )
。 , , 。 , , , 。
, , , , 。 , 。 init ( ) 。
init ( ) :
init ( ) (
itunesdb_init_cc ( ) ;
currentiPod = ;
= C_ItemList ;
...
conf_file = ( * ) SendMessage
( plugin.hwndWinampParent , WM_WA_IPC , 0 , IPC_GETINIFILE ) ;
m_treeview = GetDlgItem ( plugin.hwnd LibraryParent , 0x3fd ) ;
/ / : )
...
g_detectAll = GetPrivateProfileInt ( “ ml_ipod ” , “ detectAll ” , 0 , conf_file ) ! = 0 ;
...
g_log = GetPrivateProfileInt ( “ ml_ipod ” , “ ” , 0 , conf_file ) ! = 0 ;
...
g_logfile = ( g_logfilepath , “ A ” ) ;
...
autoDetectIpod ( ) ;
0 ;
)
, 。 init ( ) “ itunesdb_init_cc ( ) ; ” , ( ) , 。 :
currentiPod = ;
= C_ItemList ;
init ( ) 。 , 。 , 。
, , init_data_structure ( ) , 。 , , 。 , , , ─ ─ 。
,
, 。 “ itunesdb_init_cc ( ) ” , “ itunesdb_init ” iTunes , “ ” 。 , 。
。 iTunes , , ( ) 。
, , , , 。 , , itunesdb_init_cc ( ) : iTunes 。 , , 。
,
? “ ( ) ” 。 , , 。 , 。
, , 。 , , 。 , AOL Winamp iPod , iPod iTunes , MP3 , iPod 。
, parseIpodDb ( ) , 。 iPod , , 。
: , , , 。 , , 。 , , 。
, , , 。 ; , 。 , 。
( 6 ) - :
, , , , 。
, , 。 , , ( ) , 。
。 “ ” , , , “ ” , 。 , 。 , 。
, , 。 , , , , , 。 , 。
, , , 。 , “ ” 。
, 。 , , 。 , , 。 , , , 。
, , , , , 。 , , 。
, , ml_pod 。 AOL Winamp iPod 。 , 。 , 。
, 。 , , 。 ( ) , , autoDetectIpod ( ) , ( ) ( ) iPod 。
, , , 。 , , , 。 , parseIpodDb ( ) , ( ) iPod ( DB ) , parseIpodDb ( ) 。
, , , 。
。 , 。 , , 。
, , 。 , , , 。
,
, “ , 。 ” , 。
, , , 。 , , , 。
, 。 , , 。
, , 。 , , 。
, , 。 , , 。 ml_pod , , 。
, , 。 , , 。 ? ? , 。
, 。
, , , 。
,
, , “ ” ? , ─ ─ , , , , 。
, 。 , , , 。
, , , 。 , , , 。
, 。 , , 。 。
, , , 。