[Haiku-commits] r31302 - haiku/trunk/src/apps/mediaplayer

stippi at mail.berlios.de stippi at mail.berlios.de
Sun Jun 28 20:48:03 CEST 2009


Author: stippi
Date: 2009-06-28 20:48:00 +0200 (Sun, 28 Jun 2009)
New Revision: 31302
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=31302&view=rev

Modified:
   haiku/trunk/src/apps/mediaplayer/Controller.cpp
   haiku/trunk/src/apps/mediaplayer/Controller.h
   haiku/trunk/src/apps/mediaplayer/MainWin.cpp
   haiku/trunk/src/apps/mediaplayer/MainWin.h
   haiku/trunk/src/apps/mediaplayer/VideoView.cpp
Log:
* In theory, we should support getting the video aspect from the current stream.
* Added "Force Aspect Ratio" to Video menu and context menu.
* Removed some code duplication in handling the video size messages.
* Added track selection sub-menus to the context menu, replacing the IMHO
  not so important interface settings items.


Modified: haiku/trunk/src/apps/mediaplayer/Controller.cpp
===================================================================
--- haiku/trunk/src/apps/mediaplayer/Controller.cpp	2009-06-28 17:42:54 UTC (rev 31301)
+++ haiku/trunk/src/apps/mediaplayer/Controller.cpp	2009-06-28 18:48:00 UTC (rev 31302)
@@ -359,7 +359,7 @@
 
 
 void
-Controller::GetSize(int *width, int *height)
+Controller::GetSize(int *width, int *height, float* widthToHeightRatio)
 {
 	BAutolock _(this);
 
@@ -368,9 +368,17 @@
 		// TODO: take aspect ratio into account!
 		*height = format.u.raw_video.display.line_count;
 		*width = format.u.raw_video.display.line_width;
+		if (widthToHeightRatio != NULL) {
+printf("pixel_width_aspect: %d\n", format.u.raw_video.pixel_width_aspect);
+printf("pixel_height_aspect: %d\n", format.u.raw_video.pixel_height_aspect);
+			*widthToHeightRatio = (float)format.u.raw_video.pixel_width_aspect
+				/ format.u.raw_video.pixel_height_aspect;
+		}
 	} else {
 		*height = 0;
 		*width = 0;
+		if (widthToHeightRatio != NULL)
+			*widthToHeightRatio = 0.0f;
 	}
 }
 

Modified: haiku/trunk/src/apps/mediaplayer/Controller.h
===================================================================
--- haiku/trunk/src/apps/mediaplayer/Controller.h	2009-06-28 17:42:54 UTC (rev 31301)
+++ haiku/trunk/src/apps/mediaplayer/Controller.h	2009-06-28 18:48:00 UTC (rev 31302)
@@ -85,7 +85,8 @@
 									{ return fItem.Get(); }
 			void				PlayerActivated(bool active);
 
-			void				GetSize(int *width, int *height);
+			void				GetSize(int *width, int *height,
+									float* widthToHeightRatio = NULL);
 
 			int					AudioTrackCount();
 			int					VideoTrackCount();

Modified: haiku/trunk/src/apps/mediaplayer/MainWin.cpp
===================================================================
--- haiku/trunk/src/apps/mediaplayer/MainWin.cpp	2009-06-28 17:42:54 UTC (rev 31301)
+++ haiku/trunk/src/apps/mediaplayer/MainWin.cpp	2009-06-28 18:48:00 UTC (rev 31302)
@@ -66,11 +66,7 @@
 	M_FILE_PLAYLIST,
 	M_FILE_CLOSE,
 	M_FILE_QUIT,
-	M_VIEW_50,
-	M_VIEW_100,
-	M_VIEW_200,
-	M_VIEW_300,
-	M_VIEW_400,
+	M_VIEW_SIZE,
 	M_TOGGLE_FULLSCREEN,
 	M_TOGGLE_NO_BORDER,
 	M_TOGGLE_NO_MENU,
@@ -562,45 +558,19 @@
 			_ToggleNoBorderNoMenu();
 			break;
 
-		case M_VIEW_50:
-			if (!fHasVideo)
-				break;
-			if (fIsFullscreen)
-				_ToggleFullscreen();
-			_ResizeWindow(50);
+		case M_VIEW_SIZE:
+		{
+			int32 size;
+			if (msg->FindInt32("size", &size) == B_OK) {
+				if (!fHasVideo)
+					break;
+				if (fIsFullscreen)
+					_ToggleFullscreen();
+				_ResizeWindow(size);
+			}
 			break;
+		}
 
-		case M_VIEW_100:
-			if (!fHasVideo)
-				break;
-			if (fIsFullscreen)
-				_ToggleFullscreen();
-			_ResizeWindow(100);
-			break;
-
-		case M_VIEW_200:
-			if (!fHasVideo)
-				break;
-			if (fIsFullscreen)
-				_ToggleFullscreen();
-			_ResizeWindow(200);
-			break;
-
-		case M_VIEW_300:
-			if (!fHasVideo)
-				break;
-			if (fIsFullscreen)
-				_ToggleFullscreen();
-			_ResizeWindow(300);
-			break;
-
-		case M_VIEW_400:
-			if (!fHasVideo)
-				break;
-			if (fIsFullscreen)
-				_ToggleFullscreen();
-			_ResizeWindow(400);
-			break;
 /*
 		case B_ACQUIRE_OVERLAY_LOCK:
 			printf("B_ACQUIRE_OVERLAY_LOCK\n");
@@ -641,31 +611,31 @@
 			break;
 
 		case M_ASPECT_100000_1:
-			VideoFormatChange(fSourceWidth, fSourceHeight, 1.0, 1.0);
+			VideoFormatChange(fSourceWidth, fSourceHeight, 1.0);
 			break;
 
 		case M_ASPECT_106666_1:
-			VideoFormatChange(fSourceWidth, fSourceHeight, 1.06666, 1.0);
+			VideoFormatChange(fSourceWidth, fSourceHeight, 1.06666);
 			break;
 
 		case M_ASPECT_109091_1:
-			VideoFormatChange(fSourceWidth, fSourceHeight, 1.09091, 1.0);
+			VideoFormatChange(fSourceWidth, fSourceHeight, 1.09091);
 			break;
 
 		case M_ASPECT_141176_1:
-			VideoFormatChange(fSourceWidth, fSourceHeight, 1.41176, 1.0);
+			VideoFormatChange(fSourceWidth, fSourceHeight, 1.41176);
 			break;
 
 		case M_ASPECT_720_576:
-			VideoFormatChange(720, 576, 1.06666, 1.0);
+			VideoFormatChange(720, 576, 1.06666);
 			break;
 
 		case M_ASPECT_704_576:
-			VideoFormatChange(704, 576, 1.09091, 1.0);
+			VideoFormatChange(704, 576, 1.09091);
 			break;
 
 		case M_ASPECT_544_576:
-			VideoFormatChange(544, 576, 1.41176, 1.0);
+			VideoFormatChange(544, 576, 1.41176);
 			break;
 
 		case M_SET_PLAYLIST_POSITION:
@@ -825,25 +795,17 @@
 
 
 void
-MainWin::VideoFormatChange(int width, int height, float width_scale,
-	float height_scale)
+MainWin::VideoFormatChange(int width, int height, float widthToHeightRatio)
 {
 	// called when video format or aspect ratio changes
 
-	printf("VideoFormatChange enter: width %d, height %d, width_scale %.6f, "
-		"height_scale %.6f\n", width, height, width_scale, height_scale);
+	printf("VideoFormatChange enter: width %d, height %d, "
+		"widthToHeightRatio %.6f\n", width, height, widthToHeightRatio);
 
-	if (width_scale < 1.0 && height_scale >= 1.0) {
-		width_scale  = 1.0 / width_scale;
-		height_scale = 1.0 / height_scale;
-		printf("inverting! new values: width_scale %.6f, height_scale %.6f\n",
-			width_scale, height_scale);
-	}
-
  	fSourceWidth  = width;
  	fSourceHeight = height;
- 	fWidthScale   = width_scale;
- 	fHeightScale  = height_scale;
+ 	fWidthScale   = widthToHeightRatio;
+ 	fHeightScale  = 1.0f;
 
  	FrameResized(Bounds().Width(), Bounds().Height());
 
@@ -876,21 +838,18 @@
 {
 //	printf("MainWin::_SetupWindow\n");
 	// Populate the track menus
-	_SetupTrackMenus();
+	_SetupTrackMenus(fAudioTrackMenu, fVideoTrackMenu);
 	// Enable both if a file was loaded
 	fAudioTrackMenu->SetEnabled(fHasFile);
 	fVideoTrackMenu->SetEnabled(fHasFile);
 
 	fVideoMenu->SetEnabled(fHasVideo);
 	fAudioMenu->SetEnabled(fHasAudio);
-//	fDebugMenu->SetEnabled(fHasVideo);
 	int previousSourceWidth = fSourceWidth;
 	int previousSourceHeight = fSourceHeight;
 	if (fHasVideo) {
-		fController->GetSize(&fSourceWidth, &fSourceHeight);
-		fWidthScale = 1.0;
+		fController->GetSize(&fSourceWidth, &fSourceHeight, &fWidthScale);
 		fHeightScale = 1.0;
-			// TODO: implement aspect ratio
 	} else {
 		fSourceWidth = 0;
 		fSourceHeight = 0;
@@ -916,16 +875,15 @@
 	fPlaylistMenu = new BMenu("Playlist"B_UTF8_ELLIPSIS);
 	fAudioMenu = new BMenu("Audio");
 	fVideoMenu = new BMenu("Video");
+	fVideoAspectMenu = new BMenu("Aspect Ratio");
 	fSettingsMenu = new BMenu("Settings");
 	fAudioTrackMenu = new BMenu("Track");
 	fVideoTrackMenu = new BMenu("Track");
-//	fDebugMenu = new BMenu("Debug");
 
 	fMenuBar->AddItem(fFileMenu);
 	fMenuBar->AddItem(fAudioMenu);
 	fMenuBar->AddItem(fVideoMenu);
 	fMenuBar->AddItem(fSettingsMenu);
-//	fMenuBar->AddItem(fDebugMenu);
 
 	fFileMenu->AddItem(new BMenuItem("New Player"B_UTF8_ELLIPSIS,
 		new BMessage(M_FILE_NEWPLAYER), 'N'));
@@ -960,22 +918,40 @@
 
 	fVideoMenu->AddItem(fVideoTrackMenu);
 	fVideoMenu->AddSeparatorItem();
-	fVideoMenu->AddItem(new BMenuItem("50% scale",
-		new BMessage(M_VIEW_50), '0'));
-	fVideoMenu->AddItem(new BMenuItem("100% scale",
-		new BMessage(M_VIEW_100), '1'));
-	fVideoMenu->AddItem(new BMenuItem("200% scale",
-		new BMessage(M_VIEW_200), '2'));
-	fVideoMenu->AddItem(new BMenuItem("300% scale",
-		new BMessage(M_VIEW_300), '3'));
-	fVideoMenu->AddItem(new BMenuItem("400% scale",
-		new BMessage(M_VIEW_400), '4'));
+	BMessage* resizeMessage = new BMessage(M_VIEW_SIZE);
+	resizeMessage->AddInt32("size", 50);
+	fVideoMenu->AddItem(new BMenuItem("50% scale", resizeMessage, '0'));
+
+	resizeMessage = new BMessage(M_VIEW_SIZE);
+	resizeMessage->AddInt32("size", 100);
+	fVideoMenu->AddItem(new BMenuItem("100% scale", resizeMessage, '1'));
+
+	resizeMessage = new BMessage(M_VIEW_SIZE);
+	resizeMessage->AddInt32("size", 200);
+	fVideoMenu->AddItem(new BMenuItem("200% scale", resizeMessage, '2'));
+
+	resizeMessage = new BMessage(M_VIEW_SIZE);
+	resizeMessage->AddInt32("size", 300);
+	fVideoMenu->AddItem(new BMenuItem("300% scale", resizeMessage, '3'));
+
+	resizeMessage = new BMessage(M_VIEW_SIZE);
+	resizeMessage->AddInt32("size", 400);
+	fVideoMenu->AddItem(new BMenuItem("400% scale", resizeMessage, '4'));
+
 	fVideoMenu->AddSeparatorItem();
+
 	fVideoMenu->AddItem(new BMenuItem("Full Screen",
 		new BMessage(M_TOGGLE_FULLSCREEN), 'F'));
-	fVideoMenu->AddItem(new BMenuItem("Keep Aspect Ratio",
-		new BMessage(M_TOGGLE_KEEP_ASPECT_RATIO), 'K'));
 
+	fVideoMenu->AddSeparatorItem();
+
+	_SetupVideoAspectItems(fVideoAspectMenu);
+	fVideoMenu->AddItem(fVideoAspectMenu);
+	item = new BMenuItem("Keep Aspect Ratio",
+		new BMessage(M_TOGGLE_KEEP_ASPECT_RATIO), 'K');
+	item->SetMarked(fKeepAspectRatio);
+	fVideoMenu->AddItem(item);
+
 	fSettingsMenu->AddItem(new BMenuItem("No Menu",
 		new BMessage(M_TOGGLE_NO_MENU), 'M'));
 	fSettingsMenu->AddItem(new BMenuItem("No Border",
@@ -989,29 +965,34 @@
 		new BMessage(M_SETTINGS), 'S');
 	fSettingsMenu->AddItem(item);
 	item->SetTarget(be_app);
+}
 
-//	fDebugMenu->AddItem(new BMenuItem("pixel aspect ratio 1.00000:1",
-//		new BMessage(M_ASPECT_100000_1)));
-//	fDebugMenu->AddItem(new BMenuItem("pixel aspect ratio 1.06666:1",
-//		new BMessage(M_ASPECT_106666_1)));
-//	fDebugMenu->AddItem(new BMenuItem("pixel aspect ratio 1.09091:1",
-//		new BMessage(M_ASPECT_109091_1)));
-//	fDebugMenu->AddItem(new BMenuItem("pixel aspect ratio 1.41176:1",
-//		new BMessage(M_ASPECT_141176_1)));
-//	fDebugMenu->AddItem(new BMenuItem("force 720 x 576, display aspect 4:3",
-//		new BMessage(M_ASPECT_720_576)));
-//	fDebugMenu->AddItem(new BMenuItem("force 704 x 576, display aspect 4:3",
-//		new BMessage(M_ASPECT_704_576)));
-//	fDebugMenu->AddItem(new BMenuItem("force 544 x 576, display aspect 4:3",
-//		new BMessage(M_ASPECT_544_576)));
+
+void
+MainWin::_SetupVideoAspectItems(BMenu* menu)
+{
+	menu->AddItem(new BMenuItem("1 : 1",
+		new BMessage(M_ASPECT_100000_1)));
+	menu->AddItem(new BMenuItem("1.06666 : 1",
+		new BMessage(M_ASPECT_106666_1)));
+	menu->AddItem(new BMenuItem("1.09091 : 1",
+		new BMessage(M_ASPECT_109091_1)));
+	menu->AddItem(new BMenuItem("1.41176 : 1",
+		new BMessage(M_ASPECT_141176_1)));
+	menu->AddItem(new BMenuItem("Force 720 x 576, Aspect 4:3",
+		new BMessage(M_ASPECT_720_576)));
+	menu->AddItem(new BMenuItem("Force 704 x 576, Aspect 4:3",
+		new BMessage(M_ASPECT_704_576)));
+	menu->AddItem(new BMenuItem("Force 544 x 576, Aspect 4:3",
+		new BMessage(M_ASPECT_544_576)));
 }
 
 
 void
-MainWin::_SetupTrackMenus()
+MainWin::_SetupTrackMenus(BMenu* audioTrackMenu, BMenu* videoTrackMenu)
 {
-	fAudioTrackMenu->RemoveItems(0, fAudioTrackMenu->CountItems(), true);
-	fVideoTrackMenu->RemoveItems(0, fVideoTrackMenu->CountItems(), true);
+	audioTrackMenu->RemoveItems(0, audioTrackMenu->CountItems(), true);
+	videoTrackMenu->RemoveItems(0, videoTrackMenu->CountItems(), true);
 
 	char s[100];
 
@@ -1022,11 +1003,11 @@
 		BMenuItem* item = new BMenuItem(s,
 			new BMessage(M_SELECT_AUDIO_TRACK + i));
 		item->SetMarked(i == current);
-		fAudioTrackMenu->AddItem(item);
+		audioTrackMenu->AddItem(item);
 	}
 	if (!count) {
-		fAudioTrackMenu->AddItem(new BMenuItem("none", new BMessage(M_DUMMY)));
-		fAudioTrackMenu->ItemAt(0)->SetMarked(true);
+		audioTrackMenu->AddItem(new BMenuItem("none", new BMessage(M_DUMMY)));
+		audioTrackMenu->ItemAt(0)->SetMarked(true);
 	}
 
 
@@ -1037,11 +1018,11 @@
 		BMenuItem* item = new BMenuItem(s,
 			new BMessage(M_SELECT_VIDEO_TRACK + i));
 		item->SetMarked(i == current);
-		fVideoTrackMenu->AddItem(item);
+		videoTrackMenu->AddItem(item);
 	}
 	if (!count) {
-		fVideoTrackMenu->AddItem(new BMenuItem("none", new BMessage(M_DUMMY)));
-		fVideoTrackMenu->ItemAt(0)->SetMarked(true);
+		videoTrackMenu->AddItem(new BMenuItem("none", new BMessage(M_DUMMY)));
+		videoTrackMenu->ItemAt(0)->SetMarked(true);
 	}
 }
 
@@ -1240,44 +1221,41 @@
 		new BMessage(M_TOGGLE_FULLSCREEN), 'F'));
 	item->SetMarked(fIsFullscreen);
 	item->SetEnabled(fHasVideo);
+
+	BMenu* aspectSubMenu = new BMenu("Aspect Ratio");
+	_SetupVideoAspectItems(aspectSubMenu);
+	aspectSubMenu->SetTargetForItems(this);
+	menu->AddItem(item = new BMenuItem(aspectSubMenu));
+	item->SetEnabled(fHasVideo);
+
 	menu->AddItem(item = new BMenuItem("Keep Aspect Ratio",
 		new BMessage(M_TOGGLE_KEEP_ASPECT_RATIO), 'K'));
 	item->SetMarked(fKeepAspectRatio);
 	item->SetEnabled(fHasVideo);
 
 	menu->AddSeparatorItem();
-	menu->AddItem(item = new BMenuItem("No Menu",
-		new BMessage(M_TOGGLE_NO_MENU), 'M'));
-	item->SetMarked(fNoMenu);
-	menu->AddItem(item = new BMenuItem("No Border",
-		new BMessage(M_TOGGLE_NO_BORDER), 'B'));
-	item->SetMarked(fNoBorder);
-	menu->AddItem(item = new BMenuItem("Always on Top",
-		new BMessage(M_TOGGLE_ALWAYS_ON_TOP), 'T'));
-	item->SetMarked(fAlwaysOnTop);
 
+	// Add track selector menus
+	BMenu* audioTrackMenu = new BMenu("Audio Track");
+	BMenu* videoTrackMenu = new BMenu("Video Track");
+	_SetupTrackMenus(audioTrackMenu, videoTrackMenu);
+
+	audioTrackMenu->SetTargetForItems(this);
+	videoTrackMenu->SetTargetForItems(this);
+
+	menu->AddItem(item = new BMenuItem(audioTrackMenu));
+	item->SetEnabled(fHasAudio);
+
+	menu->AddItem(item = new BMenuItem(videoTrackMenu));
+	item->SetEnabled(fHasVideo);
+
 	menu->AddSeparatorItem();
+
 	menu->AddItem(new BMenuItem("About " NAME B_UTF8_ELLIPSIS,
 		new BMessage(B_ABOUT_REQUESTED)));
 	menu->AddSeparatorItem();
 	menu->AddItem(new BMenuItem("Quit", new BMessage(M_FILE_QUIT), 'Q'));
 
-	menu->AddSeparatorItem();
-	menu->AddItem(new BMenuItem("pixel aspect ratio 1.00000:1",
-		new BMessage(M_ASPECT_100000_1)));
-	menu->AddItem(new BMenuItem("pixel aspect ratio 1.06666:1",
-		new BMessage(M_ASPECT_106666_1)));
-	menu->AddItem(new BMenuItem("pixel aspect ratio 1.09091:1",
-		new BMessage(M_ASPECT_109091_1)));
-	menu->AddItem(new BMenuItem("pixel aspect ratio 1.41176:1",
-		new BMessage(M_ASPECT_141176_1)));
-	menu->AddItem(new BMenuItem("force 720 x 576, display aspect 4:3",
-		new BMessage(M_ASPECT_720_576)));
-	menu->AddItem(new BMenuItem("force 704 x 576, display aspect 4:3",
-		new BMessage(M_ASPECT_704_576)));
-	menu->AddItem(new BMenuItem("force 544 x 576, display aspect 4:3",
-		new BMessage(M_ASPECT_544_576)));
-
 	menu->SetTargetForItems(this);
 	BRect r(screen_point.x - 5, screen_point.y - 5, screen_point.x + 5,
 		screen_point.y + 5);
@@ -1480,7 +1458,7 @@
 
 	fVideoView->SetFullscreen(fIsFullscreen);
 
-	_MarkSettingsItem(M_TOGGLE_FULLSCREEN, fIsFullscreen);
+	_MarkItem(fSettingsMenu, M_TOGGLE_FULLSCREEN, fIsFullscreen);
 
 	printf("_ToggleFullscreen leave\n");
 }
@@ -1505,7 +1483,7 @@
 		ResizeBy(0, fControlsHeight);
 	}
 
-	_MarkSettingsItem(M_TOGGLE_NO_CONTROLS, fNoControls);
+	_MarkItem(fSettingsMenu, M_TOGGLE_NO_CONTROLS, fNoControls);
 
 	printf("_ToggleNoControls leave\n");
 }
@@ -1532,7 +1510,7 @@
 		ResizeBy(0, fMenuBarHeight);
 	}
 
-	_MarkSettingsItem(M_TOGGLE_NO_MENU, fNoMenu);
+	_MarkItem(fSettingsMenu, M_TOGGLE_NO_MENU, fNoMenu);
 
 	printf("_ToggleNoMenu leave\n");
 }
@@ -1544,7 +1522,7 @@
 	fNoBorder = !fNoBorder;
 	SetLook(fNoBorder ? B_BORDERED_WINDOW_LOOK : B_TITLED_WINDOW_LOOK);
 
-	_MarkSettingsItem(M_TOGGLE_NO_BORDER, fNoBorder);
+	_MarkItem(fSettingsMenu, M_TOGGLE_NO_BORDER, fNoBorder);
 }
 
 
@@ -1554,7 +1532,7 @@
 	fAlwaysOnTop = !fAlwaysOnTop;
 	SetFeel(fAlwaysOnTop ? B_FLOATING_ALL_WINDOW_FEEL : B_NORMAL_WINDOW_FEEL);
 
-	_MarkSettingsItem(M_TOGGLE_ALWAYS_ON_TOP, fAlwaysOnTop);
+	_MarkItem(fSettingsMenu, M_TOGGLE_ALWAYS_ON_TOP, fAlwaysOnTop);
 }
 
 
@@ -1564,7 +1542,7 @@
 	fKeepAspectRatio = !fKeepAspectRatio;
 	FrameResized(Bounds().Width(), Bounds().Height());
 
-	_MarkSettingsItem(M_TOGGLE_KEEP_ASPECT_RATIO, fKeepAspectRatio);
+	_MarkItem(fVideoMenu, M_TOGGLE_KEEP_ASPECT_RATIO, fKeepAspectRatio);
 }
 
 
@@ -1647,9 +1625,9 @@
 
 
 void
-MainWin::_MarkSettingsItem(uint32 command, bool mark)
+MainWin::_MarkItem(BMenu* menu, uint32 command, bool mark)
 {
-	if (BMenuItem* item = fSettingsMenu->FindItem(command))
+	if (BMenuItem* item = menu->FindItem(command))
 		item->SetMarked(mark);
 }
 

Modified: haiku/trunk/src/apps/mediaplayer/MainWin.h
===================================================================
--- haiku/trunk/src/apps/mediaplayer/MainWin.h	2009-06-28 17:42:54 UTC (rev 31301)
+++ haiku/trunk/src/apps/mediaplayer/MainWin.h	2009-06-28 18:48:00 UTC (rev 31302)
@@ -59,14 +59,16 @@
 			void				ShowSettingsWindow();
 
 			void				VideoFormatChange(int width, int height,
-									float widthScale, float heightScale);
+									float widthToHeightRatio);
 
 private:
 			void				_RefsReceived(BMessage* message);
 
 			void				_SetupWindow();
 			void				_CreateMenu();
-			void				_SetupTrackMenus();
+			void				_SetupVideoAspectItems(BMenu* menu);
+			void				_SetupTrackMenus(BMenu* audioTrackMenu,
+									BMenu* videoTrackMenu);
 			void				_SetWindowSizeLimits();
 			void				_ResizeWindow(int percent);
 			void				_ResizeVideoView(int x, int y, int width,
@@ -94,7 +96,8 @@
 									int32 index);
 			void				_RemovePlaylistItem(int32 index);
 			void				_MarkPlaylistItem(int32 index);
-			void				_MarkSettingsItem(uint32 command, bool mark);
+			void				_MarkItem(BMenu* menu, uint32 command,
+									bool mark);
 
 			void				_AdoptGlobalSettings();
 
@@ -108,11 +111,11 @@
 			BMenu*				fFileMenu;
 			BMenu*				fAudioMenu;
 			BMenu*				fVideoMenu;
+			BMenu*				fVideoAspectMenu;
 			BMenu*				fAudioTrackMenu;
 			BMenu*				fVideoTrackMenu;
 			BMenu*				fSettingsMenu;
 			BMenu*				fPlaylistMenu;
-			BMenu*				fDebugMenu;
 
 			bool				fHasFile;
 			bool				fHasVideo;

Modified: haiku/trunk/src/apps/mediaplayer/VideoView.cpp
===================================================================
--- haiku/trunk/src/apps/mediaplayer/VideoView.cpp	2009-06-28 17:42:54 UTC (rev 31301)
+++ haiku/trunk/src/apps/mediaplayer/VideoView.cpp	2009-06-28 18:48:00 UTC (rev 31302)
@@ -103,9 +103,11 @@
 		BPoint where;
 		uint32 buttons;
 		GetMouse(&where, &buttons, false);
-		set_mouse_position((int32)where.x, (int32)where.y);
-		// hide the mouse cursor until the user moves it
-		be_app->ObscureCursor();
+		if (buttons == 0) {
+			set_mouse_position((int32)where.x, (int32)where.y);
+			// hide the mouse cursor until the user moves it
+			be_app->ObscureCursor();
+		}
 	}
 }
 




More information about the Haiku-commits mailing list