Revision 788838

Go back to digest for 23rd March 2008

Features in Multimedia

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:

First of all, yes, unfortunately this commit destroys quite a bit of history in the scriptable service directory, but as nothing in there has really been useful up to this point ( I wrote it all, so I think I am a good authority on that ), I dont think this is a major loss...

So, what does this huge commit actually do?

1. Add a redesigned scriptable service with a sane DBus API consisting of only 3 functions. Make amount of levels configurable and make everything completely dynamic
2. Make the service scripts use the same callback method as regular scripts
3. Integrate scriptable services with the service manager, making it possible to run and stop service scripts from there
4. Add a new service category to the scriptmanager
5. Add ( recreate ) a simple cool streams service script. This one works really nicely
6. Add a deme file browser script. This one is mainly for testing the scriptable services and currently contains some hardcoded paths, so it should not be included in a release ( it is also basically useless, but I had to have something to test agains when I had no internet )
7. Fix a ton of bugs and crashes in the new scriptable service.

All in all, not bad for a few days in a small wodden cabin with a girlfriend who is busy studying for an examn... :-)

And to all the people I have been telling that there would be no scriptable service in 2.0, sorry, but I changed my mind!

File Changes

Added 18 files
  • /trunk/extragear/multimedia/amarok/src
  •   /scripts/file_browser_demo_service
  •   /scripts/radio_station_service
  •   /scripts/file_browser_demo_service/CMakeLists.txt
  •   /scripts/file_browser_demo_service/COPYING
  •   /scripts/file_browser_demo_service/file_browser_service_script.rb
  •   /scripts/file_browser_demo_service/README
  •   /scripts/radio_station_service/CMakeLists.txt
  •   /scripts/radio_station_service/COPYING
  •   /scripts/radio_station_service/radio_station_service_script.rb
  •   /scripts/radio_station_service/radio_station_service_script.spec
  •   /scripts/radio_station_service/README
  •   /servicebrowser/scriptableservice/ScriptableService.cpp
  •   /servicebrowser/scriptableservice/ScriptableService.h
  •   /servicebrowser/scriptableservice/ScriptableServiceManager.cpp
  •   /servicebrowser/scriptableservice/ScriptableServiceManager.h
  •   /servicebrowser/scriptableservice/ScriptableServiceMeta.cpp
  •   /servicebrowser/scriptableservice/ScriptableServiceMeta.h
  •   /servicebrowser/scriptableservice/ScriptableServiceQueryMaker.cpp
Deleted 9 files
  • /trunk/extragear/multimedia/amarok/src/servicebrowser/scriptableservice
  •   /DynamicScriptableQueryMaker.cpp
  •   /DynamicScriptableServiceCollection.cpp
  •   /DynamicScriptableServiceMeta.cpp
  •   /file_browser_service_script.rb
  •   /radio_station_service_script.rb
  •   /scriptableservice.cpp
  •   /scriptableservice.h
  •   /scriptableservicemanager.cpp
  •   /scriptableservicemanager.h
Modified 17 files
  • /trunk/extragear/multimedia/amarok/src
  •   /CMakeLists.txt
  •   /MainWindow.cpp
  •   /scriptmanager.cpp
  •   /scriptmanager.h
  •   /TheInstances.h
  •   /scripts/CMakeLists.txt
  •   /servicebrowser/servicebase.cpp
  •   /servicebrowser/servicebase.h
  •   /servicebrowser/servicebrowser.cpp
  •   /servicebrowser/servicebrowser.h
  •   /servicebrowser/ServiceListModel.cpp
  •   /servicebrowser/jamendo/jamendoservice.cpp
  •   /servicebrowser/magnatunestore/MagnatuneStore.cpp
  •   /servicebrowser/opmldirectory/OpmlDirectoryService.cpp
  •   /servicebrowser/scriptableservice/org.kde.amarok.ScriptableServiceManager.xml
  •   /servicebrowser/scriptableservice/ScriptableServiceCollection.cpp
  •   /servicebrowser/scriptableservice/ScriptableServiceInfoParser.cpp
44 files changed in total