Difference between revisions of "Mac OS X Porting - Apple Remote implementation"

From Apache OpenOffice Wiki
Jump to: navigation, search
(1) Mode not presenting: Added a IMHO better name for "Mode not presenting")
(2) Mode Presentation: Added a IMHO better name for (Mode Presentation))
Line 17: Line 17:
 
*  Other buttons are inactive in not presenting mode
 
*  Other buttons are inactive in not presenting mode
  
==== 2) Mode Presentation ====
+
==== 2) Mode Presentation (Presentation Mode?) ====
  
 
* Hit  Page backward (  '''|<<''' symbol ) gives Previous page (if exists)
 
* Hit  Page backward (  '''|<<''' symbol ) gives Previous page (if exists)

Revision as of 07:50, 13 June 2008

Apple Remote Implementation

Initial Code is from Martin Kahr. See Martin website


AppleRemote.jpg

Note: the existing code allows to use the Keyspan remote device. If you have such device, please provide us feedback and help us to make it work

Modes

The current idea is to implement the modes described below. If you have a better idea (not too complicated though), please tell us.

1) Mode not presenting (Standard Mode?)

  • Hit |> || symbol (play /pause) starts the presentation
  • Other buttons are inactive in not presenting mode

2) Mode Presentation (Presentation Mode?)

  • Hit Page backward ( |<< symbol ) gives Previous page (if exists)
  • Hit Page forward ( >>| symbol) gives Next page (if exists)
  • Menu key toggles navigator Open/Closed
  • Play/Pause (|> || symbol) play/pause media or automation
  • When not in navigator mode, hold Menu ends the presentation

integrate the code in OpenOffice.org for Mac OS X

Done :

Concerned modules :

  • external (Apple Remote code will be there due to the MIT License )
  • scp2 : libAppleRemotemxi.dylib has to be packaged
  • vcl : MainControler object and notifications are detected by the NSApplication in all its life

Code :

  • created external/AppleRemote tree
  • created the makefile, links against IOKit framework
  • modified prj/build.lst to build external/AppleRemote
  • modified prj/d.lst to deliver the headers in the solver (vcl will need them) and deliver libAppleRemotemxi.dylib
  • build is ok : no warning (fixed the static issue, and all the other warnings , made the code more robust)
  • in vcl : modified the makefile ( linking against libAppleRemotemxi.dylib ), added mpMainController member in SalData ( saldata.hxx ),

initialized mpMainController in the SalData Ctor, added the MainController initialization in initNSApp() (salinst.cxx)


TODO :

  • intercept events with the remote
  • bind with vcl events
  • make it work
  • improve

make it buildable

Done. With the current code, no warnings, everything is delivered as expected.

bind with vcl events

=> TODO

make it work

=> TODO

create the cws and commit

Commit in external is a nightmare, because an alias or something strange has to be created.

TODO: file the issue, and ask mh the alias to be created. (maybe things are more easy now ?)


Improve

  • Did Apple document the API since ?
  • Document how things are working
  • Does an Impress Controller API exist ?
  • Contact Andre Fisher, the specialist of the thing (said Philipp Lohmann)
Personal tools