if you want to try the PlutoMO (native, not Java) on a Symbian S60 3rd edition phone, you should read this post:
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
[root@localhost group]# makesis PlutoMO-lnx.pkg
[2008/03/21 00:01:44] <TSCHAK> i'll whip together a gallery viewer
[2008/03/21 00:02:07] <hari> TSCHAK: cool
[2008/03/21 00:02:14] <hari> TSCHAK: anything i can assist with?
[2008/03/21 00:02:33] <hari> thats one of the features my SO is begging for
[2008/03/21 00:02:47] <TSCHAK> hari, well.. this is my plan of attack:
[2008/03/21 00:03:03] <TSCHAK> hari, (1) look at the Photo_Screensaver Template and code... figure out what we can and can't use
[2008/03/21 00:04:49] <TSCHAK> hari, then (2) create the DCE for the plugin and player..
[2008/03/21 00:05:11] <TSCHAK> hari, then.. (3) try to figure out if there's anything we need to circumvent at the Media Plugin
[2008/03/21 00:05:26] <TSCHAK> hari, then (4) implement the first pass, grafting code from photo screen saver into the new plugin
[2008/03/21 00:05:55] <hari> TSCHAK: just looking at (1)
[2008/03/21 00:05:59] <TSCHAK> hari, basically (3) is going to be one of the hairier parts, because we need to figure out WHAT in the media plugin is hard coded with respect to photos
[2008/03/21 00:06:29] <TSCHAK> I dread (3)
[2008/03/21 00:06:31] <TSCHAK> ;-)
[2008/03/21 00:14:40] <TSCHAK> hari, okay, making a new media plugin, Pictures Plugin
[2008/03/21 00:15:53] <TSCHAK> basically, we need to ...get the view/visualization stuff
[2008/03/21 00:15:57] <TSCHAK> and rip it out of photo screensaver
[2008/03/21 00:16:50] <TSCHAK> hopefully this can be a partial cut and paste job
[2008/03/21 00:17:11] <TSCHAK> the first bit, is getting the DCERouter Plugin fleshed out
[2008/03/21 00:18:03] <TSCHAK> hari, i am using the Xine_Plugin as my visual template
[2008/03/21 00:18:18] <TSCHAK> hari, at the very least, you have to implement create stream, play stream, and stop stream
[2008/03/21 00:21:20] <TSCHAK> hari, pictures_plugin has a device category of media player plugins < plugins for the DCE router
[2008/03/21 00:22:41] <hari> so i assume that builds a playlist from the datagrid and then tell the device to display the items..
[2008/03/21 00:23:09] <TSCHAK> yes, all of that is actually handled by the media plugin
[2008/03/21 00:23:33] <hari> so why do we need a distinct plugin then?
[2008/03/21 00:23:34] <TSCHAK> so for this first pass, i just implement the plugin commands to create the media stream etc.
[2008/03/21 00:23:42] <TSCHAK> because it's a distinct media stream type
[2008/03/21 00:24:06] <hari> so the media plugin abstracts stream types and the distinct plugins handle them?
[2008/03/21 00:24:17] <TSCHAK> well, there's two parts
[2008/03/21 00:24:31] <TSCHAK> (yes, this is gonna take some explaining)
[2008/03/21 00:24:43] <TSCHAK> (I had to figure this all out from scratch)
[2008/03/21 00:24:52] <TSCHAK> there is.. media plugin...
[2008/03/21 00:24:57] * bmac2 is listening intently so maybe he will get a clue on plugins
[2008/03/21 00:25:07] <TSCHAK> media plugin provides all the UI aspects of the media section of the orbiter
[2008/03/21 00:25:16] <TSCHAK> it also provides the base classes for media streams
[2008/03/21 00:25:28] <shaggy71875_lmce> *shaggy listens to the wise ones as well
[2008/03/21 00:25:40] <TSCHAK> media streams are basically handle classes, that encapsulate the media url, time code, etc...
[2008/03/21 00:25:51] <hari> k
[2008/03/21 00:26:01] <TSCHAK> and every media stream, has a distinct type
[2008/03/21 00:26:05] <TSCHAK> remember, we're dealing with C++ here...
[2008/03/21 00:26:47] <TSCHAK> and typically every media type has its own plugin... Xine is sort of a swiss army knife
[2008/03/21 00:26:52] <TSCHAK> because it handles both audio and video
[2008/03/21 00:27:03] <TSCHAK> but that doesn't matter.. .for this discussion, I'll continue
[2008/03/21 00:27:10] <TSCHAK> so....
[2008/03/21 00:27:22] <TSCHAK> there are two different pieces of code we're dealing with here
[2008/03/21 00:27:47] <TSCHAK> the plugin, which runs on the core...which creates our MediaStream subclass (PictureMediaStream)
[2008/03/21 00:27:58] <TSCHAK> and finding all of the Player objects in the house that can handle it
[2008/03/21 00:28:28] <TSCHAK> the plugin part needs to deal with figuring out which players can do what, and therefore what to send...
[2008/03/21 00:28:46] <hari> k
[2008/03/21 00:28:48] <TSCHAK> the OTHER part of the equation
[2008/03/21 00:28:51] <TSCHAK> is the Player
[2008/03/21 00:28:56] <TSCHAK> the Player... is what runs on each media director
[2008/03/21 00:29:09] <TSCHAK> Pictures_Player recieves commands from Pictures_Plugin
[2008/03/21 00:29:18] <TSCHAK> mainly, Play Media, Stop Media etc.
[2008/03/21 00:29:29] <hari> k
[2008/03/21 00:29:36] <hari> how does the datagrid plugin fit into this picture?
[2008/03/21 00:29:37] <TSCHAK> and uses the media stream identifiers and URL etc passed to it from the plugin
[2008/03/21 00:29:40] <TSCHAK> to do what it needs to do to work
[2008/03/21 00:29:50] <TSCHAK> Media_Plugin handles all datagrid interaction
[2008/03/21 00:30:19] <TSCHAK> as such, you don't have to do things like register a datagrid generator, etc...
[2008/03/21 00:30:24] <TSCHAK> all you have to do
[2008/03/21 00:30:31] <TSCHAK> is respond to play media, stop media etc commands
[2008/03/21 00:30:38] <TSCHAK> and media plugin will build and manage your playlists for you
[2008/03/21 00:30:50] <hari> ah, the datagrid stuff is handled at the media plugin level?
[2008/03/21 00:30:55] <hari> k
[2008/03/21 00:30:57] <TSCHAK> you get a metric fuckton of functionality for free
[2008/03/21 00:31:05] <TSCHAK> including the file list
[2008/03/21 00:31:07] <TSCHAK> etc
[2008/03/21 00:31:12] <TSCHAK> all of this is abstracted out
[2008/03/21 00:31:14] <hari> so we don't even have to handle the playlist..
[2008/03/21 00:31:21] <TSCHAK> the only thing we need to deal with
[2008/03/21 00:31:29] <TSCHAK> is the "Jump to Playlist Entry" command
[2008/03/21 00:31:49] <TSCHAK> so if you click a picture entry on the playlist data grid, it will go to the right one
[2008/03/21 00:31:52] <hari> to tell the device which exact item of the playlist to show
[2008/03/21 00:31:55] <TSCHAK> yup
[2008/03/21 00:32:03] <TSCHAK> there are other bits as well that we can investigate
[2008/03/21 00:32:19] <TSCHAK> there are operator overloads with respect to queuing and dequeuing the playlist
[2008/03/21 00:32:20] * bmac2 is still hunting like mad to find these parts of code in the src directory in his code
[2008/03/21 00:32:38] <TSCHAK> bmac2, src/Media_Plugin
[2008/03/21 00:32:43] <bmac2> I am there
[2008/03/21 00:32:45] <TSCHAK> bmac2, and src/Xine_Plugin
[2008/03/21 00:32:49] <TSCHAK> bmac2, and src/Xine_Player
[2008/03/21 00:33:26] <TSCHAK> and there are things we need to override in the media plugin to enable certain bits of functionality
...i see the message on the router but it has no handlers:
log('Input #420: CDR')
cmd = Command.new(device_.devid_, -1001, 1, 2, 49);
cmd.params_ = input_param.to_s()
07 01/13/08 2:54:49.681 Event #49 has no handlers <0x71aa8b90>does anybody know more about event #49?
07 01/13/08 2:54:49.681 Received Message from 98 (SR7001 / Wohnzimmer) to -1001 (unknown / ), type 2 id 49 Event:AV Input Changed, retry none, parameters: <0x71aa8b90>