[haiku-commits] r37303 - haiku/trunk/src/apps/tv

  • From: pulkomandy@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 29 Jun 2010 19:22:17 +0200 (CEST)

Author: pulkomandy
Date: 2010-06-29 19:22:17 +0200 (Tue, 29 Jun 2010)
New Revision: 37303
Changeset: http://dev.haiku-os.org/changeset/37303/haiku

Modified:
   haiku/trunk/src/apps/tv/ConvertBitmap.cpp
   haiku/trunk/src/apps/tv/DeviceRoster.cpp
   haiku/trunk/src/apps/tv/Jamfile
   haiku/trunk/src/apps/tv/MainApp.cpp
   haiku/trunk/src/apps/tv/MainApp.h
   haiku/trunk/src/apps/tv/MainWin.cpp
   haiku/trunk/src/apps/tv/MainWin.h
   haiku/trunk/src/apps/tv/VideoNode.cpp
   haiku/trunk/src/apps/tv/VideoView.cpp
Log:
 * Patch by Jorma Karvonnen : localize TV application and style fixes. Thanks !


Modified: haiku/trunk/src/apps/tv/ConvertBitmap.cpp
===================================================================
--- haiku/trunk/src/apps/tv/ConvertBitmap.cpp   2010-06-29 16:37:15 UTC (rev 
37302)
+++ haiku/trunk/src/apps/tv/ConvertBitmap.cpp   2010-06-29 17:22:17 UTC (rev 
37303)
@@ -37,7 +37,8 @@
        if (dst->Bounds() != src->Bounds())
                return B_BAD_VALUE;
        
-       if (dst->ColorSpace() == src->ColorSpace() && dst->BytesPerRow() == 
src->BytesPerRow() ) {
+       if (dst->ColorSpace() == src->ColorSpace() 
+               && dst->BytesPerRow() == src->BytesPerRow() ) {
                memcpy(dst->Bits(), src->Bits(), src->BitsLength());
                return B_OK;
        }

Modified: haiku/trunk/src/apps/tv/DeviceRoster.cpp
===================================================================
--- haiku/trunk/src/apps/tv/DeviceRoster.cpp    2010-06-29 16:37:15 UTC (rev 
37302)
+++ haiku/trunk/src/apps/tv/DeviceRoster.cpp    2010-06-29 17:22:17 UTC (rev 
37303)
@@ -38,9 +38,11 @@
        live_node_info info[MAX_DEVICE_COUNT];
        int32 info_count = MAX_DEVICE_COUNT;
        status_t err;
-       err = MediaRoster()->GetLiveNodes(info, &info_count, NULL, NULL, 
"DVB*", B_BUFFER_PRODUCER | B_PHYSICAL_INPUT);
+       err = MediaRoster()->GetLiveNodes(info, &info_count, NULL, NULL, 
"DVB*", 
+               B_BUFFER_PRODUCER | B_PHYSICAL_INPUT);
        if (err != B_OK || info_count < 1) { 
-               printf("Can't find live DVB node. Found %ld nodes, error %08lx 
(%s)\n", info_count, err, strerror(err));
+               printf("Can't find live DVB node. Found %ld nodes, error %08lx 
(%s)\n",
+                       info_count, err, strerror(err));
                fDeviceCount = 0;
        } else {
                fDeviceCount = info_count;
@@ -89,7 +91,8 @@
        int32                   count;
        status_t                err;
 
-       err = MediaRoster()->GetFreeOutputsFor(fDeviceInfo[i].node, &output, 1, 
&count, B_MEDIA_RAW_AUDIO);
+       err = MediaRoster()->GetFreeOutputsFor(fDeviceInfo[i].node, &output, 1, 
+               &count, B_MEDIA_RAW_AUDIO);
        return (err == B_OK) && (count == 1);
 }
 
@@ -103,7 +106,8 @@
        int32                   count;
        status_t                err;
 
-       err = MediaRoster()->GetFreeOutputsFor(fDeviceInfo[i].node, &output, 1, 
&count, B_MEDIA_ENCODED_AUDIO);
+       err = MediaRoster()->GetFreeOutputsFor(fDeviceInfo[i].node, &output, 1, 
+               &count, B_MEDIA_ENCODED_AUDIO);
        return (err == B_OK) && (count == 1);
 }
 
@@ -117,7 +121,8 @@
        int32                   count;
        status_t                err;
 
-       err = MediaRoster()->GetFreeOutputsFor(fDeviceInfo[i].node, &output, 1, 
&count, B_MEDIA_RAW_VIDEO);
+       err = MediaRoster()->GetFreeOutputsFor(fDeviceInfo[i].node, &output, 1, 
+               &count, B_MEDIA_RAW_VIDEO);
        return (err == B_OK) && (count == 1);
 }
 
@@ -131,7 +136,8 @@
        int32                   count;
        status_t                err;
 
-       err = MediaRoster()->GetFreeOutputsFor(fDeviceInfo[i].node, &output, 1, 
&count, B_MEDIA_ENCODED_VIDEO);
+       err = MediaRoster()->GetFreeOutputsFor(fDeviceInfo[i].node, &output, 1, 
+               &count, B_MEDIA_ENCODED_VIDEO);
        return (err == B_OK) && (count == 1);
 }
 

Modified: haiku/trunk/src/apps/tv/Jamfile
===================================================================
--- haiku/trunk/src/apps/tv/Jamfile     2010-06-29 16:37:15 UTC (rev 37302)
+++ haiku/trunk/src/apps/tv/Jamfile     2010-06-29 17:22:17 UTC (rev 37303)
@@ -8,6 +8,13 @@
        MainWin.cpp
        VideoNode.cpp
        VideoView.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be locale media $(TARGET_LIBSUPC++)
        : tv.rdef
 ;
+
+DoCatalogs TV :
+       x-vnd.Haiku.TV
+       :
+       MainApp.cpp
+       MainWin.cpp
+;

Modified: haiku/trunk/src/apps/tv/MainApp.cpp
===================================================================
--- haiku/trunk/src/apps/tv/MainApp.cpp 2010-06-29 16:37:15 UTC (rev 37302)
+++ haiku/trunk/src/apps/tv/MainApp.cpp 2010-06-29 17:22:17 UTC (rev 37303)
@@ -33,15 +33,22 @@
 #include "config.h"
 #include "DeviceRoster.h"
 
+#undef B_TRANSLATE_CONTEXT
+#define B_TRANSLATE_CONTEXT "MainApp"
+
+
 MainApp *gMainApp;
 
 bool gOverlayDisabled = false;
 
 MainApp::MainApp()
- :     BApplication(APP_SIG)
+ :
+ BApplication(APP_SIG)
 {
        InitPrefs();
        
+       be_locale->GetAppCatalog(&fAppCatalog);
+       
        gDeviceRoster = new DeviceRoster;
        
        fMainWindow = NewWindow();

Modified: haiku/trunk/src/apps/tv/MainApp.h
===================================================================
--- haiku/trunk/src/apps/tv/MainApp.h   2010-06-29 16:37:15 UTC (rev 37302)
+++ haiku/trunk/src/apps/tv/MainApp.h   2010-06-29 17:22:17 UTC (rev 37303)
@@ -38,6 +38,7 @@
 
 private:       
        BWindow *               fMainWindow;
+       BCatalog                fAppCatalog;
 };
 
 extern MainApp *gMainApp;

Modified: haiku/trunk/src/apps/tv/MainWin.cpp
===================================================================
--- haiku/trunk/src/apps/tv/MainWin.cpp 2010-06-29 16:37:15 UTC (rev 37302)
+++ haiku/trunk/src/apps/tv/MainWin.cpp 2010-06-29 17:22:17 UTC (rev 37303)
@@ -28,19 +28,28 @@
 #include "config.h"
 #include "DeviceRoster.h"
 
-#include <View.h>
-#include <Screen.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <Application.h>
+#include <Alert.h>
 #include <Menu.h>
 #include <MenuBar.h>
 #include <MenuItem.h>
-#include <Application.h>
-#include <Alert.h>
-#include <stdio.h>
-#include <string.h>
 #include <Messenger.h>
 #include <PopUpMenu.h>
+#include <Screen.h>
 #include <String.h>
+#include <View.h>
 
+
+#undef B_TRANSLATE_CONTEXT
+#define B_TRANSLATE_CONTEXT "MainWin"
+
+static const char* fLocalizedName = B_TRANSLATE_MARK("TV");
+static const char* fLocalizedRevision = B_TRANSLATE_MARK("unknown");
+static const char* fLocalizedInfo1 = B_TRANSLATE_MARK("DVB - Digital Video 
Broadcasting TV");
+
 enum
 {
        M_DUMMY = 0x100,
@@ -68,14 +77,16 @@
        M_SELECT_INTERFACE              = 0x00000800,
        M_SELECT_INTERFACE_END  = 0x00000fff,
        M_SELECT_CHANNEL                = 0x00010000,
-       M_SELECT_CHANNEL_END    = 0x000fffff, // this limits possible channel 
count to 0xeffff = 983039
+       M_SELECT_CHANNEL_END    = 0x000fffff,
+               // this limits possible channel count to 0xeffff = 983039
 };
 
 //#define printf(a...)
 
 
 MainWin::MainWin(BRect frame_rect)
- :     BWindow(frame_rect, NAME, B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS /* | 
B_WILL_ACCEPT_FIRST_CLICK */)
+ :     BWindow(frame_rect, NAME, B_TITLED_WINDOW, 
+       B_ASYNCHRONOUS_CONTROLS /* | B_WILL_ACCEPT_FIRST_CLICK */)
  ,     fController(new Controller)
  ,     fIsFullscreen(false)
  ,     fKeepAspectRatio(true)
@@ -92,9 +103,10 @@
  ,     fFrameResizedCalled(true)
 {
        BRect rect = Bounds();
-
+       
        // background
-       fBackground = new BView(rect, "background", B_FOLLOW_ALL, B_WILL_DRAW | 
B_FULL_UPDATE_ON_RESIZE);
+       fBackground = new BView(rect, "background", B_FOLLOW_ALL, 
+               B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE);
        fBackground->SetViewColor(0,0,0);
        AddChild(fBackground);
 
@@ -108,13 +120,15 @@
 
        // video view
        BRect video_rect = BRect(0, fMenuBarHeight, rect.right, rect.bottom);
-       fVideoView = new VideoView(video_rect, "video display", B_FOLLOW_ALL, 
B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE);
+       fVideoView = new VideoView(video_rect, "video display", B_FOLLOW_ALL, 
+               B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE);
        fBackground->AddChild(fVideoView);
 
        fVideoView->MakeFocus();
 
 //     SetSizeLimits(fControlViewMinWidth - 1, 32767,
-//             fMenuBarHeight + fControlViewHeight - 1, fMenuBarHeight + 
fControlViewHeight - 1);
+//             fMenuBarHeight + fControlViewHeight - 1, fMenuBarHeight 
+//             + fControlViewHeight - 1);
 
 //     SetSizeLimits(320 - 1, 32767, 240 + fMenuBarHeight - 1, 32767);
 
@@ -149,10 +163,10 @@
 MainWin::CreateMenu()
 {
        fFileMenu = new BMenu(NAME);
-       fChannelMenu = new BMenu("Channel");
-       fInterfaceMenu = new BMenu("Interface");
-       fSettingsMenu = new BMenu("Settings");
-       fDebugMenu = new BMenu("Debug");
+       fChannelMenu = new BMenu(B_TRANSLATE("Channel"));
+       fInterfaceMenu = new BMenu(B_TRANSLATE("Interface"));
+       fSettingsMenu = new BMenu(B_TRANSLATE("Settings"));
+       fDebugMenu = new BMenu(B_TRANSLATE("Debug"));
 
        fMenuBar->AddItem(fFileMenu);
        fMenuBar->AddItem(fChannelMenu);
@@ -160,46 +174,85 @@
        fMenuBar->AddItem(fSettingsMenu);
        fMenuBar->AddItem(fDebugMenu);
 
-       fFileMenu->AddItem(new BMenuItem("About " NAME B_UTF8_ELLIPSIS, new 
BMessage(M_FILE_ABOUT)));
+       BString aboutStr = B_TRANSLATE_COMMENT("About %1"B_UTF8_ELLIPSIS, 
+               "Parameter %1 is the name of the application.");
+       aboutStr.ReplaceFirst("%1", fLocalizedName);
+       fFileMenu->AddItem(new BMenuItem(aboutStr.String(), 
+               new BMessage(M_FILE_ABOUT)));
        fFileMenu->AddSeparatorItem();
-       fFileMenu->AddItem(new BMenuItem("Quit", new BMessage(M_FILE_QUIT), 
'Q', B_COMMAND_KEY));
+       fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Quit"), 
+               new BMessage(M_FILE_QUIT), 'Q', B_COMMAND_KEY));
 
 /*
-       fChannelMenu->AddItem(new BMenuItem("Next channel", new 
BMessage(M_CHANNEL_NEXT), '+', B_COMMAND_KEY));
-       fChannelMenu->AddItem(new BMenuItem("Previous channel", new 
BMessage(M_CHANNEL_PREV), '-', B_COMMAND_KEY));
+       fChannelMenu->AddItem(new BMenuItem(B_TRANSLATE("Next channel"), 
+               new BMessage(M_CHANNEL_NEXT), '+', B_COMMAND_KEY));
+       fChannelMenu->AddItem(new BMenuItem(B_TRANSLATE("Previous channel"), 
+               new BMessage(M_CHANNEL_PREV), '-', B_COMMAND_KEY));
        fChannelMenu->AddSeparatorItem();
-       fChannelMenu->AddItem(new BMenuItem("RTL", new BMessage(M_DUMMY), '0', 
B_COMMAND_KEY));
-       fChannelMenu->AddItem(new BMenuItem("Pro7", new BMessage(M_DUMMY), '1', 
B_COMMAND_KEY));
+       fChannelMenu->AddItem(new BMenuItem("RTL", new BMessage(M_DUMMY), '0', 
+               B_COMMAND_KEY));
+       fChannelMenu->AddItem(new BMenuItem("Pro7", new BMessage(M_DUMMY), '1', 
+               B_COMMAND_KEY));
 
-       fInterfaceMenu->AddItem(new BMenuItem("none", new BMessage(M_DUMMY)));
-       fInterfaceMenu->AddItem(new BMenuItem("none 1", new BMessage(M_DUMMY)));
-       fInterfaceMenu->AddItem(new BMenuItem("none 2", new BMessage(M_DUMMY)));
+       fInterfaceMenu->AddItem(new BMenuItem(B_TRANSLATE("none"), 
+               new BMessage(M_DUMMY)));
+       fInterfaceMenu->AddItem(new BMenuItem(B_TRANSLATE("none 1"), 
+               new BMessage(M_DUMMY)));
+       fInterfaceMenu->AddItem(new BMenuItem(B_TRANSLATE("none 2"), 
+               new BMessage(M_DUMMY)));
 */
 
-       fSettingsMenu->AddItem(new BMenuItem("Scale to native size", new 
BMessage(M_SCALE_TO_NATIVE_SIZE), 'N', B_COMMAND_KEY));
-       fSettingsMenu->AddItem(new BMenuItem("Full screen", new 
BMessage(M_TOGGLE_FULLSCREEN), 'F', B_COMMAND_KEY));
+       fSettingsMenu->AddItem(new BMenuItem(B_TRANSLATE("Scale to native 
size"), 
+               new BMessage(M_SCALE_TO_NATIVE_SIZE), 'N', B_COMMAND_KEY));
+       fSettingsMenu->AddItem(new BMenuItem(B_TRANSLATE("Full screen"), 
+               new BMessage(M_TOGGLE_FULLSCREEN), 'F', B_COMMAND_KEY));
        fSettingsMenu->AddSeparatorItem();
-       fSettingsMenu->AddItem(new BMenuItem("No menu", new 
BMessage(M_TOGGLE_NO_MENU), 'M', B_COMMAND_KEY));
-       fSettingsMenu->AddItem(new BMenuItem("No border", new 
BMessage(M_TOGGLE_NO_BORDER), 'B', B_COMMAND_KEY));
-       fSettingsMenu->AddItem(new BMenuItem("Always on top", new 
BMessage(M_TOGGLE_ALWAYS_ON_TOP), 'T', B_COMMAND_KEY));
-       fSettingsMenu->AddItem(new BMenuItem("Keep aspect ratio", new 
BMessage(M_TOGGLE_KEEP_ASPECT_RATIO), 'K', B_COMMAND_KEY));
+       fSettingsMenu->AddItem(new BMenuItem(B_TRANSLATE("No menu"), 
+               new BMessage(M_TOGGLE_NO_MENU), 'M', B_COMMAND_KEY));
+       fSettingsMenu->AddItem(new BMenuItem(B_TRANSLATE("No border"), 
+               new BMessage(M_TOGGLE_NO_BORDER), 'B', B_COMMAND_KEY));
+       fSettingsMenu->AddItem(new BMenuItem(B_TRANSLATE("Always on top"), 
+               new BMessage(M_TOGGLE_ALWAYS_ON_TOP), 'T', B_COMMAND_KEY));
+       fSettingsMenu->AddItem(new BMenuItem(B_TRANSLATE("Keep aspect ratio"), 
+               new BMessage(M_TOGGLE_KEEP_ASPECT_RATIO), 'K', B_COMMAND_KEY));
        fSettingsMenu->AddSeparatorItem();
-       fSettingsMenu->AddItem(new BMenuItem("Settings"B_UTF8_ELLIPSIS, new 
BMessage(M_PREFERENCES), 'P', B_COMMAND_KEY));
+       fSettingsMenu->AddItem(new 
BMenuItem(B_TRANSLATE("Settings"B_UTF8_ELLIPSIS)
+               , new BMessage(M_PREFERENCES), 'P', B_COMMAND_KEY));
 
-       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)));
+       const char* pixel_ratio = B_TRANSLATE("pixel aspect ratio");
+       BString str1 = pixel_ratio;
+       str1 << " 1.00000:1";
+       fDebugMenu->AddItem(new BMenuItem(str1.String(), 
+               new BMessage(M_ASPECT_100000_1)));
+       BString str2 = pixel_ratio;
+       str2 << " 1.06666:1";
+       fDebugMenu->AddItem(new BMenuItem(str2.String(), 
+               new BMessage(M_ASPECT_106666_1)));
+       BString str3 = pixel_ratio;
+       str3 << " 1.09091:1";
+       fDebugMenu->AddItem(new BMenuItem(str3.String(), 
+               new BMessage(M_ASPECT_109091_1)));
+       BString str4 = pixel_ratio;
+       str4 << " 1.41176:1";
+       fDebugMenu->AddItem(new BMenuItem(str4.String(), 
+               new BMessage(M_ASPECT_141176_1)));
+       fDebugMenu->AddItem(new BMenuItem(B_TRANSLATE(
+               "force 720 x 576, display aspect 4:3"), 
+               new BMessage(M_ASPECT_720_576)));
+       fDebugMenu->AddItem(new BMenuItem(B_TRANSLATE(
+               "force 704 x 576, display aspect 4:3"), 
+               new BMessage(M_ASPECT_704_576)));
+       fDebugMenu->AddItem(new BMenuItem(B_TRANSLATE(
+               "force 544 x 576, display aspect 4:3"), 
+               new BMessage(M_ASPECT_544_576)));
 
        fSettingsMenu->ItemAt(1)->SetMarked(fIsFullscreen);
        fSettingsMenu->ItemAt(3)->SetMarked(fNoMenu);
        fSettingsMenu->ItemAt(4)->SetMarked(fNoBorder);
        fSettingsMenu->ItemAt(5)->SetMarked(fAlwaysOnTop);
        fSettingsMenu->ItemAt(6)->SetMarked(fKeepAspectRatio);
-       fSettingsMenu->ItemAt(8)->SetEnabled(false); // XXX disable unused 
preference menu
+       fSettingsMenu->ItemAt(8)->SetEnabled(false);
+               // XXX disable unused preference menu
 }
 
 
@@ -208,7 +261,8 @@
 {
        fInterfaceMenu->RemoveItems(0, fInterfaceMenu->CountItems(), true);
 
-       fInterfaceMenu->AddItem(new BMenuItem("None", new 
BMessage(M_SELECT_INTERFACE)));
+       fInterfaceMenu->AddItem(new BMenuItem(B_TRANSLATE("None"), 
+               new BMessage(M_SELECT_INTERFACE)));
 
        int count = gDeviceRoster->DeviceCount();
 
@@ -216,8 +270,10 @@
                fInterfaceMenu->AddSeparatorItem();
 
        for (int i = 0; i < count; i++) {
-               // 1 gets subtracted in MessageReceived, so -1 is Interface 
None, and 0 == Interface 0 in SelectInterface()
-               fInterfaceMenu->AddItem(new 
BMenuItem(gDeviceRoster->DeviceName(i), new BMessage(M_SELECT_INTERFACE + i + 
1)));
+               // 1 gets subtracted in MessageReceived, so -1 is Interface 
None, 
+               // and 0 == Interface 0 in SelectInterface()
+               fInterfaceMenu->AddItem(new 
BMenuItem(gDeviceRoster->DeviceName(i), 
+                       new BMessage(M_SELECT_INTERFACE + i + 1)));
        }
 }
 
@@ -233,10 +289,13 @@
        int channels = fController->ChannelCount();
 
        if (channels == 0) {
-               fChannelMenu->AddItem(new BMenuItem("None", new 
BMessage(M_DUMMY)));
+               fChannelMenu->AddItem(new BMenuItem(B_TRANSLATE("None"), 
+                       new BMessage(M_DUMMY)));
        } else {
-               fChannelMenu->AddItem(new BMenuItem("Next channel", new 
BMessage(M_CHANNEL_NEXT), '+', B_COMMAND_KEY));
-               fChannelMenu->AddItem(new BMenuItem("Previous channel", new 
BMessage(M_CHANNEL_PREV), '-', B_COMMAND_KEY));
+               fChannelMenu->AddItem(new BMenuItem(B_TRANSLATE("Next 
channel"), 
+                       new BMessage(M_CHANNEL_NEXT), '+', B_COMMAND_KEY));
+               fChannelMenu->AddItem(new BMenuItem(B_TRANSLATE("Previous 
channel"), 
+                       new BMessage(M_CHANNEL_PREV), '-', B_COMMAND_KEY));
                fChannelMenu->AddSeparatorItem();
        }
 
@@ -318,16 +377,18 @@
 
        if (!fController->IsInterfaceAvailable(i)) {
                BString s;
-               s << "Error, interface is busy:\n\n" << 
gDeviceRoster->DeviceName(i);
-               (new BAlert("error", s.String(), "OK"))->Go();
+               s << B_TRANSLATE("Error, interface is busy:\n\n");
+               s << gDeviceRoster->DeviceName(i);
+               (new BAlert("error", s.String(), B_TRANSLATE("OK")))->Go();
                return;
        }
 
        fController->DisconnectInterface();
        if (fController->ConnectInterface(i) != B_OK) {
                BString s;
-               s << "Error, connecting to interface failed:\n\n" << 
gDeviceRoster->DeviceName(i);
-               (new BAlert("error", s.String(), "OK"))->Go();
+               s << B_TRANSLATE("Error, connecting to interface failed:\n\n");
+               s << gDeviceRoster->DeviceName(i);
+               (new BAlert("error", s.String(), B_TRANSLATE("OK")))->Go();
        }
 
 done:
@@ -348,8 +409,10 @@
 
        int count = gDeviceRoster->DeviceCount();
        for (int i = 0; i < count; i++) {
-               if (fController->IsInterfaceAvailable(i) && B_OK == 
fController->ConnectInterface(i)) {
-                       printf("MainWin::SelectInitialInterface connected to 
interface %d\n", i);
+               if (fController->IsInterfaceAvailable(i) 
+                       && B_OK == fController->ConnectInterface(i)) {
+                       printf("MainWin::SelectInitialInterface connected to 
interface "
+                               "%d\n", i);
                        break;
                }
        }
@@ -372,7 +435,8 @@
        BPoint screen_where;
        uint32 buttons = msg->FindInt32("buttons");
 
-       // On Zeta, only "screen_where" is relyable, "where" and 
"be:view_where" seem to be broken
+       // On Zeta, only "screen_where" is relyable, "where" and 
"be:view_where" 
+       // seem to be broken
        if (B_OK != msg->FindPoint("screen_where", &screen_where)) {
                // Workaround for BeOS R5, it has no "screen_where"
                fVideoView->GetMouse(&screen_where, &buttons, false);
@@ -384,7 +448,8 @@
 //     if (1 == msg->FindInt32("buttons") && msg->FindInt32("clicks") == 1) {
 
        if (1 == buttons && msg->FindInt32("clicks") % 2 == 0) {
-               BRect r(screen_where.x - 1, screen_where.y - 1, screen_where.x 
+ 1, screen_where.y + 1);
+               BRect r(screen_where.x - 1, screen_where.y - 1, screen_where.x 
+ 1, 
+                       screen_where.y + 1);
                if (r.Contains(fMouseDownMousePos)) {
                        PostMessage(M_TOGGLE_FULLSCREEN);
                        return;
@@ -392,7 +457,8 @@
        }
 
        if (2 == buttons && msg->FindInt32("clicks") % 2 == 0) {
-               BRect r(screen_where.x - 1, screen_where.y - 1, screen_where.x 
+ 1, screen_where.y + 1);
+               BRect r(screen_where.x - 1, screen_where.y - 1, screen_where.x 
+ 1, 
+                       screen_where.y + 1);
                if (r.Contains(fMouseDownMousePos)) {
                        PostMessage(M_TOGGLE_NO_BORDER_NO_MENU);
                        return;
@@ -401,14 +467,16 @@
 
 /*
                // very broken in Zeta:
-               fMouseDownMousePos = 
fVideoView->ConvertToScreen(msg->FindPoint("where"));
+               fMouseDownMousePos = fVideoView->ConvertToScreen(
+                       msg->FindPoint("where"));
 */
        fMouseDownMousePos = screen_where;
        fMouseDownWindowPos = Frame().LeftTop();
 
        if (buttons == 1 && !fIsFullscreen) {
                // start mouse tracking
-               fVideoView->SetMouseEventMask(B_POINTER_EVENTS | 
B_NO_POINTER_HISTORY /* | B_LOCK_WINDOW_FOCUS */);
+               fVideoView->SetMouseEventMask(B_POINTER_EVENTS | 
B_NO_POINTER_HISTORY 
+                       /* | B_LOCK_WINDOW_FOCUS */);
                fMouseDownTracking = true;
        }
 
@@ -446,7 +514,8 @@
                printf("view where: %.0f, %.0f => ", mousePos.x, mousePos.y);
                fVideoView->ConvertToScreen(&mousePos);
 */
-               // On Zeta, only "screen_where" is relyable, "where" and 
"be:view_where" seem to be broken
+               // On Zeta, only "screen_where" is relyable, "where" and 
+               // "be:view_where" seem to be broken
                if (B_OK != msg->FindPoint("screen_where", &mousePos)) {
                        // Workaround for BeOS R5, it has no "screen_where"
                        fVideoView->GetMouse(&mousePos, &buttons, false);
@@ -477,49 +546,83 @@
        printf("Show context menu\n");
        BPopUpMenu *menu = new BPopUpMenu("context menu", false, false);
        BMenuItem *item;
-       menu->AddItem(new BMenuItem("Scale to native size", new 
BMessage(M_SCALE_TO_NATIVE_SIZE), 'N', B_COMMAND_KEY));
-       menu->AddItem(item = new BMenuItem("Full screen", new 
BMessage(M_TOGGLE_FULLSCREEN), 'F', B_COMMAND_KEY));
+       menu->AddItem(new BMenuItem(B_TRANSLATE("Scale to native size"), 
+               new BMessage(M_SCALE_TO_NATIVE_SIZE), 'N', B_COMMAND_KEY));
+       menu->AddItem(item = new BMenuItem(B_TRANSLATE("Full screen"), 
+               new BMessage(M_TOGGLE_FULLSCREEN), 'F', B_COMMAND_KEY));
        item->SetMarked(fIsFullscreen);
        menu->AddSeparatorItem();
-       menu->AddItem(item = new BMenuItem("No menu", new 
BMessage(M_TOGGLE_NO_MENU), 'M', B_COMMAND_KEY));
+       menu->AddItem(item = new BMenuItem(B_TRANSLATE("No menu"), 
+               new BMessage(M_TOGGLE_NO_MENU), 'M', B_COMMAND_KEY));
        item->SetMarked(fNoMenu);
-       menu->AddItem(item = new BMenuItem("No border", new 
BMessage(M_TOGGLE_NO_BORDER), 'B', B_COMMAND_KEY));
+       menu->AddItem(item = new BMenuItem(B_TRANSLATE("No border"), 
+               new BMessage(M_TOGGLE_NO_BORDER), 'B', B_COMMAND_KEY));
        item->SetMarked(fNoBorder);
-       menu->AddItem(item = new BMenuItem("Always on top", new 
BMessage(M_TOGGLE_ALWAYS_ON_TOP), 'T', B_COMMAND_KEY));
+       menu->AddItem(item = new BMenuItem(B_TRANSLATE("Always on top"), 
+               new BMessage(M_TOGGLE_ALWAYS_ON_TOP), 'T', B_COMMAND_KEY));
        item->SetMarked(fAlwaysOnTop);
-       menu->AddItem(item = new BMenuItem("Keep aspect ratio", new 
BMessage(M_TOGGLE_KEEP_ASPECT_RATIO), 'K', B_COMMAND_KEY));
+       menu->AddItem(item = new BMenuItem(B_TRANSLATE("Keep aspect ratio"), 
+               new BMessage(M_TOGGLE_KEEP_ASPECT_RATIO), 'K', B_COMMAND_KEY));
        item->SetMarked(fKeepAspectRatio);
        menu->AddSeparatorItem();
-       menu->AddItem(new BMenuItem("About " NAME B_UTF8_ELLIPSIS, new 
BMessage(M_FILE_ABOUT)));
+       BString aboutStr = B_TRANSLATE_COMMENT("About %1"B_UTF8_ELLIPSIS, 
+               "Parameter %1 is the name of the application.");
+       aboutStr.ReplaceFirst("%1", fLocalizedName);
+       menu->AddItem(new BMenuItem(aboutStr.String(), 
+               new BMessage(M_FILE_ABOUT)));
        menu->AddSeparatorItem();
-       menu->AddItem(new BMenuItem("Quit", new BMessage(M_FILE_QUIT), 'Q', 
B_COMMAND_KEY));
+       menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"), 
+               new BMessage(M_FILE_QUIT), 'Q', B_COMMAND_KEY));
 
        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)));
+       const char* pixel_aspect = "pixel aspect ratio";
+       BString str1 = pixel_aspect;
+       str1 << " 1.00000:1";
+       menu->AddItem(new BMenuItem(str1.String(), 
+               new BMessage(M_ASPECT_100000_1)));
+       BString str2 = pixel_aspect;
+       str2 << " 1.06666:1";
+       menu->AddItem(new BMenuItem(str2.String(), 
+               new BMessage(M_ASPECT_106666_1)));
+       BString str3 = pixel_aspect;
+       str3 << " 1.09091:1";
+       menu->AddItem(new BMenuItem(str3.String(), 
+               new BMessage(M_ASPECT_109091_1)));
+       BString str4 = pixel_aspect;
+       str4 << " 1.41176:1";
+       menu->AddItem(new BMenuItem(str4.String(), 
+               new BMessage(M_ASPECT_141176_1)));
+       menu->AddItem(new BMenuItem(B_TRANSLATE(
+               "force 720 x 576, display aspect 4:3"), 
+               new BMessage(M_ASPECT_720_576)));
+       menu->AddItem(new BMenuItem(B_TRANSLATE(
+               "force 704 x 576, display aspect 4:3"), 
+               new BMessage(M_ASPECT_704_576)));
+       menu->AddItem(new BMenuItem(B_TRANSLATE(
+               "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);
+       BRect r(screen_point.x - 5, screen_point.y - 5, screen_point.x + 5, 
+               screen_point.y + 5);
        menu->Go(screen_point, true, true, r, true);
 }
 
 
 void
-MainWin::VideoFormatChange(int width, int height, float width_scale, float 
height_scale)
+MainWin::VideoFormatChange(int width, int height, float width_scale, 
+       float height_scale)
 {
        // 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, width_scale %.6f, 
"
+               "height_scale %.6f\n", width, height, width_scale, 
height_scale);
 
        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);
+               printf("inverting! new values: width_scale %.6f, height_scale 
%.6f\n", 
+                       width_scale, height_scale);
        }
 
        fSourceWidth  = width;
@@ -558,7 +661,9 @@
        }
 
 
-       printf("FrameResized enter: new_width %.0f, new_height %.0f, bounds 
width %.0f, bounds height %.0f\n", new_width, new_height, Bounds().Width(), 
Bounds().Height());
+       printf("FrameResized enter: new_width %.0f, new_height %.0f, bounds 
width "
+               "%.0f, bounds height %.0f\n", new_width, new_height, 
Bounds().Width(), 
+               Bounds().Height());
 
        if (fIsFullscreen) {
 
@@ -599,7 +704,9 @@
 MainWin::UpdateWindowTitle()
 {
        char buf[100];
-       sprintf(buf, "%s - %d x %d, %.3f:%.3f => %.0f x %.0f", NAME, 
fSourceWidth, fSourceHeight, fWidthScale, fHeightScale, 
fVideoView->Bounds().Width() + 1, fVideoView->Bounds().Height() + 1);
+       sprintf(buf, "%s - %d x %d, %.3f:%.3f => %.0f x %.0f", NAME, 
fSourceWidth, 
+               fSourceHeight, fWidthScale, fHeightScale, 
+               fVideoView->Bounds().Width() + 1, fVideoView->Bounds().Height() 
+ 1);
        SetTitle(buf);
 }
 
@@ -617,16 +724,18 @@
                float max_height = fBackground->Bounds().Height() + 1.0f;
                float scaled_width  = fSourceWidth * fWidthScale;
                float scaled_height = fSourceHeight * fHeightScale;
-               float factor = min_c(max_width / scaled_width, max_height / 
scaled_height);
+               float factor = min_c(max_width / scaled_width, max_height 
+                       / scaled_height);
                int render_width = int(scaled_width * factor);
                int render_height = int(scaled_height * factor);
                int x_ofs = (int(max_width) - render_width) / 2;
                int y_ofs = (int(max_height) - render_height) / 2;
 
-               printf("AdjustFullscreenRenderer: background %.1f x %.1f, src 
video %d x %d, "
-                         "scaled video %.3f x %.3f, factor %.3f, render %d x 
%d, x-ofs %d, y-ofs %d\n",
-                         max_width, max_height, fSourceWidth, fSourceHeight, 
scaled_width, scaled_height,
-                         factor, render_width, render_height, x_ofs, y_ofs);
+               printf("AdjustFullscreenRenderer: background %.1f x %.1f, src 
video "
+                       "%d x %d, scaled video %.3f x %.3f, factor %.3f, render 
%d x %d, "
+                       "x-ofs %d, y-ofs %d\n", max_width, max_height, 
fSourceWidth, 
+                       fSourceHeight, scaled_width, scaled_height, factor, 
render_width, 
+                       render_height, x_ofs, y_ofs);
 
                fVideoView->MoveTo(x_ofs, y_ofs);
                fVideoView->ResizeTo(render_width - 1, render_height - 1);
@@ -638,7 +747,8 @@
                // no need to keep aspect ratio, make
                // render cover the whole background
                fVideoView->MoveTo(0, 0);
-               fVideoView->ResizeTo(fBackground->Bounds().Width(), 
fBackground->Bounds().Height());
+               fVideoView->ResizeTo(fBackground->Bounds().Width(), 
+                       fBackground->Bounds().Height());
 
        }
 }
@@ -652,24 +762,28 @@
        // In windowed mode, the renderer always covers the
        // whole background, accounting for the menu
        fVideoView->MoveTo(0, fNoMenu ? 0 : fMenuBarHeight);
-       fVideoView->ResizeTo(fBackground->Bounds().Width(), 
fBackground->Bounds().Height() - (fNoMenu ? 0 : fMenuBarHeight));
+       fVideoView->ResizeTo(fBackground->Bounds().Width(), 
+               fBackground->Bounds().Height() - (fNoMenu ? 0 : 
fMenuBarHeight));
 
        if (fKeepAspectRatio) {
                // To keep the aspect ratio correct, we
                // do resize the window as required
 
                float max_width  = Bounds().Width() + 1.0f;
-               float max_height = Bounds().Height() + 1.0f - (fNoMenu ? 0 : 
fMenuBarHeight);
+               float max_height = Bounds().Height() + 1.0f - (fNoMenu ? 0 
+                       : fMenuBarHeight);
                float scaled_width  = fSourceWidth * fWidthScale;
                float scaled_height = fSourceHeight * fHeightScale;
 
-               if (!user_resized && (scaled_width > max_width || scaled_height 
> max_height)) {
+               if (!user_resized && (scaled_width > max_width 
+                       || scaled_height > max_height)) {
                        // A format switch occured, and the window was
                        // smaller then the video source. As it was not
                        // initiated by the user resizing the window, we
                        // enlarge the window to fit the video.
                        fIgnoreFrameResized = true;
-                       ResizeTo(scaled_width - 1, scaled_height - 1 + (fNoMenu 
? 0 : fMenuBarHeight));
+                       ResizeTo(scaled_width - 1, scaled_height - 1 
+                               + (fNoMenu ? 0 : fMenuBarHeight));
 //                     Sync();
                        return;
                }
@@ -678,13 +792,15 @@
                int new_width  = int(max_width);
                int new_height = int(max_width / display_aspect_ratio + 0.5);
 
-               printf("AdjustWindowedRenderer: old display %d x %d, src video 
%d x %d, "
-                         "scaled video %.3f x %.3f, aspect ratio %.3f, new 
display %d x %d\n",
-                         int(max_width), int(max_height), fSourceWidth, 
fSourceHeight, scaled_width, scaled_height,
-                         display_aspect_ratio, new_width, new_height);
+               printf("AdjustWindowedRenderer: old display %d x %d, src video "
+                       "%d x %d, scaled video %.3f x %.3f, aspect ratio %.3f, 
new "
+                       "display %d x %d\n", int(max_width), int(max_height), 
+                       fSourceWidth, fSourceHeight, scaled_width, 
scaled_height,
+                       display_aspect_ratio, new_width, new_height);
 
                fIgnoreFrameResized = true;
-               ResizeTo(new_width - 1, new_height - 1 + (fNoMenu ? 0 : 
fMenuBarHeight));
+               ResizeTo(new_width - 1, new_height - 1 + (fNoMenu ? 0 
+                       : fMenuBarHeight));
 //             Sync();
        }
 
@@ -716,7 +832,8 @@
        printf("ToggleFullscreen enter\n");
 
        if (!fFrameResizedCalled) {
-               printf("ToggleFullscreen - ignoring, as FrameResized wasn't 
called since last switch\n");
+               printf("ToggleFullscreen - ignoring, as FrameResized wasn't 
called "
+                       "since last switch\n");
                return;
        }
        fFrameResizedCalled = false;
@@ -731,7 +848,9 @@
 //             Sync();
 
                fSavedFrame = Frame();
-               printf("saving current frame: %d %d %d %d\n", 
int(fSavedFrame.left), int(fSavedFrame.top), int(fSavedFrame.right), 
int(fSavedFrame.bottom));
+               printf("saving current frame: %d %d %d %d\n", 
int(fSavedFrame.left), 
+                       int(fSavedFrame.top), int(fSavedFrame.right), 
+                       int(fSavedFrame.bottom));
                BScreen screen(this);
                BRect rect(screen.Frame());
 
@@ -860,7 +979,8 @@
        uint32 raw_char  = msg->FindInt32("raw_char");
        uint32 modifiers = msg->FindInt32("modifiers");
 
-       printf("key 0x%lx, raw_char 0x%lx, modifiers 0x%lx\n", key, raw_char, 
modifiers);
+       printf("key 0x%lx, raw_char 0x%lx, modifiers 0x%lx\n", key, raw_char, 
+               modifiers);
 
        switch (raw_char) {
                case B_SPACE:
@@ -882,7 +1002,8 @@
                                break;
 
                case B_TAB:
-                       if ((modifiers & (B_COMMAND_KEY | B_CONTROL_KEY | 
B_OPTION_KEY | B_MENU_KEY)) == 0) {
+                       if ((modifiers & (B_COMMAND_KEY | B_CONTROL_KEY | 
B_OPTION_KEY 
+                               | B_MENU_KEY)) == 0) {
                                PostMessage(M_TOGGLE_FULLSCREEN);
                                return B_OK;
                        } else
@@ -974,14 +1095,18 @@
 void
 MainWin::DispatchMessage(BMessage *msg, BHandler *handler)
 {
-       if ((msg->what == B_MOUSE_DOWN) && (handler == fBackground || handler 
== fVideoView))
+       if ((msg->what == B_MOUSE_DOWN) && (handler == fBackground 
+               || handler == fVideoView))
                MouseDown(msg);
-       if ((msg->what == B_MOUSE_MOVED) && (handler == fBackground || handler 
== fVideoView))
+       if ((msg->what == B_MOUSE_MOVED) && (handler == fBackground 
+               || handler == fVideoView))
                MouseMoved(msg);
-       if ((msg->what == B_MOUSE_UP) && (handler == fBackground || handler == 
fVideoView))
+       if ((msg->what == B_MOUSE_UP) && (handler == fBackground 
+               || handler == fVideoView))
                MouseUp(msg);
 
-       if ((msg->what == B_KEY_DOWN) && (handler == fBackground || handler == 
fVideoView)) {
+       if ((msg->what == B_KEY_DOWN) && (handler == fBackground 
+               || handler == fVideoView)) {
 
                // special case for PrintScreen key
                if (msg->FindInt32("key") == B_PRINT_KEY) {
@@ -1103,19 +1228,34 @@
                        break;
 
                case M_FILE_ABOUT:
-                       BAlert *alert;
-                       alert = new BAlert("about", NAME"\n\n"
-                       INFO1
-                       #if TIME_BOMB_ACTIVE
-                               "\n\n" INFO2
-                       #endif
-                       "\n\nCopyright "COPYRIGHT"\nVersion "VERSION"\nRevision 
"REVISION"\nBuild "BUILD, "OK");
-                       if (fAlwaysOnTop) {
-                               ToggleAlwaysOnTop();
-                               alert->Go();
-                               ToggleAlwaysOnTop();
-                       } else {
-                               alert->Go();
+                       {
+                               BString alertStr = fLocalizedName;
+                               alertStr << "\n\n";
+                               alertStr << fLocalizedInfo1;
+                               #if TIME_BOMB_ACTIVE
+                                       alertStr << "\n\n";
+                                       alertStr << INFO2;
+                               #endif
+                               alertStr << "\n\nCopyright ";
+                               alertStr << COPYRIGHT;
+                               alertStr << B_TRANSLATE("\nVersion ");
+                               alertStr << VERSION;
+                               alertStr << B_TRANSLATE("\nRevision ");
+                               if (strcmp(REVISION, "unknown") == 0)
+                                       alertStr << fLocalizedRevision;
+                               else
+                                       alertStr << REVISION;
+                               alertStr << B_TRANSLATE("\nBuild ");
+                               alertStr << BUILD;
+                       
+                               BAlert *alert;
+                               alert = new BAlert("about", alertStr.String(), 
B_TRANSLATE("OK"));
+                               if (fAlwaysOnTop) {
+                                       ToggleAlwaysOnTop();
+                                       alert->Go();
+                                       ToggleAlwaysOnTop();
+                               } else
+                                       alert->Go();
                        }
                        break;
 
@@ -1130,7 +1270,8 @@
                                ToggleFullscreen();
                        }
                        ResizeTo(int(fSourceWidth * fWidthScale),
-                                        int(fSourceHeight * fHeightScale) + 
(fNoMenu ? 0 : fMenuBarHeight));
+                                        int(fSourceHeight * fHeightScale) + 
(fNoMenu ? 0 
+                                               : fMenuBarHeight));
 //                     Sync();
                        break;
 
@@ -1167,11 +1308,13 @@
                        break;
 
                default:
-                       if (msg->what >= M_SELECT_CHANNEL && msg->what <= 
M_SELECT_CHANNEL_END) {
+                       if (msg->what >= M_SELECT_CHANNEL 
+                               && msg->what <= M_SELECT_CHANNEL_END) {
                                SelectChannel(msg->what - M_SELECT_CHANNEL);
                                break;
                        }
-                       if (msg->what >= M_SELECT_INTERFACE && msg->what <= 
M_SELECT_INTERFACE_END) {
+                       if (msg->what >= M_SELECT_INTERFACE 
+                               && msg->what <= M_SELECT_INTERFACE_END) {
                                SelectInterface(msg->what - M_SELECT_INTERFACE 
- 1);
                                break;
                        }

Modified: haiku/trunk/src/apps/tv/MainWin.h
===================================================================
--- haiku/trunk/src/apps/tv/MainWin.h   2010-06-29 16:37:15 UTC (rev 37302)
+++ haiku/trunk/src/apps/tv/MainWin.h   2010-06-29 17:22:17 UTC (rev 37303)
@@ -25,10 +25,13 @@
 #ifndef __MAIN_WIN_H
 #define __MAIN_WIN_H
 
-#include <Window.h>
+#include <Button.h>
+#include <Catalog.h>
+#include <Locale.h>
 #include <Menu.h>
-#include <Button.h>
 #include <Slider.h>
+#include <Window.h>
+
 #include "Controller.h"
 #include "VideoView.h"
 

Modified: haiku/trunk/src/apps/tv/VideoNode.cpp
===================================================================
--- haiku/trunk/src/apps/tv/VideoNode.cpp       2010-06-29 16:37:15 UTC (rev 
37302)
+++ haiku/trunk/src/apps/tv/VideoNode.cpp       2010-06-29 17:22:17 UTC (rev 
37303)
@@ -37,14 +37,16 @@
 #include "VideoView.h"
 
 void
-overlay_copy(uint32 lines, void *dst, uint32 dst_bpr, const void *src, uint32 
src_bpr)
+overlay_copy(uint32 lines, void *dst, uint32 dst_bpr, const void *src, 
+       uint32 src_bpr)
 {
 //     bigtime_t start = system_time();
        int len = min_c(dst_bpr, src_bpr);
 //     int len4 = len / 4;
        while (lines--) {
 /*
-               // this does not copy the last few bytes, if length is not 
aligned to 4 bytes
+               // this does not copy the last few bytes, if length is not 
aligned 
+               // to 4 bytes
                asm ("rep\n\t""movsl"
                     : 
                     : "c" (len4), "S" (src), "D" (dst)
@@ -161,6 +163,10 @@
                                                  const void *data,
                                                  size_t size)
 {
+       if (BBufferConsumer::HandleMessage(message, data, size) == B_OK
+               || BMediaEventLooper::HandleMessage(message, data, size) == 
B_OK)
+               return B_OK;
+
        return B_ERROR;
 }
 
@@ -174,7 +180,9 @@
                case BTimedEventQueue::B_START:
                        break;
                case BTimedEventQueue::B_STOP:
-                       EventQueue()->FlushEvents(event->event_time, 
BTimedEventQueue::B_ALWAYS, true, BTimedEventQueue::B_HANDLE_BUFFER);
+                       EventQueue()->FlushEvents(event->event_time, 
+                               BTimedEventQueue::B_ALWAYS, true, 
+                               BTimedEventQueue::B_HANDLE_BUFFER);
                        break;
                case BTimedEventQueue::B_HANDLE_BUFFER:
                        HandleBuffer((BBuffer *)event->pointer);
@@ -182,7 +190,7 @@
                default:
                        printf("VideoNode::HandleEvent unknown event");
                        break;
-       }                       
+       }
 }
 
 
@@ -258,13 +266,15 @@
                fInput.format.u.raw_video.field_rate = 25.0;
 
        color_space colorspace = format.u.raw_video.display.format;
-       BRect           frame(0, 0, format.u.raw_video.display.line_width - 1, 
format.u.raw_video.display.line_count - 1);
+       BRect           frame(0, 0, format.u.raw_video.display.line_width - 1, 
+               format.u.raw_video.display.line_count - 1);
        status_t        err;
 
        DeleteBuffers();
        err = CreateBuffers(frame, colorspace, fOverlayEnabled);
        if (err) {
-               printf("VideoNode::Connected failed, fOverlayEnabled = %d\n", 
fOverlayEnabled);
+               printf("VideoNode::Connected failed, fOverlayEnabled = %d\n", 
+                       fOverlayEnabled);
                return err;
        }       
 
@@ -304,7 +314,8 @@
                return B_MEDIA_BAD_DESTINATION;
 
        color_space colorspace = format.u.raw_video.display.format;
-       BRect           frame(0, 0, format.u.raw_video.display.line_width - 1, 
format.u.raw_video.display.line_count - 1);
+       BRect           frame(0, 0, format.u.raw_video.display.line_width - 1, 
+               format.u.raw_video.display.line_count - 1);
        status_t        err;
 
        DeleteBuffers();
@@ -312,7 +323,8 @@
                fVideoView->RemoveOverlay();
                err = CreateBuffers(frame, colorspace, true); // try overlay
                if (err) {
-                       printf("VideoNode::FormatChanged creating overlay 
buffer failed\n");
+                       printf("VideoNode::FormatChanged creating overlay 
buffer "
+                               "failed\n");
                        err = CreateBuffers(frame, colorspace, false); // no 
overlay
                }
        } else {
@@ -343,11 +355,13 @@
 
 //                             memcpy(fBitmap->Bits(), buffer->Data(), 
fBitmap->BitsLength());
 
-//                             fBitmap->SetBits(buffer->Data(), 
fBitmap->BitsLength(), 0, fInput.format.u.raw_video.display.format);
+//                             fBitmap->SetBits(buffer->Data(), 
fBitmap->BitsLength(), 0, 
+//                                     
fInput.format.u.raw_video.display.format);
 
                                overlay_copy(fBitmap->Bounds().IntegerHeight() 
+ 1, 
                                                         fBitmap->Bits(), 
fBitmap->BytesPerRow(), 
-                                                        buffer->Data(), 
fInput.format.u.raw_video.display.bytes_per_row);
+                                                        buffer->Data(), 
+                                                        
fInput.format.u.raw_video.display.bytes_per_row);
 
                                                        
                                fBitmap->UnlockBits();
@@ -357,7 +371,8 @@
 
                        overlay_copy(fBitmap->Bounds().IntegerHeight() + 1, 
                                                 fBitmap->Bits(), 
fBitmap->BytesPerRow(), 
-                                                buffer->Data(), 
fInput.format.u.raw_video.display.bytes_per_row);
+                                                buffer->Data(), 
+                                                
fInput.format.u.raw_video.display.bytes_per_row);
                }
 //             printf("overlay copy: %Ld usec\n", system_time() - start);
        }
@@ -407,8 +422,9 @@
 status_t
 VideoNode::CreateBuffers(BRect frame, color_space cspace, bool overlay)
 {
-       printf("VideoNode::CreateBuffers: frame %d,%d,%d,%d colorspace 0x%08x, 
overlay %d\n", 
-               int(frame.left), int(frame.top), int(frame.right), 
int(frame.bottom), int(cspace), overlay);
+       printf("VideoNode::CreateBuffers: frame %d,%d,%d,%d colorspace 0x%08x, "
+               "overlay %d\n", int(frame.left), int(frame.top), 
int(frame.right), 
+               int(frame.bottom), int(cspace), overlay);
 
 //     int32 bytesPerRow = B_ANY_BYTES_PER_ROW;
 //     if (cspace == B_YCbCr422)
@@ -418,7 +434,8 @@
 
        LockBitmap();
        ASSERT(fBitmap == 0);
-       uint32 flags = overlay ? (B_BITMAP_WILL_OVERLAY | 
B_BITMAP_RESERVE_OVERLAY_CHANNEL) : 0;
+       uint32 flags = overlay ? (B_BITMAP_WILL_OVERLAY 
+               | B_BITMAP_RESERVE_OVERLAY_CHANNEL) : 0;
 //     fBitmap = new BBitmap(frame, flags, cspace, bytesPerRow);
        fBitmap = new BBitmap(frame, flags, cspace);
        if (!(fBitmap && fBitmap->InitCheck() == B_OK && fBitmap->IsValid())) {
@@ -429,7 +446,8 @@
                printf("VideoNode::CreateBuffers failed\n");

[... truncated: 152 lines follow ...]

Other related posts:

  • » [haiku-commits] r37303 - haiku/trunk/src/apps/tv - pulkomandy