# translation of artsbuilder_apis.po to 
# translation of artsbuilder_apis.po to
# translation of artsbuilder_apis.po to
# Copyright (C) 2002 Free Software Foundation, Inc.
# Lwandle Mgidlana <lwandle@translate.org.za>, 2002
#
msgid ""
msgstr ""
"Project-Id-Version: artsbuilder_apis\n"
"POT-Creation-Date: 2001-02-09 01:25+0100\n"
"PO-Revision-Date: 2002-09-26 12:33+0200\n"
"Last-Translator: Lwandle Mgidlana <lwandle@translate.org.za>\n"
"Language-Team:  <xh@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-xml2pot; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.0beta2\n"

#: index.docbook:7
#, no-c-format
msgid "&arts; Application Programming Interfaces"
msgstr ""

#: index.docbook:10
#, no-c-format
msgid "Overview"
msgstr "Imboniselo engaphaya"

#: index.docbook:11
#, no-c-format
msgid ""
"aRts is not only a piece of software, it also provides a variety of APIs for "
"a variety of purposes. In this section, I will try to describe the \"big "
"picture\", a brief glance what those APIs are supposed to do, and how they "
"interact."
msgstr ""

#: index.docbook:18
#, no-c-format
msgid ""
"There is one important distinction to make: most of the APIs are <emphasis> "
"language and location independant</emphasis> because they are specified as "
"<emphasis>mcopidl</emphasis>. That is, you can basically use the services "
"they offer from any language, implement them in any language, and you will "
"not have to care whether you are talking to local or remote objects. Here is "
"a list of these first:"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid "core.idl"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid ""
"Basic definitions that form the core of the MCOP functionality, such as the "
"protocol itself, definitions of the object, the trader, the flow system and "
"so on."
msgstr ""

#: index.docbook:28
#, no-c-format
msgid "artsflow.idl"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid ""
"These contain the flow system you will use for connecting audio streams, the "
"definition of <emphasis>Arts::SynthModule</emphasis> which is the base for "
"any interface that has streams, and finally a few useful audio objects"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid "kmedia2.idl"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid ""
"Here, an object that can play a media, <emphasis>Arts::PlayObject</emphasis>"
" gets defined. Media players such as the KDE media player noatun will be "
"able to play any media for which a PlayObject can be found. So it makes "
"sense to implement PlayObjects for various formats (such as mp3, mpg video, "
"midi, wav, ...) on that base, and there are a lot already."
msgstr ""

#: index.docbook:28
#, no-c-format
msgid "soundserver.idl"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid ""
"Here, an interface for the system wide sound server artsd is defined. The "
"interface is called <emphasis>Arts::SoundServer</emphasis>"
", which implements functionality like accepting streams from the network, "
"playing samples, creating custom other aRts objects and so on. Network "
"transparency is implied due to the use of MCOP (as for everything else here)."
msgstr ""

#: index.docbook:28
#, no-c-format
msgid "artsbuilder.idl"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid ""
"This module defines basic flow graph functionality, that is, combining "
"simpler objects to more complex ones, by defining a graph of them. It "
"defines the basic interface <emphasis>Arts::StructureDesc</emphasis>, "
"<emphasis>Arts::ModuleDesc</emphasis> and "
"<emphasis>Arts::PortDesc</emphasis> which contain a description of a "
"structure, module, and port. There is also a way to get a \"living network "
"of objects\" out of these connection and value descriptions, using a factory."
msgstr ""

#: index.docbook:28
#, no-c-format
msgid "artsmidi.idl"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid ""
"This module defines basic midi functionality, like objects that produce midi "
"events, what is a midi event, an <emphasis>Arts::MidiManager</emphasis> to "
"connect the producers and consumers of midi events, and so on. As always "
"network transparency implied."
msgstr ""

#: index.docbook:28
#, no-c-format
msgid "artsmodules.idl"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid ""
"Here are various additional filters, oscillators, effects, delays and so on, "
"everything required for real useful signal processing, and to build complex "
"instruments and effects out of these basic building blocks."
msgstr ""

#: index.docbook:28
#, no-c-format
msgid "artsgui.idl"
msgstr ""

