Thomas Schueppel wrote: > hi, Hi
> did some experimenting with cdrdao last night. I can > burn/rip bin/cue sheets now. They have some undocumented > parameter to pass messages to an external app which I > am using to get messages for progress and errors. Maybe you don't need them. Freevo has control about the stdin and stdout. Parsing stdout is also possible. > Any ideas how to integrate this into freevo? Yes > Something like that: > On CDs: RIP to disc, COPY > On cue-files: Burn > Perhaps on Playlists: Burn audio CD. > > Also it would be nice to burn cds in background > while listening to music or so. Any ideas how to do > that? OK, let's see: You want to add a action to an item. Pressing ENTER on a cd should give you the action 'rip to disc'. You need an item plugin to do that. This kind of plugin get's the item when building the item menu and you can choose to add one or more actions (based on the type of item). You need to return a name 'rip to disc' and a function 'self.rip_to_disc'. You can also provide a shortcut to use the new event system to start this on an extra key ... but you may not need that. Look into small plugins like mover.py or imdb.py how to do that. If you place the plugin in the normal plugin directory, it is usable for all items, if you but it for example in video/plugins it's only visible in the video menu. Your callback function should create a thread so it can run in the background. This thread should use childapp to start the process (see mplayer.py how to do this, use the mplayer in audio because it is shorter). Then the thread is running and Freevo could return to normal and you can play music or whatever. Until now, this is very simple, but there are some problems: 1. You should take care that you can't burn a cd while another is burning (ok, that is easy, just check if you thread is running) 2. How to get information about the progress? a) you can't, just wait until the disc comes out ;-) b) you add an item to the MAIN MENU (or the AUDIO|VIDEO|... MAIN MENU). You need a main menu plugin for that. Right now, a plugin can only be one kind of plugin, so you need two plugins in your file, one item plugin, one main menu plugin. Right now all plugins must be loaded at startup, so it is not possible that the item menu creates the main menu plugin when it is needed. This main menu plugin could return no item when your thread isn't running or return an item which could should the progress when you select it (see the detach plugin for example). b) you use the idlebar. But we have to cleanup the idlebar before and not every user uses the idlebar. And you also need an idlebar plugin to show the information. 3. The item plugin can add actions to visible items. But bin/cue files are not known to Freevo so they are not shown and therefore you can't add an action. We need some kind of file browser for that which displays all files. HTH Dischi -- Unnamed Law: If it happens, it must be possible. ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel