qmltube: Port/fork of cutetube-qml for Linux, MeeGo Netbook, Tablet and Harmattan.


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.


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.


Toplevel of Application:
Video Playback:
Video Info View Comments:
Settings Panel:
My Channel Screen:
My Uploads:
My Favorites:
Multiple Select From Subscription:
Multiple Select Downloading:
Downloading Selected Videos:
Add Account:
Authorizing Account:
Authorized Accounts:
Twitter Authorization:
Twitter Sharing:
Facebook Authorizing:
Facebook Sharing:
Video Upload Setup:
Video Uploading:


Qmltube is an open-source project based on Maemo's cutetube-QML:

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



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.


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).