Rocco pres-v1

Post on 05-Dec-2014

684 views 0 download

description

 

Transcript of Rocco pres-v1

Controlling the Canola2 Media Player on N900 with Zeemote

Romain Coltel, Sean Murphy

Objective & Motivation

Objective:› To develop solution for controlling media

player with Zeemote Motivation:

› Zeemote mainly used for games so far› Interesting to explore how it can be used

to control media player

N900 – why?

Zeemote experience available› Jim had experimented with this and

Zeemote Open Source media player available

› Canola2 TV out interface available

› Good for demonstration! Maemo more open than Android

› …although this point was not so significant

What is Canola2?

Media player largely developed by Nokia Flexible, extensible

› Can handle different media types› Good support for plugins

Open source› We can modify as necessary

To implement Zeemote control functions Available as extra for Maemo devices

› Not shipped with OS by default

Canola2 - History

Canola› Nokia project to support touch screen

control of media player Canola2

› Rewrite based on new windowing system Faster, more lightweight, more flexible

Canola is character from Irish mythology› Inventor of the harp

Canola2 - UI

Designed to support touch/mouse control› Zeemote control somewhat different

Specifically need to know current selected/focus item

Requires small modifications to Canola2 visuals Designed based on Enlightenment

window system› Lightweight, powerful, pretty window system› Not very widely used

Used in Free STBs in France

Canola2 – implementation

Written entirely in Python› Built on python wrappers around

Enlightenment Foundation Library (EFL)› Python v2.5

Sophisticated class hierarchy› Final application comprises of small

modifications to parent classes Can be difficult to find where functionality

exists in class hierarchy

Canola2 - internals

Typical windows application› Events, callback architecture› Mouse and keyboard events supported› Dbus events also supported

Callback for activity on dbus Menu system for navigating around

content Control mechanism for controlling

external players› Gstreamer, mplayer

Issues

Steep learning curve› Python› Enlightenment› Canola› Dbus› ZCP

UI modifications to support remote control interaction

Status

Developed python ‘driver’ for Zeemote› Understands much of ZCP

Developed standalone process which parses ZCP and sends events to Canola› Over DBus

Modified Canola to show current focus Modified Canola to respond to events Menu navigation possible More work needed on media control

Next steps

Make modifications to enable full media player control› Next week

Demo to Nokia (?) Discuss with Zeemote(?)

› Can give python ZCP implementation to them Prob BSD style license

› Will probably put demo on youtube