rocco pres-v1

11
Controlling the Canola2 Media Player on N900 with Zeemote Romain Coltel, Sean Murphy

Upload: sean-murphy

Post on 05-Dec-2014

684 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rocco pres-v1

Controlling the Canola2 Media Player on N900 with Zeemote

Romain Coltel, Sean Murphy

Page 2: Rocco pres-v1

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

Page 3: Rocco pres-v1

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

Page 4: Rocco pres-v1

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

Page 5: Rocco pres-v1

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

Page 6: Rocco pres-v1

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

Page 7: Rocco pres-v1

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

Page 8: Rocco pres-v1

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

Page 9: Rocco pres-v1

Issues

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

UI modifications to support remote control interaction

Page 10: Rocco pres-v1

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

Page 11: Rocco pres-v1

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