]> git.sesse.net Git - vlc/commitdiff
* modules/gui/wince: added a popup menu for the main interface.
authorGildas Bazin <gbazin@videolan.org>
Mon, 28 Feb 2005 20:51:32 +0000 (20:51 +0000)
committerGildas Bazin <gbazin@videolan.org>
Mon, 28 Feb 2005 20:51:32 +0000 (20:51 +0000)
modules/gui/wince/interface.cpp
modules/gui/wince/menus.cpp
modules/gui/wince/timer.cpp
modules/gui/wince/wince.cpp
modules/gui/wince/wince.h

index 65913cd68ac90f6e0489cf0d70d1611b184ebfc9..4389aca7034a6bde7ce8d20f780adcc7e6f24854 100644 (file)
@@ -63,7 +63,6 @@
 #define HELP_FILEINFO   _T("Show information about the file being played")
 
 #define HELP_PREFS _T("Go to the preferences menu")
-#define EXTRA_PREFS _T("Shows the extended GUI")
 
 #define HELP_ABOUT _T("About this program")
 
@@ -194,12 +193,12 @@ static HWND CreateMenuBar( HWND hwnd, HINSTANCE hInst )
 #endif
 
     AppendMenu( hmenu_file, MF_STRING, ID_FILE_QUICKOPEN,
-                _T("Quick &Open File") );
+                _T("Quick &Open File...") );
     AppendMenu( hmenu_file, MF_SEPARATOR, 0, 0 );
     AppendMenu( hmenu_file, MF_STRING, ID_FILE_OPENFILE,
-                _T("Open &File") );
+                _T("Open &File...") );
     AppendMenu( hmenu_file, MF_STRING, ID_FILE_OPENNET,
-                _T("Open Network Stream") );
+                _T("Open &Network Stream...") );
     AppendMenu( hmenu_file, MF_SEPARATOR, 0, 0 );
     AppendMenu( hmenu_file, MF_STRING, ID_FILE_ABOUT,
                 _T("About VLC") );
@@ -207,15 +206,13 @@ static HWND CreateMenuBar( HWND hwnd, HINSTANCE hInst )
                 _T("E&xit") );
 
     AppendMenu( hmenu_view, MF_STRING, ID_VIEW_PLAYLIST,
-                _T("&Playlist") );
+                _T("&Playlist...") );
     AppendMenu( hmenu_view, MF_STRING, ID_VIEW_MESSAGES,
-                _T("&Messages") );
+                _T("&Messages...") );
     AppendMenu( hmenu_view, MF_STRING, ID_VIEW_STREAMINFO,
-                _T("&Stream and Media info") );
+                _T("Stream and Media &info...") );
 
-    AppendMenu( hmenu_settings, MF_STRING, ID_SETTINGS_EXTEND,
-                _T("&Extended GUI") );
-    AppendMenu( hmenu_settings, MF_STRING, ID_SETTINGS_PREF,
+    AppendMenu( hmenu_settings, MF_STRING, ID_PREFERENCES,
                 _T("&Preferences...") );
 
 
@@ -461,7 +458,7 @@ int CBaseWindow::CreateDialogBox( HWND hwnd, CBaseWindow *p_obj )
         DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_SIZEBOX;
 
     return DialogBoxIndirectParam( GetModuleHandle(0), p_dlg_template, hwnd,
-                                  (DLGPROC)p_obj->BaseWndProc, (LPARAM)p_obj );
+                                   (DLGPROC)p_obj->BaseWndProc, (LPARAM)p_obj );
 }
 
 /***********************************************************************
@@ -481,7 +478,7 @@ LRESULT CALLBACK CBaseWindow::BaseWndProc( HWND hwnd, UINT msg, WPARAM wParam,
     {
         p_obj = (CBaseWindow *)(((LPCREATESTRUCT)lParam)->lpCreateParams);
         SetWindowLong( hwnd, GWL_USERDATA,
-                      (LONG)((LPCREATESTRUCT)lParam)->lpCreateParams );
+                       (LONG)((LPCREATESTRUCT)lParam)->lpCreateParams );
 
         p_obj->hWnd = hwnd;
     }
@@ -540,45 +537,45 @@ LRESULT CALLBACK Interface::WndProc( HWND hwnd, UINT msg, WPARAM wp,
         {
         case ID_FILE_QUICKOPEN: 
             OnOpenFileSimple();
-           break;
+            break;
 
         case ID_FILE_OPENFILE: 
-           open = new OpenDialog( p_intf, hInst, FILE_ACCESS,
-                                  ID_FILE_OPENFILE, OPEN_NORMAL );
-           CreateDialogBox( hwnd, open );
-           delete open;
-           break;
+            open = new OpenDialog( p_intf, hInst, FILE_ACCESS,
+                                   ID_FILE_OPENFILE, OPEN_NORMAL );
+            CreateDialogBox( hwnd, open );
+            delete open;
+            break;
 
         case ID_FILE_OPENNET:
             open = new OpenDialog( p_intf, hInst, NET_ACCESS, ID_FILE_OPENNET,
                                    OPEN_NORMAL );
-           CreateDialogBox( hwnd, open );
+            CreateDialogBox( hwnd, open );
             delete open;
-           break;
+            break;
 
         case PlayStream_Event: 
             OnPlayStream();
-           break;
+            break;
 
         case StopStream_Event: 
             OnStopStream();
-           break;
+            break;
 
         case PrevStream_Event: 
             OnPrevStream();
-           break;
+            break;
 
         case NextStream_Event: 
             OnNextStream();
-           break;
+            break;
 
         case SlowStream_Event: 
             OnSlowStream();
-           break;
+            break;
 
         case FastStream_Event: 
             OnFastStream();
-           break;
+            break;
 
         case ID_FILE_ABOUT: 
         {
@@ -590,36 +587,36 @@ LRESULT CALLBACK Interface::WndProc( HWND hwnd, UINT msg, WPARAM wp,
 
             MessageBox( hwnd, _FROMMB(about.c_str()),
                         _T("About VLC media player"), MB_OK );
-           break;
+            break;
         }
 
         case ID_FILE_EXIT:
             SendMessage( hwnd, WM_CLOSE, 0, 0 );
-           break;
+            break;
 
         case ID_VIEW_STREAMINFO:
             fi = new FileInfo( p_intf, hInst );
-           CreateDialogBox( hwnd, fi );
+            CreateDialogBox( hwnd, fi );
             delete fi;
-           break;
+            break;
 
         case ID_VIEW_MESSAGES:
             hmsg = new Messages( p_intf, hInst );
-           CreateDialogBox( hwnd, hmsg );
+            CreateDialogBox( hwnd, hmsg );
             delete hmsg;
-           break;
+            break;
 
         case ID_VIEW_PLAYLIST:
             pl = new Playlist( p_intf, hInst );
-           CreateDialogBox( hwnd, pl );
+            CreateDialogBox( hwnd, pl );
             delete pl;
-           break;
+            break;
 
-        case ID_SETTINGS_PREF:
+        case ID_PREFERENCES:
             pref = new PrefsDialog( p_intf, hInst );
-           CreateDialogBox( hwnd, pref );
+            CreateDialogBox( hwnd, pref );
             delete pref;
-           break;
+            break;
                   
         default:
             OnMenuEvent( p_intf, GET_WM_COMMAND_ID(wp,lp) );
@@ -687,20 +684,34 @@ LRESULT CALLBACK Interface::WndProc( HWND hwnd, UINT msg, WPARAM wp,
                          WM_NOTIFY, wp, lp );
         return lResult;
 #endif
-       break;
+        break;
+
+    case WM_LBUTTONDOWN:
+        {
+            SHRGINFO shrg;
+            shrg.cbSize = sizeof( shrg );
+            shrg.hwndClient = hwnd;
+            shrg.ptDown.x = LOWORD(lp);
+            shrg.ptDown.y = HIWORD(lp);
+            shrg.dwFlags = SHRG_RETURNCMD ;
+
+            if( SHRecognizeGesture( &shrg ) == GN_CONTEXTMENU )
+                PopupMenu( p_intf, hwnd, shrg.ptDown );
+        }
+        break;
 
     case WM_HELP:
         MessageBox (hwnd, _T("Help"), _T("Help"), MB_OK);
-       break;
+        break;
 
     case WM_CLOSE:
         DestroyWindow( hwndCB );
         DestroyWindow( hwnd );
-       break;
+        break;
 
     case WM_DESTROY:
         PostQuitMessage( 0 );
-       break;
+        break;
     }
 
     return DefWindowProc( hwnd, msg, wp, lp );
index d8878b376ed6f94b61fd28923136a051b994c4b5..c1ec2bb1148a2a3344b583d70e0f427b627f348e 100644 (file)
@@ -54,6 +54,187 @@ enum
     PopupMenu_Events = 6000
 };
 
+HMENU OpenStreamMenu( intf_thread_t *p_intf )
+{
+    HMENU hmenu = CreatePopupMenu();
+    AppendMenu( hmenu, MF_STRING, ID_FILE_QUICKOPEN,
+                _T("Quick &Open File...") );
+    AppendMenu( hmenu, MF_STRING, ID_FILE_OPENFILE,
+                _T("Open &File...") );
+    AppendMenu( hmenu, MF_STRING, ID_FILE_OPENNET,
+                _T("Open &Network Stream...") );
+    return hmenu;
+}
+
+HMENU MiscMenu( intf_thread_t *p_intf )
+{
+    HMENU hmenu = CreatePopupMenu();
+    AppendMenu( hmenu, MF_STRING, ID_VIEW_STREAMINFO, _T("Media &Info...") );
+    AppendMenu( hmenu, MF_STRING, ID_VIEW_MESSAGES, _T("&Messages...") );
+    AppendMenu( hmenu, MF_STRING, ID_PREFERENCES, _T("&Preferences...") );
+    return hmenu;
+}
+
+void PopupMenu( intf_thread_t *p_intf, HWND p_parent, POINT point )
+{
+#define MAX_POPUP_ITEMS 45
+
+    vlc_object_t *p_object, *p_input;
+    char *ppsz_varnames[MAX_POPUP_ITEMS];
+    int pi_objects[MAX_POPUP_ITEMS];
+    vector<MenuItemExt*>::iterator iter;
+    int i = 0, i_last_separator = 0;
+
+    /* Initializations */
+    memset( pi_objects, 0, MAX_POPUP_ITEMS * sizeof(int) );
+
+    /* Input menu */
+    p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
+                                                FIND_ANYWHERE );
+    if( p_object != NULL )
+    {
+        ppsz_varnames[i] = "bookmark";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "title";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "chapter";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "program";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "navigation";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "dvd_menus";
+        pi_objects[i++] = p_object->i_object_id;
+
+        ppsz_varnames[i] = "video-es";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "audio-es";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "spu-es";
+        pi_objects[i++] = p_object->i_object_id;
+    }
+    p_input = p_object;
+    if( !p_input ) goto interfacemenu;
+
+    /* Video menu */
+    if( i != i_last_separator ) ppsz_varnames[i++] = NULL; /* Separator */
+    i_last_separator = i;
+
+    p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
+                                                FIND_ANYWHERE );
+    if( p_object != NULL )
+    {
+        vlc_object_t *p_dec_obj;
+
+        ppsz_varnames[i] = "fullscreen";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "zoom";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "deinterlace";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "aspect-ratio";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "crop";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "video-on-top";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "directx-wallpaper";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "video-snapshot";
+        pi_objects[i++] = p_object->i_object_id;
+
+        p_dec_obj = (vlc_object_t *)vlc_object_find( p_object,
+                                                     VLC_OBJECT_DECODER,
+                                                     FIND_PARENT );
+        if( p_dec_obj != NULL )
+        {
+            ppsz_varnames[i] = "ffmpeg-pp-q";
+            pi_objects[i++] = p_dec_obj->i_object_id;
+            vlc_object_release( p_dec_obj );
+        }
+
+        vlc_object_release( p_object );
+    }
+
+    /* Audio menu */
+    if( i != i_last_separator ) ppsz_varnames[i++] = NULL; /* Separator */
+    i_last_separator  = i;
+
+    p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,
+                                                FIND_ANYWHERE );
+    if( p_object != NULL )
+    {
+        ppsz_varnames[i] = "audio-device";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "audio-channels";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "visual";
+        pi_objects[i++] = p_object->i_object_id;
+        ppsz_varnames[i] = "equalizer";
+        pi_objects[i++] = p_object->i_object_id;
+        vlc_object_release( p_object );
+    }
+
+ interfacemenu:
+    /* Interface menu */
+    if( i != i_last_separator ) ppsz_varnames[i++] = NULL; /* Separator */
+    i_last_separator = i;
+
+    /* vlc_object_find is needed because of the dialogs provider case */
+    p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_INTF,
+                                                FIND_PARENT );
+    if( p_object != NULL )
+    {
+        /* Nothing for now */
+        vlc_object_release( p_object );
+    }
+
+    /* Build menu */
+    vector<MenuItemExt*> popup_menu;
+    HMENU hmenu = CreatePopupMenu();
+    RefreshMenu( p_intf, &popup_menu, hmenu, i,
+                 ppsz_varnames, pi_objects, PopupMenu_Events );
+
+    /* Add static entries */
+    if( p_input != NULL )
+    {
+        vlc_value_t val;
+        AppendMenu( hmenu, MF_SEPARATOR, 0, _T("") );
+        AppendMenu( hmenu, MF_STRING, StopStream_Event, _T("Stop") );
+        AppendMenu( hmenu, MF_STRING, PrevStream_Event, _T("Previous") );
+        AppendMenu( hmenu, MF_STRING, NextStream_Event, _T("Next") );
+
+        var_Get( p_input, "state", &val );
+        if( val.i_int == PAUSE_S )
+            AppendMenu( hmenu, MF_STRING, PlayStream_Event, _T("Play") );
+        else
+            AppendMenu( hmenu, MF_STRING, PlayStream_Event, _T("Pause") );
+
+        vlc_object_release( p_input );
+    }
+    else
+    {
+        playlist_t * p_playlist =
+            (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
+                                           FIND_ANYWHERE );
+        if( p_playlist && p_playlist->i_size )
+        {
+            AppendMenu( hmenu, MF_SEPARATOR, 0, _T("") );
+            AppendMenu( hmenu, MF_STRING, PlayStream_Event, _T("Play") );
+        }
+        if( p_playlist ) vlc_object_release( p_playlist );
+    }
+
+    AppendMenu( hmenu, MF_POPUP|MF_STRING, (UINT)MiscMenu( p_intf ),
+                _T("Miscellaneous") );
+    AppendMenu( hmenu, MF_POPUP|MF_STRING, (UINT)OpenStreamMenu( p_intf ),
+                _T("Open") );
+
+    TrackPopupMenu( hmenu, 0, point.x, point.y, 0, p_parent, 0 );
+    PostMessage( p_parent, WM_NULL, 0, 0 );
+    DestroyMenu( hmenu );
+}
+
 void RefreshAudioMenu( intf_thread_t *p_intf, HMENU hMenu )
 {
 #define MAX_AUDIO_ITEMS 10
@@ -272,8 +453,7 @@ void RefreshSettingsMenu( intf_thread_t *p_intf, HMENU hMenu )
     memset( pi_objects, 0, MAX_SETTINGS_ITEMS * sizeof(int) );
     i = 0;
 
-    AppendMenu( hMenu, MF_STRING, ID_SETTINGS_EXTEND, _T("&Extended GUI") );
-    AppendMenu( hMenu, MF_STRING, ID_SETTINGS_PREF, _T("&Preferences...") );
+    AppendMenu( hMenu, MF_STRING, ID_PREFERENCES, _T("&Preferences...") );
 
     p_object = (vlc_object_t *)
         vlc_object_find( p_intf, VLC_OBJECT_INTF, FIND_PARENT );
index 600cf83022f7216a3f7696860c0ad943b5d1d74a..f2f354818e73348c7164e61ba50702d673a4fb0f 100644 (file)
 
 /* Callback prototype */
 static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
-                        vlc_value_t old_val, vlc_value_t new_val, void *param );
+                        vlc_value_t old_val, vlc_value_t new_val, void * );
 
 /*****************************************************************************
  * Constructor.
  *****************************************************************************/
-Timer::Timer( intf_thread_t *_p_intf, HWND hwnd, Interface *_p_main_interface)//, Interface *_p_main_interface )
+Timer::Timer( intf_thread_t *_p_intf, HWND hwnd, Interface *_p_main_interface)
 {
     p_intf = _p_intf;
     p_main_interface = _p_main_interface;
@@ -241,8 +241,9 @@ static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
                         vlc_value_t old_val, vlc_value_t new_val, void *param )
 {
     intf_thread_t *p_intf = (intf_thread_t *)param;
+    POINT point = {0};
 
-    /* Nothing for now */
+    PopupMenu( p_intf, p_intf->p_sys->p_main_window->hWnd, point );
 
     return VLC_SUCCESS;
 }
index 1e25cab0dbd28d9edb33086e82f890301d90113d..396b0bec8903a8d1637e48a6c4d8effd78992213 100644 (file)
@@ -159,6 +159,7 @@ static void Run( intf_thread_t *p_intf )
 {
     MSG msg;
     Interface *pInterface = new Interface();
+    p_intf->p_sys->p_main_window = pInterface;
 
     if( !hInstance ) hInstance = GetModuleHandle(NULL);
 
index 4320e036ad59a93532c5f80e627c1ab4df4aa3c1..f30a2d6319b70c1e0896969114275c812564fcaf 100644 (file)
@@ -46,6 +46,7 @@
 #include <vector>
 using namespace std; 
 
+class CBaseWindow;
 class MenuItemExt;
 class VideoWindow;
 
@@ -75,6 +76,8 @@ struct intf_sys_t
     void (*pf_show_dialog) ( intf_thread_t *p_intf, int i_dialog, int i_arg,
                              intf_dialog_args_t *p_arg );
 
+    CBaseWindow *p_main_window;
+
     /* Dynamic Menu management */
     vector<MenuItemExt*> *p_audio_menu;
     vector<MenuItemExt*> *p_video_menu;
@@ -124,6 +127,7 @@ class OpenDialog;
 class PrefsDialog;
 
 CBaseWindow *CreateVideoWindow( intf_thread_t *, HWND );
+void PopupMenu( intf_thread_t *, HWND, POINT );
 
 /* Main Interface */
 class Interface : public CBaseWindow
@@ -538,6 +542,8 @@ protected:
 #define SHCMBF_EMPTYBAR             0x0001
 #define SHFS_SHOWSIPBUTTON          0x0004
 #define GN_CONTEXTMENU              1000
+#define SHRG_RETURNCMD              0x0001
+#define SHRG_NOTIFYPARENT           0x0002
 #define SHCMBM_GETSUBMENU           (WM_USER + 401)
 #define SHCMBM_GETMENU              (WM_USER + 402)
 #ifndef TBSTYLE_NO_DROPDOWN_ARROW
@@ -583,12 +589,23 @@ extern "C" {
     } NMRGINFO, *PNMRGINFO;
 
     BOOL WINAPI CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD);
+
+    typedef struct tagSHRGI
+    {
+        DWORD cbSize;
+        HWND hwndClient;
+        POINT ptDown;
+        DWORD dwFlags;
+    } SHRGINFO, *PSHRGINFO;
+
+    DWORD SHRecognizeGesture(SHRGINFO *shrg);
 }
 
 #if defined( WIN32 ) && !defined( UNDER_CE )
 #   define SHFullScreen(a,b)
 #   define SHInitDialog(a)
 #   define SHCreateMenuBar(a) 1
+#   define SHRecognizeGesture(a) 0
 #endif
 
 #endif //WINCE_RESOURCE
@@ -598,7 +615,6 @@ extern "C" {
 #define IDB_BITMAP1                     103
 #define IDB_BITMAP2                     111
 #define IDR_MENUBAR1                    113
-#define IDR_ACCELERATOR1                116
 #define IDD_FILEINFO                    118
 #define IDD_DUMMY                       118
 #define IDD_MESSAGES                    119
@@ -607,30 +623,10 @@ extern "C" {
 #define IDD_PLAYLIST                    122
 #define IDB_BITMAP3                     123
 #define IDD_ITEMINFO                    124
-#define IDR_DUMMYMENU                   126
 #define IDCLEAR                         1001
 #define IDSAVEAS                        1002
-#define IDC_TEXTCTRL                    1004
-#define IDC_CUSTOM1                     1012
-#define IDS_MAIN_MENUITEM1              40001
-#define IDS_TITLE                       40002
-#define IDS_CLASSNAME                   40003
-#define IDS_CAP_QUICKFILEOPEN           40006
-#define IDS_CAP_VIEW                    40009
-#define IDS_CAP_SETTINGS                40012
-#define IDS_CAP_AUDIO                   40015
-#define IDS_CAP_VIDEO                   40018
-#define IDS_CAP_HELP                    40021
-#define IDS_CAP_Navigation              40024
-#define IDS_CAP_FILE                    40025
-#define ID_COLOR_OPTIONS                40026
-#define IDS_DYNAMENU                    40027
 #define ID_FILE                         40028
-#define IDS_BLACK                       40028
-#define IDS_LTGRAY                      40029
 #define ID_VIEW                         40030
-#define IDS_DKGRAY                      40030
-#define IDS_WHITE                       40031
 #define ID_SETTINGS                     40032
 #define ID_AUDIO                        40034
 #define ID_EMPTY                        40034
@@ -642,21 +638,16 @@ extern "C" {
 #define IDM_AUDIO                       40048
 #define IDM_VIDEO                       40050
 #define IDM_NAVIGATION                  40053
-#define ID_FILE_QUICK_OPEN              40056
-#define ID_FILE_OPENFILE                40057
-#define ID_FILE_QUICKOPEN               40058
-#define ID_FILE_OPENNETWORKSTREAM       40059
-#define ID_FILE_OPENNET                 40060
+#define ID_FILE_QUICKOPEN               40057
+#define ID_FILE_OPENFILE                40058
+#define ID_FILE_OPENNET                 40059
 #define ID_FILE_EXIT                    40061
 #define ID_VIEW_PLAYLIST                40063
 #define ID_VIEW_MESSAGES                40064
 #define ID_VIEW_MEDIAINFO               40065
 #define ID_VIEW_STREAMINFO              40066
-#define IDS_CAP_NAV                     40067
+#define ID_PREFERENCES                  40071
 #define ID_FILE_ABOUT                   40069
-#define ID_SETTINGS_PREF                40071
-#define ID_SETTINGS_EXTEND              40072
-#define IDS_CAP_XXX                     40084
 #define IDM_MANAGE                      40087
 #define IDM_SORT                        40088
 #define IDM_SEL                         40089
@@ -675,24 +666,9 @@ extern "C" {
 #define ID_MANAGE_ADDMRL                40106
 #define ID_MANAGE_OPENPL                40107
 #define ID_MANAGE_SAVEPL                40108
-#define ID_MENUITEM40108                40109
-#define IDS_CAP_MENUITEM40109           40110
-#define IDS_STOP                        57601
 #define StopStream_Event                57601
-#define IDS_PLAY                        57602
 #define PlayStream_Event                57602
 #define PrevStream_Event                57603
 #define NextStream_Event                57604
 #define SlowStream_Event                57605
 #define FastStream_Event                57606
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        128
-#define _APS_NEXT_COMMAND_VALUE         40111
-#define _APS_NEXT_CONTROL_VALUE         1013
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif