This section describes some of the aRts work that is in progress. Development progresses quickly, so this information may be out of date. You should check the TODO list file and the mailing list archives to see what new functionality is planned. Feel free to get involved in new design and implementation.
This is a draft document which tries to give you an overview how new technologies will be integrated in aRts. Namely, it does cover the following:
How interfaces work.
Codecs - decoding of mp3 or wav streams in a form that they can be used as data.
Video.
Threading.
Synchronization.
Dynamic expansion/masquerading.
Dynamic composition.
GUI
MIDI
This is work in progress. However, it should be the base if you want to see new technology in aRts. It should give you a general idea how these problems will be addressed. However, feel free to correct anything you see here.
Things that will be use aRts technology (so please, coordinate your efforts):
KPhone (voice over IP)
Noatun (video / audio player)
artscontrol (sound server control program, for scopes)
Brahms (music sequencer)
Kaiman (KDE2 media player - kmedia2 compliant)
mpglib/kmpg (mpg audio and video playing technology)
SDL (direct media layer for games not yet started but maybe nice)
electric ears (author contacted me - status unknown)
MCOP interfaces are the base of the aRts concept. They are the network transparent equivalent to C++ classes. Whenever possible you should orient your design towards interfaces. Interfaces consist of four parts:
Synchronous streams
Asynchronous streams
Methods
Attributes
These can be mixed in any way you like. New technologies should be defined in terms of interfaces. Read the sections about asynchronous streams and synchronous streams, as well as the KMedia2 interfaces, which are a good example how such things work
Interfaces are specified in .idl
code and run through the mcopidl compiler. You
derive the
class to implement them, and use
Interfacename
_implREGISTER_IMPLEMENTATION(Interfacename_impl)
to
insert your object implementations into the MCOP object system.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team