Rocco pres-v1

652 views
621 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
652
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rocco pres-v1

  1. 1. Controlling the Canola2 Media Player on N900 with Zeemote<br />RomainColtel, Sean Murphy<br />
  2. 2. Objective & Motivation<br />Objective:<br />To develop solution for controlling media player with Zeemote<br />Motivation:<br />Zeemote mainly used for games so far<br />Interesting to explore how it can be used to control media player<br />
  3. 3. N900 – why?<br />Zeemote experience available<br />Jim had experimented with this and Zeemote<br />Open Source media player available<br />Canola2<br />TV out interface available<br />Good for demonstration!<br />Maemo more open than Android<br />…although this point was not so significant<br />
  4. 4. What is Canola2?<br />Media player largely developed by Nokia<br />Flexible, extensible<br />Can handle different media types<br />Good support for plugins<br />Open source<br />We can modify as necessary<br />To implement Zeemote control functions<br />Available as extra for Maemo devices<br />Not shipped with OS by default<br />
  5. 5. Canola2 - History<br />Canola<br />Nokia project to support touch screen control of media player<br />Canola2 <br />Rewrite based on new windowing system<br />Faster, more lightweight, more flexible <br />Canola is character from Irish mythology<br />Inventor of the harp<br />
  6. 6. Canola2 - UI<br />Designed to support touch/mouse control<br />Zeemote control somewhat different<br />Specifically need to know current selected/focus item<br />Requires small modifications to Canola2 visuals<br />Designed based on Enlightenment window system<br />Lightweight, powerful, pretty window system<br />Not very widely used<br />Used in Free STBs in France<br />
  7. 7. Canola2 – implementation<br />Written entirely in Python<br />Built on python wrappers around Enlightenment Foundation Library (EFL)<br />Python v2.5<br />Sophisticated class hierarchy<br />Final application comprises of small modifications to parent classes<br />Can be difficult to find where functionality exists in class hierarchy<br />
  8. 8. Canola2 - internals<br />Typical windows application<br />Events, callback architecture<br />Mouse and keyboard events supported<br />Dbus events also supported<br />Callback for activity on dbus<br />Menu system for navigating around content<br />Control mechanism for controlling external players<br />Gstreamer, mplayer<br />
  9. 9. Issues<br />Steep learning curve<br />Python<br />Enlightenment<br />Canola<br />Dbus<br />ZCP<br />UI modifications to support remote control interaction<br />
  10. 10. Status<br />Developed python ‘driver’ for Zeemote<br />Understands much of ZCP<br />Developed standalone process which parses ZCP and sends events to Canola<br />Over DBus<br />Modified Canola to show current focus<br />Modified Canola to respond to events<br />Menu navigation possible<br />More work needed on media control<br />
  11. 11. Next steps<br />Make modifications to enable full media player control<br />Next week<br />Demo to Nokia (?)<br />Discuss with Zeemote(?)<br />Can give python ZCP implementation to them<br />Prob BSD style license<br />Will probably put demo on youtube<br />

×