#: index.docbook:28
#, no-c-format
msgid ""
"This cares about visual objects. It defines the basic type <emphasis> "
"Arts::Widget</emphasis>"
" from which all GUI modules derive. This will produce toolkit independency, "
"and ... visual GUI editing, and serializable GUIs. Also, as the GUI elements "
"have normal attributes, their values can be straight forward connected to "
"some signal processing modules. (I.e. the value of a slider to the cutoff of "
"a filter). As always: network transparent."
msgstr ""

#: index.docbook:128
#, no-c-format
msgid ""
"Where possible, aRts itself is implemented using IDL. On the other hand, "
"there are some <emphasis>language specific</emphasis> APIs, using either "
"plain C++ or plain C. It is usually wise to use IDL interfaces where "
"possible, and the other APIs where necessary. Here is a list of language "
"specific APIs:"
msgstr ""

#: index.docbook:135
#, no-c-format
msgid "KNotify, KAudioPlayer (included in libkdecore)"
msgstr ""

#: index.docbook:135
#, no-c-format
msgid ""
"These are convenience KDE APIs for the simple and common common case, where "
"you just want to play a sample. The APIs are plain C++, Qt/KDE optimized, "
"and as easy as it can get."
msgstr ""

#: index.docbook:135
#, no-c-format
msgid "libartsc"
msgstr ""

#: index.docbook:135
#, no-c-format
msgid ""
"Plain C interface for the sound server. Very useful for porting legacy "
"applications."
msgstr ""

#: index.docbook:135
#, no-c-format
msgid "libmcop"
msgstr ""

#: index.docbook:135
#, no-c-format
msgid ""
"Here all magic for MCOP happens. The library contains the basic things you "
"need to know for writing a simple MCOP application, the dispatcher, timers, "
"iomanagement, but also the internals to make the MCOP protocol itself work."
msgstr ""

#: index.docbook:135
#, no-c-format
msgid "libartsflow"
msgstr ""

#: index.docbook:135
#, no-c-format
msgid ""
"Besides the implementation of artsflow.idl, some useful utilities like "
"sampling rate conversion."
msgstr ""

#: index.docbook:135
#, no-c-format
msgid "libqiomanager"
msgstr ""

#: index.docbook:135
#, no-c-format
msgid ""
"Integration of MCOP into the Qt event loop, when you write Qt applications "
"using MCOP."
msgstr ""

#: index.docbook:193
#, no-c-format
msgid "knotify"
msgstr ""

#: index.docbook:194 index.docbook:200 index.docbook:206 index.docbook:212
#: index.docbook:218 index.docbook:224
#, no-c-format
msgid "<para> </para>"
msgstr "<para> </para>"

#: index.docbook:199
#, no-c-format
msgid "kaudioplayer"
msgstr ""

#: index.docbook:205
#, no-c-format
msgid "libkmid"
msgstr ""

#: index.docbook:211
#, no-c-format
msgid "kmedia2"
msgstr ""

#: index.docbook:217
#, no-c-format
msgid "sound server"
msgstr ""

#: index.docbook:223
#, no-c-format
msgid "artsflow"
msgstr ""

#: index.docbook:229
#, no-c-format
msgid "C <acronym>API</acronym>"
msgstr ""

#: index.docbook:232
#, no-c-format
msgid "Introduction"
msgstr "Ukwazisa"

#: index.docbook:234
#, no-c-format
msgid ""
"The &arts; C <acronym>API</acronym> was designed to make it easy to writing "
"and port plain C applications to the &arts; sound server. It provides "
"streaming functionality (sending sample streams to "
"<application>artsd</application>"
"), either blocking or non-blocking. For most applications you simply remove "
"the few system calls that deal with your audio device and replace them with "
"the appropriate &arts; calls."
msgstr ""

#: index.docbook:241
#, no-c-format
msgid ""
"I did two ports as a proof of concept: <application>mpg123</application>"
" and <application>quake</application>. You can get the patches from <ulink "
"url=\"http://space.twc.de/~stefan/kde/download/artsc-patches.tar.gz\">"
"here</ulink>. Feel free to submit your own patches to the maintainer of "
"&arts; or of multimedia software packages so that they can integrate &arts; "
"support into their code."
msgstr ""

#: index.docbook:251
#, no-c-format
msgid "Quick Walkthrough"
msgstr ""

#: index.docbook:253
#, no-c-format
msgid ""
"Sending audio to the sound server with the <acronym>API</acronym> is very "
"simple:"
msgstr ""

#: index.docbook:255
#, no-c-format
msgid "include the header file using <userinput>#include &lt;artsc.h&gt;</userinput>"
msgstr ""

#: index.docbook:255
#, no-c-format
msgid "initialize the <acronym>API</acronym> with <function>arts_init()</function>"
msgstr ""

#: index.docbook:255
#, no-c-format
msgid "create a stream with <function>arts_play_stream()</function>"
msgstr ""

#: index.docbook:255
#, no-c-format
msgid "configure specific parameters with <function>arts_stream_set()</function>"
msgstr ""

#: index.docbook:255
#, no-c-format
msgid "write sampling data to the stream with <function>arts_write()</function>"
msgstr ""

#: index.docbook:255
#, no-c-format
msgid "close the stream with <function>arts_close_stream()</function>"
msgstr ""

#: index.docbook:255
#, no-c-format
msgid "free the <acronym>API</acronym> with <function>arts_free()</function>"
msgstr ""

#: index.docbook:272
#, no-c-format
msgid "Here is a small example program that illustrates this:"
msgstr ""

#: index.docbook:274
#, no-c-format
msgid ""
"#include &lt;stdio.h&gt;\n"
"#include &lt;artsc.h&gt;\n"
"int main()\n"
"{\n"
"    arts_stream_t stream;\n"
"    char buffer[8192];\n"
"    int bytes;\n"
"    int errorcode;\n"
"\n"
"    errorcode = arts_init();\n"
"    if (errorcode &lt; 0)\n"
"    {\n"
"        fprintf(stderr, \"arts_init error: %s\\n\", "
"arts_error_text(errorcode));\n"
"        return 1;\n"
"    }\n"
"\n"
"    stream = arts_play_stream(44100, 16, 2, \"artsctest\");\n"
"\n"
"    while((bytes = fread(buffer, 1, 8192, stdin)) &gt; 0)\n"
"    {\n"
"        errorcode = arts_write(stream, buffer, bytes);\n"
"        if(errorcode &lt; 0)\n"
"        {\n"
"            fprintf(stderr, \"arts_write error: %s\\n\", "
"arts_error_text(errorcode));\n"
"            return 1;\n"
"        }\n"
"    }\n"
"\n"
"    arts_close_stream(stream);\n"
"    arts_free();\n"
"\n"
"    return 0;\n"
"}"
msgstr ""

#: index.docbook:312
#, no-c-format
msgid "Compiling and Linking: <application>artsc-config</application>"
msgstr ""

#: index.docbook:314
#, no-c-format
msgid ""
"To easily compile and link programs using the &arts; C "
"<acronym>API</acronym>, the <application>artsc-config</application> utility "
"is provided which knows which libraries you need to link and where the "
"includes are. It is called using"
msgstr ""

#: index.docbook:319
#, no-c-format
msgid "<command>artsc-config</command> <option>--libs</option>"
msgstr ""

#: index.docbook:323
#, no-c-format
msgid "to find out the libraries and"
msgstr ""

#: index.docbook:325
#, no-c-format
msgid "<command>artsc-config</command> <option>--cflags</option>"
msgstr ""

#: index.docbook:329
#, no-c-format
msgid ""
"to find out additional C compiler flags. The example above could have been "
"compiled using the command line:"
msgstr ""

#: index.docbook:333
#, no-c-format
msgid ""
"<userinput><command>cc</command> <option>-o artsctest artsctest.c "
"`artsc-config --cflags` `artsc-config --libs`</option></userinput>\n"
"\n"
"<userinput><command>cc</command> <option>-o artsctest</option> "
"<option>artsctest.c</option> <option>`artsc-config --cflags`</option> "
"<option>`artsc-config --libs`</option></userinput>"
msgstr ""

#: index.docbook:342
#, no-c-format
msgid "Library Reference"
msgstr ""

#: index.docbook:344
#, no-c-format
msgid "[TODO: generate the documentation for artsc.h using kdoc]"
msgstr ""
