wince.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:19k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * wince.h: private WinCE interface descriptor
  3.  *****************************************************************************
  4.  * Copyright (C) 1999-2004 the VideoLAN team
  5.  * $Id: e7ccf3b8f8014a2e7cebbe9b99ff2d041408baee $
  6.  *
  7.  * Authors: Gildas Bazin <gbazin@videolan.org>
  8.  *          Marodon Cedric <cedric_marodon@yahoo.fr>
  9.  *
  10.  * This program is free software; you can redistribute it and/or modify
  11.  * it under the terms of the GNU General Public License as published by
  12.  * the Free Software Foundation; either version 2 of the License, or
  13.  * (at your option) any later version.
  14.  *
  15.  * This program is distributed in the hope that it will be useful,
  16.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18.  * GNU General Public License for more details.
  19.  *
  20.  * You should have received a copy of the GNU General Public License
  21.  * along with this program; if not, write to the Free Software
  22.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  23.  *****************************************************************************/
  24. #ifndef WINCE_RESOURCE
  25. #define SLIDER_HEIGHT 50
  26. #define SLIDER_MAX_POS 10000
  27. #define MENU_HEIGHT 26
  28. #define FILE_ACCESS 1
  29. #define NET_ACCESS 2
  30. #define OPEN_NORMAL 0
  31. #define OPEN_STREAM 1
  32. #if defined( UNDER_CE ) && defined(__MINGW32__)
  33.     /* This is a gross hack for the wince gcc cross-compiler */
  34. #   define _off_t long
  35. #endif
  36. #include "vlc_keys.h"
  37. #include <vlc_messages.h>
  38. #include <stdio.h>
  39. #include <string>
  40. #include <vector>
  41. using namespace std;
  42. class CBaseWindow;
  43. class MenuItemExt;
  44. class VideoWindow;
  45. /*****************************************************************************
  46.  * intf_sys_t: description and status of wxwindows interface
  47.  *****************************************************************************/
  48. struct intf_sys_t
  49. {
  50.     /* the parent window */
  51.     CBaseWindow         *p_window;
  52.     /* special actions */
  53.     bool          b_playing;
  54.     /* The input thread */
  55.     input_thread_t *    p_input;
  56.     /* The slider */
  57.     int                 i_slider_pos;                     /* slider position */
  58.     int                 i_slider_oldpos;                /* previous position */
  59.     bool          b_slider_free;                      /* slider status */
  60.     /* Playlist management */
  61.     int                 i_playing;                 /* playlist selected item */
  62.     /* Send an event to show a dialog */
  63.     void (*pf_show_dialog) ( intf_thread_t *p_intf, int i_dialog, int i_arg,
  64.                              intf_dialog_args_t *p_arg );
  65.     /* Dynamic Menu management */
  66.     vector<MenuItemExt*> *p_audio_menu;
  67.     vector<MenuItemExt*> *p_video_menu;
  68.     vector<MenuItemExt*> *p_navig_menu;
  69.     vector<MenuItemExt*> *p_settings_menu;
  70.     VideoWindow          *p_video_window;
  71.     HANDLE   thread_ready;
  72. };
  73. /*****************************************************************************
  74.  * Prototypes
  75.  *****************************************************************************/
  76. class CBaseWindow
  77. {
  78. public:
  79.     CBaseWindow( intf_thread_t *_p_intf = 0, CBaseWindow *_p_parent = 0,
  80.                  HINSTANCE _hInst = 0 )
  81.       : hWnd(0), hInst(_hInst), p_parent(_p_parent), p_intf(_p_intf) {};
  82.     virtual ~CBaseWindow() {};
  83.     HWND hWnd;                // The main window handle
  84.     static LRESULT CALLBACK BaseWndProc( HWND, UINT, WPARAM, LPARAM );
  85.     static int CreateDialogBox( HWND, CBaseWindow * );
  86.     HWND GetHandle() { return hWnd; }
  87.     BOOL Show( BOOL b_show ) { return (hWnd && ShowWindow(hWnd, b_show)); }
  88.     BOOL IsShown( void ) { return (hWnd && IsWindowVisible(hWnd)); }
  89. protected:
  90.     HINSTANCE       hInst;               // The current instance
  91.     HWND            hwndCB;              // The command bar handle
  92.     HINSTANCE       GetInstance () const { return hInst; }
  93.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM ) { return 0; };
  94.     CBaseWindow     *p_parent;
  95.     intf_thread_t   *p_intf;
  96. };
  97. class FileInfo;
  98. class Messages;
  99. class Playlist;
  100. class Timer;
  101. class OpenDialog;
  102. class PrefsDialog;
  103. CBaseWindow *CreateDialogsProvider( intf_thread_t *, CBaseWindow *, HINSTANCE);
  104. CBaseWindow *CreateVideoWindow( intf_thread_t *, HWND );
  105. void PopupMenu( intf_thread_t *, HWND, POINT );
  106. /* Main Interface */
  107. class Interface : public CBaseWindow
  108. {
  109. public:
  110.     /* Constructor */
  111.     Interface( intf_thread_t *, CBaseWindow *, HINSTANCE );
  112.     ~Interface();
  113.     BOOL InitInstance();
  114.     HWND CreateMenuBar( HWND, HINSTANCE );
  115.     void TogglePlayButton( int i_playing_status );
  116.     void Update();
  117.     HWND hwndMain;      // Handle to the main window.
  118.     HWND hwndCB;        // Handle to the command bar (contains menu)
  119.     HWND hwndTB;        // Handle to the toolbar.
  120.     HWND hwndSlider;       // Handle to the Sliderbar.
  121.     HWND hwndLabel;
  122.     HWND hwndVol;          // Handle to the volume trackbar.
  123.     HWND hwndSB;        // Handle to the status bar.
  124.     HMENU hPopUpMenu;
  125.     HMENU hMenu;
  126.     Timer *timer;
  127.     CBaseWindow *video;
  128. protected:
  129.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
  130.     void OnShowDialog( int );
  131.     void OnPlayStream( void );
  132.     void OnStopStream( void );
  133.     void OnPrevStream( void );
  134.     void OnNextStream( void );
  135.     void OnSlowStream( void );
  136.     void OnFastStream( void );
  137.     void OnVideoOnTop( void );
  138.     void OnSliderUpdate( int wp );
  139.     void OnChange( int wp );
  140.     void VolumeChange( int i_volume );
  141.     void VolumeUpdate( void );
  142.     int i_old_playing_status;
  143. private:
  144.     HMENU menu_settings;
  145.     HMENU menu_video;
  146.     HMENU menu_audio;
  147.     HMENU menu_navigation;
  148.     bool b_volume_hold;
  149. };
  150. /* File Info */
  151. class FileInfo : public CBaseWindow
  152. {
  153. public:
  154.     /* Constructor */
  155.     FileInfo( intf_thread_t *, CBaseWindow *, HINSTANCE );
  156.     virtual ~FileInfo(){};
  157.     void UpdateFileInfo(void);
  158. protected:
  159.     HWND hwnd_fileinfo;                 // handle to fileinfo window
  160.     HWND hwndTV;                                // handle to tree-view control
  161.     TCHAR szFileInfoClassName[100];     // Main window class name
  162.     TCHAR szFileInfoTitle[100];         // Main window name
  163.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
  164.     BOOL CreateTreeView( HWND );
  165. };
  166. struct msg_cb_data_t
  167. {
  168.     Messages *self;
  169. };
  170. /* Messages */
  171. class Messages : public CBaseWindow
  172. {
  173. public:
  174.     /* Constructor */
  175.     Messages( intf_thread_t *, CBaseWindow *, HINSTANCE );
  176.      ~Messages();
  177.     static void sinkMessage (msg_cb_data_t *, msg_item_t *, unsigned);
  178.     void sinkMessage (msg_item_t *item, unsigned);
  179. protected:
  180.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
  181.     /* The messages window */
  182.     msg_subscription_t* sub;                  /* message bank subscription */
  183.     msg_cb_data_t *cb_data;
  184.     HWND hListView;
  185.     bool b_verbose;
  186. };
  187. /* ItemInfo Dialog */
  188. class ItemInfoDialog : public CBaseWindow
  189. {
  190. public:
  191.     /* Constructor */
  192.     ItemInfoDialog( intf_thread_t *, CBaseWindow *,
  193.                     HINSTANCE, playlist_item_t * );
  194.     virtual ~ItemInfoDialog(){};
  195. protected:
  196.     intf_thread_t *p_intf;
  197.     HWND hwndCB;        // Handle to the command bar (but no menu)
  198.     playlist_item_t *p_item;
  199.     /* Event handlers (these functions should _not_ be virtual) */
  200.     void OnOk();
  201.     void UpdateInfo();
  202.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
  203.     /* Controls for the iteminfo dialog box */
  204.     HWND uri_label;
  205.     HWND uri_text;
  206.     HWND name_label;
  207.     HWND name_text;
  208.     HWND checkbox_label;
  209.     HWND enabled_checkbox;
  210.     HWND info_tree;
  211. };
  212. /* Open Dialog */
  213. class SubsFileDialog;
  214. class OpenDialog : public CBaseWindow
  215. {
  216. public:
  217.     /* Constructor */
  218.     OpenDialog( intf_thread_t *, CBaseWindow *, HINSTANCE, int, int );
  219.     virtual ~OpenDialog(){};
  220.     void UpdateMRL();
  221.     void UpdateMRL( int i_access_method );
  222.     HWND file_combo;
  223. protected:
  224.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
  225.     HWND mrl_box;
  226.     HWND mrl_label;
  227.     HWND mrl_combo;
  228.     HWND label;
  229.     HWND notebook;
  230.     HWND browse_button;
  231.     HWND subsfile_checkbox;
  232.     HWND subsfile_label;
  233.     HWND subsfile_button;
  234.     SubsFileDialog *subsfile_dialog;
  235.     HWND net_radios[4];
  236.     HWND net_label[4];
  237.     HWND net_port_label[4];
  238.     HWND net_ports[4];
  239.     HWND hUpdown[4];
  240.     int i_net_ports[4];
  241.     HWND net_addrs_label[4];
  242.     HWND net_addrs[4];
  243.     int i_open_arg;
  244.     int i_access;
  245.     int i_net_type;
  246.     void FilePanel( HWND hwnd );
  247.     void NetPanel( HWND hwnd );
  248.     void OnSubsFileEnable();
  249.     void OnSubsFileSettings( HWND hwnd );
  250.     void OnPageChange();
  251.     void OnFilePanelChange();
  252.     void OnFileBrowse();
  253.     void OnNetPanelChange( int event );
  254.     void OnNetTypeChange( int event );
  255.     void DisableNETCtrl();
  256.     void OnOk();
  257.     vector<string> mrl;
  258.     vector<string> subsfile_mrl;
  259. };
  260. /* Subtitles File Dialog */
  261. class SubsFileDialog: public CBaseWindow
  262. {
  263. public:
  264.     /* Constructor */
  265.     SubsFileDialog( intf_thread_t *, CBaseWindow *, HINSTANCE );
  266.     virtual ~SubsFileDialog(){};
  267.     vector<string> subsfile_mrl;
  268.     HWND file_combo;
  269. protected:
  270.     friend class OpenDialog;
  271.     HWND file_box;
  272.     HWND browse_button;
  273.     HWND enc_box;
  274.     HWND enc_label;
  275.     HWND encoding_combo;
  276.     HWND misc_box;
  277.     HWND delay_label;
  278.     HWND delay_edit;
  279.     HWND delay_spinctrl;
  280.     HWND fps_label;
  281.     HWND fps_edit;
  282.     HWND fps_spinctrl;
  283.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
  284.     /* Event handlers (these functions should _not_ be virtual) */
  285.     void OnFileBrowse();
  286. };
  287. /* Playlist */
  288. class Playlist : public CBaseWindow
  289. {
  290. public:
  291.     /* Constructor */
  292.     Playlist( intf_thread_t *, CBaseWindow *, HINSTANCE );
  293.     virtual ~Playlist(){};
  294.     void UpdatePlaylist();
  295.     void ShowPlaylist( bool );
  296. protected:
  297.     bool b_need_update;
  298.     vlc_mutex_t lock;
  299.     int i_title_sorted;
  300.     int i_author_sorted;
  301.     HWND hwndCB;        // Handle to the command bar (contains menu)
  302.     HWND hwndTB;        // Handle to the toolbar.
  303.     HWND hListView;
  304.     void Rebuild();
  305.     void UpdateItem( int );
  306.     LRESULT ProcessCustomDraw( LPARAM lParam );
  307.     void HandlePopupMenu( HWND hwnd, POINT point);
  308.     void DeleteItem( int item );
  309.     void OnOpen();
  310.     void OnSave();
  311.     void OnDeleteSelection();
  312.     void OnInvertSelection();
  313.     void OnEnableSelection();
  314.     void OnDisableSelection();
  315.     void OnSelectAll();
  316.     void OnActivateItem( int i_item );
  317.     void ShowInfos( HWND hwnd, int i_item );
  318.     void OnUp();
  319.     void OnDown();
  320.     void OnRandom();
  321.     void OnLoop();
  322.     void OnRepeat();
  323.     void OnSort( UINT event );
  324.     void OnColSelect( int iSubItem );
  325.     void OnPopupPlay();
  326.     void OnPopupDel();
  327.     void OnPopupEna();
  328.     void OnPopupInfo( HWND hwnd );
  329.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
  330. };
  331. /* Timer */
  332. class Timer
  333. {
  334. public:
  335.     /* Constructor */
  336.     Timer( intf_thread_t *p_intf, HWND hwnd, Interface *_p_main_interface );
  337.     virtual ~Timer();
  338.     void Notify( void );
  339. private:
  340.     intf_thread_t *p_intf;
  341.     Interface *p_main_interface;
  342.     //Interface *p_main_interface;
  343.     int i_old_playing_status;
  344.     int i_old_rate;
  345. };
  346. /* Menus */
  347. void RefreshSettingsMenu( intf_thread_t *_p_intf, HMENU hMenu );
  348. void RefreshAudioMenu( intf_thread_t *_p_intf, HMENU hMenu );
  349. void RefreshVideoMenu( intf_thread_t *_p_intf, HMENU hMenu );
  350. void RefreshNavigMenu( intf_thread_t *_p_intf, HMENU hMenu );
  351. void RefreshMenu( intf_thread_t *, vector<MenuItemExt*> *, HMENU, int,
  352.                   char **, vlc_object_t **, int );
  353. int wce_GetMenuItemCount( HMENU );
  354. void CreateMenuItem( intf_thread_t *, vector<MenuItemExt*> *, HMENU, char *,
  355.                      vlc_object_t *, int * );
  356. HMENU CreateChoicesMenu( intf_thread_t *, vector<MenuItemExt*> *, char *,
  357.                          vlc_object_t *, int * );
  358. void OnMenuEvent( intf_thread_t *, int );
  359. /*****************************************************************************
  360.  * A small helper class which encapsulate wxMenuitem with some other useful
  361.  * things.
  362.  *****************************************************************************/
  363. class MenuItemExt
  364. {
  365. public:
  366.     /* Constructor */
  367.     MenuItemExt( intf_thread_t *_p_intf, int _id, char *_psz_var,
  368.                  vlc_object_t * p_object, vlc_value_t _val, int _i_val_type );
  369.     virtual ~MenuItemExt();
  370.     static void ClearList( vector<MenuItemExt*> * );
  371.     int id;
  372.     intf_thread_t *p_intf;
  373.     char *psz_var;
  374.     int  i_val_type;
  375.     vlc_object_t * p_object;
  376.     vlc_value_t val;
  377. private:
  378. };
  379. /* Preferences Dialog */
  380. /* Preferences Dialog */
  381. class PrefsTreeCtrl;
  382. class PrefsDialog: public CBaseWindow
  383. {
  384. public:
  385.     /* Constructor */
  386.     PrefsDialog( intf_thread_t *, CBaseWindow *, HINSTANCE );
  387.     virtual ~PrefsDialog(){};
  388. protected:
  389.     /* Event handlers (these functions should _not_ be virtual) */
  390.     void OnOk( void );
  391.     /*void OnCancel( UINT event );
  392.     void OnSave( UINT event );
  393.     void OnResetAll( UINT event );
  394.     void OnAdvanced( UINT event );*/
  395.     HWND save_button;
  396.     HWND reset_button;
  397.     HWND advanced_checkbox;
  398.     HWND advanced_label;
  399.     PrefsTreeCtrl *prefs_tree;
  400.     virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
  401. };
  402. /*****************************************************************************
  403.  * A small helper function for utf8 <-> unicode conversions
  404.  *****************************************************************************/
  405. #ifdef UNICODE
  406.     extern wchar_t pwsz_mbtow_wince[2048];
  407.     extern char psz_wtomb_wince[2048];
  408.     static inline wchar_t *_FROMMB( const char *psz_in )
  409.     {
  410.         mbstowcs( pwsz_mbtow_wince, psz_in, 2048 );
  411.         pwsz_mbtow_wince[2048-1] = 0;
  412.         return pwsz_mbtow_wince;
  413.     }
  414.     static inline char *_TOMB( const wchar_t *pwsz_in )
  415.     {
  416.         wcstombs( psz_wtomb_wince, pwsz_in, 2048 );
  417.         psz_wtomb_wince[2048-1] = 0;
  418.         return psz_wtomb_wince;
  419.     }
  420. #else
  421. #   define _FROMMB(a) a
  422. #   define _TOMB(a) a
  423. #endif
  424. /*****************************************************************************
  425.  * Misc definitions (mainly from aygshell.h)
  426.  *****************************************************************************/
  427. #define _WIN32_IE 0x0500
  428. #define SHFS_SHOWSIPBUTTON          0x0004
  429. #define SHFS_HIDESIPBUTTON          0x0008
  430. #define SHIDIM_FLAGS                0x0001
  431. #define SHIDIF_DONEBUTTON           0x0001
  432. #define SHIDIF_SIPDOWN              0x0008
  433. #define SHIDIF_FULLSCREENNOMENUBAR  0x0010
  434. #define SHCMBF_HMENU                0x0010
  435. #define SHCMBF_EMPTYBAR             0x0001
  436. #define GN_CONTEXTMENU              1000
  437. #define SHRG_RETURNCMD              0x0001
  438. #define SHRG_NOTIFYPARENT           0x0002
  439. #define SHCMBM_GETSUBMENU           (WM_USER + 401)
  440. #define SHCMBM_GETMENU              (WM_USER + 402)
  441. #ifndef TBSTYLE_NO_DROPDOWN_ARROW
  442. #define TBSTYLE_NO_DROPDOWN_ARROW   0x0080
  443. #endif
  444. #define lstrlenW wcslen
  445. #define SHGetMenu(hwnd) 
  446.     (HMENU)SendMessage((hwnd), SHCMBM_GETMENU, (WPARAM)0, (LPARAM)0)
  447. #define TrackPopupMenu(hm,u,x,y,r,hw,p) 
  448.     TrackPopupMenuEx((hm),(u),(x),(y),(hw),0)
  449. extern "C" {
  450.     typedef struct tagSHMENUBARINFO
  451.     {
  452.         DWORD cbSize;
  453.         HWND hwndParent;
  454.         DWORD dwFlags;
  455.         UINT nToolBarId;
  456.         HINSTANCE hInstRes;
  457.         int nBmpId;
  458.         int cBmpImages;
  459.         HWND hwndMB;
  460.         COLORREF clrBk;
  461.     } SHMENUBARINFO, *PSHMENUBARINFO;
  462.     BOOL SHCreateMenuBar( SHMENUBARINFO *pmbi );
  463.     BOOL SHFullScreen(HWND hwndRequester, DWORD dwState);
  464.     typedef struct tagSHINITDLGINFO
  465.     {
  466.         DWORD dwMask;
  467.         HWND  hDlg;
  468.         DWORD dwFlags;
  469.     } SHINITDLGINFO, *PSHINITDLGINFO;
  470.     BOOL SHInitDialog(PSHINITDLGINFO pshidi);
  471.     typedef struct tagNMRGINFO
  472.     {
  473.         NMHDR hdr;
  474.         POINT ptAction;
  475.         DWORD dwItemSpec;
  476.     } NMRGINFO, *PNMRGINFO;
  477.     BOOL WINAPI CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD);
  478.     typedef struct tagSHRGI
  479.     {
  480.         DWORD cbSize;
  481.         HWND hwndClient;
  482.         POINT ptDown;
  483.         DWORD dwFlags;
  484.     } SHRGINFO, *PSHRGINFO;
  485.     DWORD SHRecognizeGesture(SHRGINFO *shrg);
  486.     typedef enum tagSIPSTATE
  487.     {
  488.         SIP_UP = 0,
  489.         SIP_DOWN,
  490.         SIP_FORCEDOWN,
  491.         SIP_UNCHANGED,
  492.         SIP_INPUTDIALOG,
  493.     } SIPSTATE;
  494.     BOOL SHSipPreference(HWND, SIPSTATE);
  495.     BOOL SHSipInfo(UINT, UINT, PVOID, UINT);
  496.     typedef struct
  497.     {
  498.         DWORD cbSize;
  499.         DWORD fdwFlags;
  500.         RECT rcVisibleDesktop;
  501.         RECT rcSipRect;
  502.         DWORD dwImDataSize;
  503.         VOID *pvImData;
  504.     } SIPINFO;
  505. }
  506. #if defined( WIN32 ) && !defined( UNDER_CE )
  507. #   define SHFullScreen(a,b)
  508. #   define SHInitDialog(a)
  509. #   define SHCreateMenuBar(a) 1
  510. #   define SHRecognizeGesture(a) 0
  511. #   define SHSipPreference(a,b)
  512. #   define SHSipInfo(a,b,c,d) 0
  513. #endif
  514. #endif //WINCE_RESOURCE
  515. #define IDD_ABOUT                       101
  516. #define IDI_ICON1                       102
  517. #define IDB_BITMAP1                     103
  518. #define IDB_BITMAP2                     111
  519. #define IDR_MENUBAR1                    113
  520. #define IDD_FILEINFO                    118
  521. #define IDD_DUMMY                       118
  522. #define IDD_MESSAGES                    119
  523. #define IDR_MENUBAR                     120
  524. #define IDR_MENUBAR2                    121
  525. #define IDD_PLAYLIST                    122
  526. #define IDB_BITMAP3                     123
  527. #define IDD_ITEMINFO                    124
  528. #define IDCLEAR                         1001
  529. #define IDSAVEAS                        1002
  530. #define ID_FILE                         40028
  531. #define ID_VIEW                         40030
  532. #define ID_SETTINGS                     40032
  533. #define ID_AUDIO                        40034
  534. #define ID_EMPTY                        40034
  535. #define ID_VIDEO                        40036
  536. #define ID_NAVIGATION                   40038
  537. #define IDM_FILE                        40042
  538. #define IDM_VIEW                        40044
  539. #define IDM_SETTINGS                    40046
  540. #define IDM_AUDIO                       40048
  541. #define IDM_VIDEO                       40050
  542. #define IDM_NAVIGATION                  40053
  543. #define ID_FILE_QUICKOPEN               40057
  544. #define ID_FILE_OPENFILE                40058
  545. #define ID_FILE_OPENDIR                 40059
  546. #define ID_FILE_OPENNET                 40060
  547. #define ID_FILE_EXIT                    40061
  548. #define ID_VIEW_PLAYLIST                40063
  549. #define ID_VIEW_MESSAGES                40064
  550. #define ID_VIEW_MEDIAINFO               40065
  551. #define ID_VIEW_STREAMINFO              40066
  552. #define ID_PREFERENCES                  40071
  553. #define ID_FILE_ABOUT                   40069
  554. #define IDM_MANAGE                      40087
  555. #define IDM_SORT                        40088
  556. #define IDM_SEL                         40089
  557. #define ID_SORT_AUTHOR                  40091
  558. #define ID_SORT_RAUTHOR                 40092
  559. #define ID_SORT_SHUFFLE                 40095
  560. #define ID_SEL_INVERT                   40096
  561. #define ID_SEL_DELETE                   40097
  562. #define ID_SEL_SELECTALL                40098
  563. #define ID_SEL_ENABLE                   40100
  564. #define ID_SEL_DISABLE                  40101
  565. #define ID_SORT_TITLE                   40102
  566. #define ID_SORT_RTITLE                  40103
  567. #define ID_MANAGE_ADDFILE               40104
  568. #define ID_MANAGE_ADDDIRECTORY          40105
  569. #define ID_MANAGE_ADDMRL                40106
  570. #define ID_MANAGE_OPENPL                40107
  571. #define ID_MANAGE_SAVEPL                40108
  572. #define StopStream_Event                57601
  573. #define PlayStream_Event                57602
  574. #define PrevStream_Event                57603
  575. #define NextStream_Event                57604
  576. #define SlowStream_Event                57605
  577. #define FastStream_Event                57606