INTRODUCTION
Qmltube is a port/fork of Stuart Howarth's cuteTube-QML YouTube/DailyMotion/Vimeo client for the Nokia N900. The porting effort from Maemo cutetube-QML results in a multiplatform app that runs on Meego Netbooks and Tablets, Linux Desktops, and Harmattan for the Nokia N9/N950. This application provides just the right set of features and functionality to enable easy video browsing, playback, sharing (via Facebook or Twitter), downloading and uploading using the YouTube, DailyMotion, or Vimeo video services. The interface is sized for easy touchscreen usage, but works well on a standard MeeGo Netbook, or Linux Desktop, using a mouse.
MULTIPLATFORM
This port of Qmltube runs on Linux (e.g. Fedora), the Nokia N9/N950 running
MeeGo 1.2 Harmattan, on MeeGo 1.2 Netbook-UX, and on MeeGo 1.2
Tablet-UX. Different launch and full-screen behaviors are setup for the
various platforms. When "Controller.isMeegoTablet==true", the application
is launched to cover the full tablet display; clicking the fullscreen
button toggles the tablet-UX window-dressing, which is off by default as it
takes up precious screen real-estate needed for video-watching and
browsing. On generic Linux systems, the application
launches to a small "VGA" size, but can be toggled to cover the full
desktop by clicking the fullscreen button, or set to a custom-size via the
window manager. And on the MeeGo netbook, qmltube attempts to be
friendly and launches full-window but not full-screen, so that the
application-switcher can still be accessed. Clicking the fullscreen
button will toggle to fullscreen mode to maximize screen real-estate
for video playback. In all cases, the video and GUI will rescale to fit
the
given application size; an efficient underlying implementation makes this all possible even on a mobile platform.
SCREENSHOTS
OPEN SOURCE GPL
Qmltube is an open-source project based on Maemo's cutetube-QML:
http://repository.maemo.org/extras-devel/pool/fremantle/free/source/q/qm...
The GPL'd source code for this fork/port of the Maemo is available:
svn checkout http://ytd-meego.googlecode.com/svn/trunk/playground/qmltube ; qtcreator qmltube/qmltube.pro
FUTURE
USAGE DETAILS
Usage: /opt/qmltube/bin/qmltube [[--raster] --play EXTERNALVIDEOURL ]
Launched from the installed /usr/share/applications/qmltube.desktop file, '/opt/qmltube/bin/qmltube' with no parameters is used. However you may want to make your own copy of the desktop file and customize things:
cp /usr/share/applications/qmltube.desktop ~/.local/share/applications ; $EDITOR ~/.local/share/applications/qmltube.desktop
Add "--raster" parameter of you don't have a decent/working GL
implementation in which case Qt will use the relatively efficient but
generic backend. Of course, if your platform is MeeGo compliant, you
shoudn't need this. Some other Linux platforms might.
The "--play" parameter can be used to pass EXTERNALVIDEOURL to be viewed. In
this mode, qmltube parses the download stream embedded in the video URL and
directly invokes the system media player to play back the given video from
YouTube, Vimeo, or DailyMotion. It is intended to be invoked as a subprocess of
the MeeGo Tablet UX "MeeGo PanelsYouTube" feature: when the user clicks a video, it plays back in the media player.
On MeeGo Tablet Ux, you may want to make a local qmltube.desktop copy and
comment-out the existing "Exec" line and add "Exec=invoker
--single-instance --type=d /opt/qmltube/bin/qmltube" instead. This will
allow only one instance of the app to run, and/or prevent multiple copies
running and being inaccessible once app-switcher is used.
KNOWN ISSUES IN THIS FIRST PUBLIC RELEASE
On the tablet-UX, the virtual keyboard pops up and cannot be popped down.
Alternately, the virtual keyboard obscures the "submit" button on a
form. In many cases, this can be avoided by forcing the virtual keyboard to
pop-down by using the app-switcher to switch to a different application;
then switch back to qmltube and complete the formerly blocked task.
(TODO: fix this by forcing VKB to pop down explicitly when a textfield
loses focus, or when a submit action occurs).