Results 1 to 9 of 9

Thread: Upcoming Plugin protocol changes

  1. #1
    CarFrontEnd Creator iamgnat's Avatar
    Join Date
    Jul 2004
    Location
    NoVA
    Posts
    867

    Upcoming Plugin protocol changes

    If anyone is actively working on a plugin, please make sure you develop with the latest version of code that I just checked in. It adds the initWithPluginManager: method to the protocol which is what the PluginManager will call to init your object.

    You can look at the iTunes plugin or SamplePlugin for examples of what should be done, I will get more documentation out soon about it.

    This change is required for the other changes (skeleton is checked in, but the messages don't do anything right now) i'm working on to allow for plugins to communicate with each other and CarFrontEnd itself.

    More later, but I hope to release these new features this week.

    -dave
    My pathetic worklog.
    CarFrontEnd (now it's own sub-forum!!!!)

  2. #2
    CarFrontEnd Creator iamgnat's Avatar
    Join Date
    Jul 2004
    Location
    NoVA
    Posts
    867
    Ok. The code is done and working at least for the minimal implementation/testing i've done so far. Anyone that wants to test it is taking their sanity in their own hands

    Obviously any plugins written for this won't work with pre-1.0a7 builds of CFE, so you would have to wait to release it.

    These changes all relate to giving more power to the plugins and allowing more control over CFE.

    First I have added a messaging system. All the documented messages are responded to/sent as described. The only one currently being exercised (at least that is visible) is the driver side swap.

    Second I have added preference storage support so you don't have to do anything more than manage a NSDictionary if you need to persist configuration information.

    Finally, I started adding some utilities that may be useful.

    Outside of the above wiki page, you'll have to poke at CarFrontEndAPI/CarFrontEndAPI.h and CarFrontEndAPI/PluginManager.h until I get some more docs done.

    Let me know if anyone starts playing with this stuff and has trouble.

    -dave
    My pathetic worklog.
    CarFrontEnd (now it's own sub-forum!!!!)

  3. #3
    Admin. Linux loser.
    Auto Apps:loading...
    Bugbyte's Avatar
    Join Date
    Sep 2004
    Location
    Corning, NY
    Posts
    7,359
    Blog Entries
    2
    This is cool. Thanks for coding the FE and putting out in the public domain. I think as the winter gets longer I may try to work up a plug-in. We'll see.

    In the meantime, I see that one of the messages is to swap display sides? Does that mean that the buttons swap to passenger and back?
    Quote Originally Posted by ghettocruzer View Post
    I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
    Want to:
    -Find out about the new iBug iPad install?
    -Find out about carPC's in just 5 minutes? View the Car PC 101 video

  4. #4
    CarFrontEnd Creator iamgnat's Avatar
    Join Date
    Jul 2004
    Location
    NoVA
    Posts
    867
    Quote Originally Posted by Bugbyte View Post
    In the meantime, I see that one of the messages is to swap display sides? Does that mean that the buttons swap to passenger and back?
    Technically it's to swap sides to support both left & right drivers, but you could use it for passengers I suppose

    I've gone and messed up the music player adding driver side support to it (lost the binding on the Playlist button and can't seem to get it to work again) I'm out all evening for a footie match, but hopefully I can fix it late tonight when I get home.

    Then i'm going to work on adding message support and an interface for other players to communicate with the music player. I'm still trying to figure out the best method to handle potentially multiple music player plugins trying to all respond to the same information though

    I think there will be one more change to the messaging to control if messages are sent to non-active (e.g. content is not being displayed) plugins, but i'm still torn. The upside is that if I only send messages to the active plugin, you don't have to worry about a plugin (that you aren't currently using) hanging the app while it does some long drawn out logic. The downside is that there are valid cases where messages should be sent to "inactive" plugins (such as allowing another plugin to control the music player while displaying it's own view). So it needs to be configurable (at the message level), but that might not even be 100% accurate.

    -dave
    My pathetic worklog.
    CarFrontEnd (now it's own sub-forum!!!!)

  5. #5
    Low Bitrate bpwned's Avatar
    Join Date
    Jan 2007
    Location
    Munich, Germany
    Posts
    82
    That messaging system is really cool, are you going to add some messages/events to the iTunes plugin, too?

    One could for example write a track notification plugin that always shows up when the current song changes, whatever plugin one might be using right now. (If it's possible for a plugin to display something over CFE - is it?)
    Maybe some "remote" control abilities, too? I think then it would really make sense for me to write a Velleman K8055/<random IO-Board> plugin... could change the volume from my steering wheel controls, change the track, ...

    I suggest not wasting any time on left side drivers. Why? Simple: CFE might be *THE* reason for them to switch over to the right side of the street.
    Just kidding, keep up the good work.

  6. #6
    CarFrontEnd Creator iamgnat's Avatar
    Join Date
    Jul 2004
    Location
    NoVA
    Posts
    867
    Quote Originally Posted by bpwned View Post
    That messaging system is really cool, are you going to add some messages/events to the iTunes plugin, too?
    Yeap. See my ramblings above.

    I think then it would really make sense for me to write a Velleman K8055/<random IO-Board> plugin... could change the volume from my steering wheel controls, change the track, ...
    Someone better! That is the whole point of all this message

    -dave
    My pathetic worklog.
    CarFrontEnd (now it's own sub-forum!!!!)

  7. #7
    CarFrontEnd Creator iamgnat's Avatar
    Join Date
    Jul 2004
    Location
    NoVA
    Posts
    867
    Ok. Yes I did change how messaging works. The message is now a CFEMessage (struct) rather than just a NSString. I also got the music plugin working again (responds to CFEMessageMenuSwapSide now).

    All these changes are checked in and i'll get the Wiki for messaging updated tomorrow. Still not ready to release a new binary yet though

    -dave
    My pathetic worklog.
    CarFrontEnd (now it's own sub-forum!!!!)

  8. #8
    CarFrontEnd Creator iamgnat's Avatar
    Join Date
    Jul 2004
    Location
    NoVA
    Posts
    867
    Quote Originally Posted by iamgnat View Post
    All these changes are checked in and i'll get the Wiki for messaging updated tomorrow.


    Sorry about that. I've just updated the Wiki entry.

    The code has seemed pretty stable and I haven't seen any issues with the messaging interface, so it is probably ready to release. I have been holding off while i'm learning the AppleScript interface to Cocoa so I can add AS to CFE.

    I'll leave it up to everyone else though. If you want me to go ahead and release 1.0a7 (besides more through right/left driver side support, no noticeable difference to the end user) raise your hand. If not i'll release it when I get AppleScript support working.

    -dave
    My pathetic worklog.
    CarFrontEnd (now it's own sub-forum!!!!)

  9. #9
    CarFrontEnd Creator iamgnat's Avatar
    Join Date
    Jul 2004
    Location
    NoVA
    Posts
    867
    Ok. I understand the basics of AppleScript, but getting it to play how I want it to in a plugin architecture is not being so nice at the moment.

    So i'll go ahead and release 1.0a7 this weekend so the new protocol changes can start getting out there.

    -dave
    My pathetic worklog.
    CarFrontEnd (now it's own sub-forum!!!!)

Similar Threads

  1. Velleman K8055 USB I/O Board Extension plugin
    By 307SW_NLD in forum RR Released Plugins
    Replies: 224
    Last Post: 02-24-2013, 06:59 AM
  2. Garo's Extra POI Plugin 1.0 beta 1
    By garo in forum Map Monkey
    Replies: 63
    Last Post: 01-18-2007, 12:32 PM
  3. IRMAN plugin
    By knyarko in forum StreetDeck
    Replies: 3
    Last Post: 01-05-2007, 08:26 PM
  4. How do I use the Base plugin sources ?
    By guino in forum RR FAQ
    Replies: 1
    Last Post: 04-24-2006, 03:43 PM
  5. Winamp LCD display plugin / IRMan plugin - together?
    By Jarrod in forum Software & Software Development
    Replies: 9
    Last Post: 06-03-2002, 05:39 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •