iamgnat / mac-carfrontend

Automatically exported from code.google.com/p/mac-carfrontend
GNU General Public License v3.0
0 stars 0 forks source link

AppleRemote support #5

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Need to add support for the AppleRemote.

Volume +/- should always manage the system volume.

All other buttons should be managed by the active plugins.

Original issue reported on code.google.com by iamgnat on 2 Aug 2007 at 9:53

GoogleCodeExporter commented 9 years ago
Two options come to mind:

1) Utilize NSNotification.
    +) Minimal management code in the client (simply forward on).
    +) Notification functionality is common and well documented.
     -) What happens if a plugin (e.g. a Music player) is running in the back ground and the active plugin (e.g. a 
Photo viewer) both want to respond to the event, but in different ways.

2) Build a registration system for plugins to register what they want to react 
to and how they want to react, then 
only the active plugin gets the notification.
    -) The plugin API needs to be modified to the plugin can talk to the client (probably should do this anyway).
    +) Predictable results when an event fires.
    -) More logic in the client
    -) Not as simple/documented of an interface for new developers to use when writing a plugin.

Original comment by iamgnat on 2 Aug 2007 at 10:01