<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
 <!ENTITY kappname "&kmid;">
 <!ENTITY package "kdemultimedia">
 <!ENTITY % Polish "INCLUDE"
> <!-- change language only here -->
 <!ENTITY % addindex "IGNORE">
]>

<book lang="&language;">

<bookinfo>
<title
>Podręcznik programu &kmid;</title>
<authorgroup>
<author
><firstname
>Antonio</firstname
> <surname
>Larrosa Jim&eacute;nez</surname
> <affiliation
> <address
><email
>larrosa@kde.org</email
></address>
</affiliation>
</author>
<othercredit role="translator"
><firstname
>Krzysztof</firstname
><surname
>Woźniak</surname
><affiliation
><address
><email
>wozniakk@ceti.pl</email
></address
></affiliation
><contrib
>Polskie tłumaczenie</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>1999</year
><year
>2001</year>
<holder
>Antonio Larrosa Jim&eacute;nez</holder>
</copyright>

<date
>2002-02-05</date>
<releaseinfo
>2.00.00</releaseinfo>

<abstract>
<para
>&kmid; jest odtwarzaczem plików midi i karaoke. </para>
</abstract>

<keywordset>
<keyword
>KMid</keyword>
<keyword
>midi</keyword>
<keyword
>karaoke</keyword>
<keyword
>multimedia</keyword>
<keyword
>mid</keyword>
<keyword
>kar</keyword>
<keyword
>odtwarzacz</keyword>
<keyword
>muzyka</keyword>
<keyword
>dźwięk</keyword>
<keyword
>fm</keyword>
<keyword
>awe</keyword>
<keyword
>gus</keyword>
</keywordset>
</bookinfo>

<chapter id="introduction">
<title
>Wprowadzenie</title>

<para
>Program &kmid; jest odtwarzaczem plików midi i karaoke dla środowiska &kde;. Niektóre jego funkcje trudno znaleźć w innych odtwarzaczach Midi dla systemu &UNIX;, są to m.in. grafika w czasie rzeczywistym, podświetlanie tekstu karaoke. </para>

<para
>Program &kmid; działa w systemach operacyjnych &Linux; oraz FreeBSD. Ponieważ wykorzystuje sterownik dźwięku <acronym
>OSS</acronym
> to powinien działać na każdym systemie, w którym możliwa jest kompilacja środowiska &kde; oraz <acronym
>OSS</acronym
>. Program &kmid; obsługuje również sterownik dla kart dźwiękowych Ultrasound (&Linux; Ultrasound Project Driver) niezbędny do uzyskania dźwięku w kartach <acronym
>GUS</acronym
>. W planach jest realizacja wsparcia dla sterowników <acronym
>ALSA</acronym
> w chwili gdy udostępniać będą one urządzenie sekwencera. </para>

<para
>Program &kmid; wyświetla tekst odtwarzanej piosenki, zmieniając kolor fragmentów tekstu zgodnie z odtwarzaną melodią. Dzięki temu użytkownik łatwo może śledzić związek pomiędzy tekstem piosenki a jej melodią. </para>

<para
>Być może użytkownicy będą mieć tyle radości podczas korzystania z programu &kmid; ile programiści mieli podczas jego tworzenia. </para>

<para
>Antonio Larrosa Jim&eacute;nez <email
>larrosa@kde.org</email
> </para>

<sect1 id="kmids-features">
<title
>Funkcje programu &kmid;</title>

<para
>Głównymi cechami programu &kmid; są: </para>
      
<itemizedlist>
<listitem>
<para
>Program posiada bardzo <emphasis
>przyjazny interfejs użytkownika</emphasis
> do wyświetlania tekstu utworu w trybie karaoke, wraz z ich <emphasis
>podświetlaniem w czasie rzeczywistym</emphasis
>. </para>
</listitem>
<listitem>
<para
>Graficznie przedstawia nuty odtwarzane na poszczególnych kanałach midi, wyświetlając wirtualne klawiatury fortepianu. </para>
</listitem>
<listitem>
<para
>Zawiera najbardziej zaawansowaną funkcję <emphasis
>mapowania Midi</emphasis
>. Nie ma podobnej funkcji w żadnym systemie operacyjnym. </para>
</listitem>
<listitem>
<para
>Obsługuje mechanizm <emphasis
>przenieś i upuść</emphasis
> środowiska &kde; dzięki, któremu można przenieść dowolny plik midi z okna programu &konqueror;. </para>
</listitem>
<listitem>
<para
>Pozwala na <emphasis
>zmianę szybkości</emphasis
> odtwarzania utworu - zwolnić lub przyspieszyć zgodnie z życzeniem użytkownika. </para>
</listitem>
<listitem>
<para
>Wyświetla światła pozwalające na śledzenie rytmu muzyki. </para>
</listitem>
<listitem>
<para
><emphasis
>Definiowane przez użytkownika czcionki</emphasis
> dla wyświetlanego tekstu karaoke. </para>
</listitem>
<listitem>
<para
>Obsługuje dwa standardy zapisu tekstu utworu w pliku midi: zdarzenia tekstowe i zdarzenia napisów (automatycznie rozpoznaje używany w pliku sposób zapisu). </para>
</listitem>
<listitem>
<para
>Obsługuje mechanizm sesji środowiska &kde;. Jeżeli przy wylogowaniu odtwarzany jest jakiś utwór, to po ponownym zalogowaniu, ten same utwór zacznie grać. </para>
</listitem>
<listitem>
<para
><emphasis
>Regulacja głośności</emphasis
> w czasie rzeczywistym. </para>
</listitem>
<listitem>
<para
>Może odtwarzać uszkodzone pliki midi (takie które powodują zawieszenie innych odtwarzaczy)! </para>
</listitem>
<listitem>
<para
>Możliwe jest otwieranie plików midi/karaoke <emphasis
>skompresowanych programem gzip</emphasis
> tak jakby to był normalny plik midi. </para>
</listitem>
<listitem>
<para
>Zwiększa obciążenie procesora o około <emphasis
>0.1&percnt;</emphasis
> na komputerze Autora (zależy to od stopnia złożoności odtwarzanego utworu). </para>
</listitem>
<listitem>
<para
>Wykorzystuje zewnętrzne syntezatory dźwięku, karty dźwiękowe <acronym
>AWE</acronym
>, <acronym
>FM</acronym
> oraz <acronym
>GUS</acronym
> (dla tej ostatniej konieczne jest zainstalowanie wcześniej sterownika <acronym
>LUP</acronym
> i programu "gusd"). </para>
</listitem>
<listitem>
<para
>Działa w systemach &Linux;, FreeBSD (i być może w innych Unixo-podobnych ...). </para>
</listitem>
</itemizedlist>

</sect1>
</chapter>

<chapter id="general-usage">
<title
>Korzystanie z programu</title>

<sect1 id="opening-songs">
<title
>Otwieranie utworów</title>

<para
>Otwarcie utworu możliwe jest na kilka sposobów. </para>

<para
>Za pomocą polecenia <guimenuitem
>Otwórz...</guimenuitem
> dostępnego w menu <guimenu
>Plik</guimenu
>, wywołuje się standardowe okno dialogowe, w którym można wybrać plik do otwarcia. </para>

<para
>Można chwycić plik midi w oknie programu &konqueror; i upuścić w oknie programu  &kmid;. Możliwe jest przeciąganie i upuszczanie jednocześnie kilku plików. </para>

<para
>Podanie nazwy utworu w linii poleceń programu &kmid; także spowoduje jego otwarcie. </para>

<para
>Ostatni sposób to wybranie utworu z listy utworów znajdującej się w bieżącej kolekcji. </para>

</sect1>

<sect1 id="playing-songs">
<title
>Odtwarzanie utworów</title>

<para
>W celu odtworzenia utworu, należy najpierw go otworzyć, a następnie nacisnąć przycisk <guiicon
>Odtwarzaj</guiicon
> znajdujący się w pasku narzędzi. Można także wybrać pozycję <guimenuitem
>Odtwarzaj</guimenuitem
> w menu <guimenu
>Utwór</guimenu
> albo nacisnąć klawisz <keycap
>Spacji</keycap
>. </para>

<para
>Uwaga przeciągnięcie i upuszczenie pliku w programie &kmid; automatycznie rozpocznie jego odtwarzanie (przeciągnięcie i upuszczenie kilku plików doda je do kolekcji i rozpocznie ich odtwarzanie po kolei). </para>

<para
>W trakcie odtwarzania utworu w programie &kmid; można skorzystać z suwaka pozycji w utworze, naciskając na nim środkowy przycisk myszy i przesuwając go w dowolnie wybraną pozycję. </para>

<para
>Jeżeli utwór jest odtwarzany zbyt szybko lub zbyt wolno, można skorzystać ze strzałek znajdujących się obok wyświetlacza <acronym
>LCD</acronym
> tempa w celu regulacji prędkości odtwarzania. Przywrócenie domyślnej prędkości odtwarzania odbywa się poprzez dwukrotne kliknięcie myszką na wyświetlaczu  <acronym
>LCD</acronym
>. </para>

<para
>Klawisz <keycap
>spacji</keycap
> jest wykorzystywany w dwóch przypadkach: w czasie odtwarzania naciśnięcie <keycap
>spacji</keycap
> działa tak jak przycisk <guiicon
>wstrzymania</guiicon
> lub jak pozycja <guimenuitem
>Wstrzymaj</guimenuitem
> w menu <guimenu
>Utwór</guimenu
>, naciśnięcie <keycap
>Spacji</keycap
> w chwili gdy utwór nie jest odtwarzany, spowoduje włączenie odtwarzania. </para>

</sect1>

<sect1 id="displaying-lyrics">
<title
>Wyświetlanie tekstu</title>

<para
>Dostępne są dwie metody przechowywania w pliku tekstu utworu, są to tzw.: <guimenuitem
>Zdarzenia tekstowe</guimenuitem
> albo <guimenuitem
>Zdarzenia tekstu piosenki</guimenuitem
>. Część plików wykorzystuje pierwszy rodzaj, część drugi, niektóre zawierają oba rodzaje ale są też utwory nie zawierające tekstów piosenek. </para>

<para
>Program &kmid; pozwala na wybranie rodzaju wyświetlanych zdarzeń, co więcej dokonuje automatycznego wyboru sposobu wyświetlania zgodnie z zawartością pliku z utworem, aby użytkownik nie musiał ręcznie dokonywać zmian przy każdej piosence. Zaznaczenie pozycji <guimenuitem
>Automatyczny wybór tekstu</guimenuitem
> w menu <guimenu
>Ustawienia</guimenu
> spowoduje automatyczny wybór rodzaju zdarzeń dla tekstu karaoke, ale użytkownik w każdej chwili może ten rodzaj zmienić. </para>

<para
>Wybór wyświetlanego rodzaju napisów odbywa się poprzez odpowienie pozycje menu <guimenu
>Ustawienia</guimenu
> lub poprzez naciśnięcie klawiszy <keycap
>1</keycap
> lub <keycap
>2</keycap
> dla włączenia wyświetlania odpowiednio <guimenuitem
>Zdarzeń tekstowych</guimenuitem
> lub <guimenuitem
>Zdarzeń tekstu piosenki</guimenuitem
>. </para>

</sect1>

</chapter>

<chapter id="collections">
<title
>Kolekcje</title>

<para
>Kolekcja jest to lista plików midi umieszczonych w zbiorcze, które są odtwarzane po kolei jeden po drugim. W tej sekcji zamieszczone są informacje dotyczące korzystania z kolekcji oraz porady pozwalające na pełne wykorzystanie tej funkcjonalności programu. </para>

<sect1 id="creating-a-collection">
<title
>Tworzenie kolekcji</title>

<para
>Aby utworzyć kolekcję, należy najpierw otworzyć okno dialogowe <guilabel
>Menedżera kolekcji</guilabel
> poprzez wybranie pozycji <guimenuitem
>Kolejność ...</guimenuitem
> w menu <guimenu
>Kolekcje</guimenu
>. Następnie należy kliknąć na przycisk <guibutton
>Nowy</guibutton
> i wprowadzić nazwę kolekcji. </para>

<para
>Można skopiować całą kolekcję poprzez wybranie jej na liście i naciśnięcie przycisku <guibutton
>Kopiuj</guibutton
>. Po naciśnięciu zostanie wyświetlone pole dla wprowadzenia nazwy nowej kolekcji, która będzie zawierać wszystkie utwory z kopiowanej kolekcji. </para>

<para
>Jeżeli użytkownik utworzy więcej niż jedną kolekcję, to może przełączać się pomiędzy nimi za pomocą <guilabel
>Menedżera kolekcji</guilabel
>. </para>

</sect1>
<sect1 id="the-temporary-collection">
<title
>Kolekcja tymczasowa</title>

<para
>Kolekcja tymczasowa jest kolekcją przechowującą utwory, które użytkownik chce zagrać, ale których nie chce dodawać do żadnej utworzonej kolekcji. </para>

<para
>Ta kolekcja <emphasis
>nie jest zapisywana</emphasis
> przed zamknięciem programu. Należy o tym pamiętać przed dodaniem do niej dużej liczby utworów. </para>

<para
>W dalszej części tej sekcji, znajdują się informacje pozwalające na lepsze zrozumienie mechanizmu kolekcji tymczasowych. </para>

</sect1>

<sect1 id="adding-songs-to-a-collection">
<title
>Dodawanie utworów do kolekcji</title>
<subtitle
>Jak korzystać z funkcji <guimenuitem
>Automatycznie dodawaj do kolekcji</guimenuitem
></subtitle>

<para
>W programie istnieje kilka sposobów dodawania utworu do kolekcji. </para>

<para
>W każdej z omawianych metod, należy wcześniej wybrać kolekcję do której użytkownik chce dodawać utwory. Wybór kolekcji dokonywany jest w oknie dialogowym <guilabel
>Menedżera kolekcji</guilabel
>. Następnie można naciskając przycisk <guibutton
>Dodaj</guibutton
> wywoływać okno dialogowe otwierania plików, pozwalające na wskazanie pliku z utworem do dodania. </para>

<para
>Działanie pozostałych metod uzależnione jest od stanu opcji <guimenuitem
>Automatycznie dodawaj do kolekcji</guimenuitem
>. </para>

<para
>Jeżeli włączona została opcja <guimenuitem
>Automatycznego dodawania do kolekcji</guimenuitem
>, to otwarcie pliku (za pomocą menu <menuchoice
><guimenu
>Plik</guimenu
> <guimenuitem
>Otwórz...</guimenuitem
></menuchoice
> lub mechanizmu przeciągnij i upuść) spowoduje dodanie go (ich) do aktywnej kolekcji bez konieczności wykonywania żadnych dodatkowych czynności. </para>

<para
>Jeżeli nie została włączona opcja <guimenuitem
>Automatycznie dodawaj do kolekcji</guimenuitem
>, to każde otwarcie pliku z utworem spowoduje aktywowanie kolekcji tymczasowej i dodanie do niej otwieranego utworu (wcześniej poprzednia zawartość tej kolekcji jest usuwana). </para>

</sect1>

<sect1 id="removing-songs-from-collections">
<title
>Usuwanie utworów z kolekcji</title>

<para
>Aby usunąć utwór z kolekcji, należy otworzyć okno dialogowe <guilabel
>Menedżera kolekcji</guilabel
>, wybrać właściwą kolekcję i nacisnąć przycisk  <guibutton
>Usuń</guibutton
>. </para>

</sect1>

<sect1 id="playing-order">
<title
>Odtwarzanie po kolei lub losowe</title>

<para
>Użytkownik może określić kolejność odtwarzania utworów. Po wybraniu opcji <guimenuitem
>W kolejności</guimenuitem
> z menu <guimenu
>Kolekcje</guimenu
> -> <guisubmenu
>Kolejność odtwarzania</guisubmenu
> utwory będą odtwarzane w takiej kolejności, w jakiej zostały dodane do kolekcji. </para>

<para
>Po wybraniu opcji <guimenuitem
>Losowo</guimenuitem
> program &kmid; wygeneruje zmienną o losowej wartości i na jej podstawie będzie odtwarzał utwory z kolekcji. Program będzie korzystał z wartości tej zmiennej przy generowaniu losowej listy utworów do odtwarzania (ta lista jest tworzona dlatego, iż nie jest pożądane odtwarzanie tego samego utworu dwa razy pod rząd, a także konieczne dla poprawnego działania funkcji przejścia do poprzedniego utworu za pomocą przycisku <guibutton
>Poprzedni utwór</guibutton
>). </para>

<para
>Losowa kolejka odtwarzania kolekcji będzie generowana każdorazowo przy dodawaniu lub usuwaniu utworów do kolekcji albo po wybraniu pozycji <guimenuitem
>Losowo</guimenuitem
> z menu. </para>

</sect1>

<sect1 id="selecting-from-a-collection">
<title
>Wybieranie utworu w kolekcji</title>

<para
>Wybór utworu do odtwarzania odbywa się w <literal
>Menedżerze kolekcji</literal
> lub za pomocą pola listy znajdującego się nad wyświetlanym tekstem karaoke. </para>

<para
>Można również przejść do następnego utworu poprzez wybranie pozycji <guimenuitem
>Następny utwór</guimenuitem
> z menu <guimenu
>Utwór</guimenu
>, skorzystanie z przycisku <guimenuitem
>Następny utwór</guimenuitem
> na pasku narzędzi lub naciśnięcie <keycap
>strzałki w prawo</keycap
> na klawiaturze. </para>

<para
>Aby przejść do poprzedniego utworu w kolekcji, trzeba wybrać pozycję <guimenuitem
>Poprzedni utwór</guimenuitem
> z menu <guimenu
>Utwór</guimenu
>, skorzystać z przycisku <guimenuitem
>Poprzedni utwór</guimenuitem
> lub na klawiaturze nacisnąć klawisz <keycap
>strzałka w lewo</keycap
>. </para>

</sect1>

<sect1 id="deleting-a-collection">
<title
>Usuwanie kolekcji</title>

<para
>Aby usunąć kolekcję, wystarczy otworzyć <guilabel
>Menedżera kolekcji</guilabel
>, wybrać kolekcję do usunięcia z listy i nacisnąć przycisk <guibutton
>Usuń</guibutton
>. Proste, prawda? </para>

<para
>Należy pamiętać, iż nie jest możliwe skasowanie kolekcji tymczasowej. Nie stanowi to jednak problemu, jako że nie jest ona zapisywana przy kończeniu pracy z programem &kmid;. </para>

</sect1>

</chapter>

<chapter id="midi-maps">
<title
>Mapy Midi</title>

<sect1 id="what-is-a-midimap">
<title
>Co to jest mapa Midi?</title>

<para
>Mapa midi jest algorytmem przyporządkowania (mapowania) pewnych zdarzeń midi do innych zdarzeń midi. </para>

<para
>Ta funkcja jest niezbędna w przypadku, gdy posiadany syntezator nie obsługuje standardowych zdarzeń midi (tzn. nie jest zgodny ze standardem General Midi). W takim przypadku, mapa midi, będzie tłumaczyła zdarzenia General Midi na zdarzenia zrozumiałe dla tego syntezatora. </para>

<para
>Przykładowo, można utworzyć mapę midi konwertującą wszystkie zdarzenia <literal
>Change patch to Bright Piano</literal
> na zdarzenie <literal
>Change patch to Trumpet</literal
>, dzięki temu zawsze gdy utwór będzie próbował odtworzyć pianino, słyszalny będzie dźwięk trąbki. </para>

<para
>Chociaż może to się wydawać dziwne (dlaczego ktoś chce słyszeć trąbkę, skoro w utworze ma być zagrane pianino) to jest to jednak bardzo przydatne. Standard <acronym
>GM</acronym
> (General Midi) definiuje akcję syntezatora na otrzymanie polecenia zmiany instrumentu. Jeżeli wywoływany jest instrument <literal
>0</literal
>, to syntezator powinien zagrać na instrumencie <literal
>Pianino</literal
>, jednak starsze modele syntezatorów mogą dla tego semego polecenia (<literal
>0</literal
>) użyć instrumentu <literal
>Gitara elektryczna</literal
>. Taki syntezator może na przykład definiować dźwięk pianina poleceniem <literal
>3</literal
>. W takich sytuacjach mapy midi stają się bardzo przydatne, powodują zmianę wszystkich poleceń <literal
>zmień instrument na 0</literal
> na polecenie <literal
>zmień instrument na 3</literal
> dzięki czemu odtwarzany jest poprawny dźwięk w odpowiednim miejscu. </para>

</sect1>

<sect1 id="do-i-need-a-midi-map">
<title
>Czy mapa Midi jest potrzebna?</title>

<para
>W skrócie, jeżeli użytkownik nie wykorzystuje zewnętrznego syntezatora dźwięku to odpowiedź brzmi <emphasis
>nie</emphasis
>! </para>

<para
>Jeżeli użytkownik posiada jedynie kartę dźwiękową, mapy midi nie będą potrzebne, gdyż wszystkie karty dźwiękowe są zgodne ze standardem <acronym
>GM</acronym
> (dotyczy to kart AWE, <acronym
>GUS</acronym
>, kart <acronym
>FM</acronym
> i innych). </para>

<para
>Jeżeli użytkownik posiada zewnętrzny syntezator, który nie jest zgodny ze standardem General Midi, to musi utworzyć dla niego mapę midi. Może to nawet zająć całe popołudnie dostosowywania i wypróbowywania różnych instrumentów, ale efekt końcowy wynagrodzi cały poświęcony czas. W trakcie tych czynności użytkownik odkryje wszystkie ukryte funkcje swojego syntezatora. Na przykład niedrogi syntezator Yamaha PSS-790, który nie jest zgodny ze standardem <acronym
>GM</acronym
> oraz nie dysponuje wszystkimi instrumentami wymaganymi przez ten standard, może dzięki mapowaniu midi w &kmid; zabrzmieć lepiej od niejednej karty dźwiękowej (włączając w to karty AWE :-)). Dzieje się tak z powodu wysokiej jakości dźwięku odtwarzanego przez zewnętrzne syntezatory (nawet te niezgodne ze standardem <acronym
>GM</acronym
>) </para>

</sect1>

<sect1 id="creating-a-midi-map">
<title
>Tworzenie mapy Midi</title>

<para
>Nie ma żadnego programu pozwalającego na tworzenie map midi, niestety należy ręcznie edytować pliki map midi za pomocą dowolnego edytora tekstu. </para>

<para
>Mapa midi jest plikiem tekstowym zawierającym wszystkie niezbędne przyporządkowania zdarzeń przy odtwarzaniu muzyki. </para>

<para
>Zawiera on cztery sekcje: <literal
>PATCHMAP</literal
>, <literal
>KEYMAP</literal
>, <literal
>CHANNELMAP</literal
> oraz <literal
>OPTIONS</literal
>. </para>

<para
>Każda sekcja musi pojawić się tylko raz, nie dotyczy to sekcji <literal
>KEYMAP</literal
> która może pojawiać się dowolną liczbę razy, pod warunkiem że każde jej wystąpienie posiada inny identyfikator TextID (więcej na ten temat poniżej). </para>

<para
>Ogólna struktura pliku mapy Midi jest następująca: </para>

<screen
>DEFINE PATCHMAP
...
END

DEFINE KEYMAP "Nazwa mapy klawiszy"
...
END

DEFINE KEYMAP "Inna mapa klawiszy"
...
END

DEFINE CHANNELMAP
...
END

OPTIONS
...
END
</screen>

<para
>Widać wyraźnie że polecenie <literal
>DEFINE</literal
> wykorzystywane jest do określenia początku sekcji (nie dotyczy to polecenia <literal
>OPTIONS</literal
>) zaś polecenie <literal
>END</literal
> musi być umieszczone na końcu sekcji. </para>

<para
>Wstawiwanie komentarza do pliku jest możliwe poprzez umieszczenie znaku <literal
>&num;</literal
> na początku wiersza. </para>

<para
>Autorzy programu proszą użytkowników o nadsyłanie stworzonych przez nich plików map midi, tak aby wsparcie dla większej liczby syntezatorów niezgodnych ze standardem General Midi mógł być dodany do kolejnych wersji programu. </para>

<sect2 id="the-patchmap-section">
<title
>Sekcja <literal
>PATCHMAP</literal
></title>

<para
>W tej sekcji definiuje się przyporządkowania instrumentów pomiędzy standardem GM oraz ustawieniami syntezatora. Składnia polecenia jest następująca: </para>

<screen
>(Nazwa instrumentu GM)=(<replaceable
>N</replaceable
>) [AllKeysTo M]
</screen>

<para
>Gdzie <replaceable
>N</replaceable
> jest numerem instrumentu syntezatora, który jest taki sam jak instrument standardu GM. </para>

<para
>Należy podkreślić, iż to co znajduje się po lewej stronie znaku równości jest ignorowane, dlatego że instrumenty <acronym
>GM</acronym
> muszą być zdefiniowane w kolejności  (od 0 do 127). Nie można więc zmieniać kolejności definiowanych instrumentów albo pomijać któregokolwiek ze 128 instrumentów standardu General Midi. </para>

<para
>Opcjonalny parametr <literal
>AllKeysTo M</literal
> jest wykorzystywany do przekierowywania wszystkich nut zagranych na danym instrumencie do nuty o numerze <literal
>M</literal
>. Przykładowo jeżeli wykorzystywany syntezator nie posiada dźwięku wystrzału (instrument 127 w standardzie Generl Midi) możemy przypisać go do odgłosu bębna na kanale perkusyjnym (np. klawisz 60), który brzmi podobnie do wystrzału. Dokonuje się tego w 127 linii sekcji  <literal
>PATCHMAP</literal
> poleceniem: </para>

<screen
>Gunshot       =100 AllKeysTo 60</screen>


<para
>W przykładzie powyżej, jeżeli utwór zagra nutę na instrumencie 127 (odgłos wystrzału), będzie on przekształcony na instrument 100 (zestaw instrumentów perkusyjnych na syntezatorze) oraz zagra nutę 60 (niezależnie od zagranej w utworze nuty/naciśniętego klawisza). </para>

<para
>Zwrot <quote
>Zestaw instrumentów perkusyjnych</quote
> oznacza specjalny rodzaj instrumentu syntezatora, w którym każdy naciśnięty klawisz odtwarza dźwięk innego instrumentu (bębna, cymbałków, tam tamu, marakasów itd.). Nie jest to jeden instrument perkusyjny odtwarzany w różnej wysokości tonu w zależności od naciśniętego klawisza. </para>

</sect2>

<sect2 id="The-keymap-section">
<title
>Sekcja <literal
>KEYMAP</literal
></title>

<para
>Sekcja <literal
>KEYMAP</literal
> wykorzystywana jest do zdefiniowania sposobu w jaki każdy pojedynczy klawisz będzie mapowany, w ramach określonego kanału lub instrumentu. Składnia polecenia jest następująca: </para>

<screen
>DEFINE KEYMAP "Nazwa mapy klawiszy"
C 0 =0
C#0 =1
D 0 =2
...
END
</screen>

<para
>Tak samo jak w przypadku sekcji <literal
>PATCHMAP</literal
>, bardzo ważna jest kolejność wierszy, koniecznie też należy pamiętać aby wystąpiły wszystkie (128) klawiszy. </para>

<para
>Ponieważ można definiować różne mapy klawiszy dla różnych kanałów i instrumentów, należy podać inną nazwę dla każdej mapy w pierwszym wierdzy definicji. </para>

<para
>Kapy klawiszy są wykorzystywane do definiowania klawiszy w kanale perkusyjnym. W dostarczanych z programem mapach midi można zaobserwować kilka przykładów. </para>

</sect2>

<sect2 id="the-channelmap-section">
<title
>Sekcja <literal
>CHANNELMAP</literal
></title>

<para
>W tej sekcji można dokonać konwersji kanałów. Na przykład jeżeli zachodzi potrzeba zamienienia pierwszego i drugiego kanału, można tego łatwo dokonać za pomocą sekcji <literal
>CHANNELMAP</literal
>. </para>

<para
>Jednak opcja ta najbardziej się przydaje w sytuacji posiadania syntezatora posiadającego kanał perkusyjny na określonym kanale midi (standard General Midi wykorzystuje do tego kanał 10, inne syntezatory mogą używać kanału 16 lub 8). </para>

<para
>Ponieważ urządzenia midi korzystają z 16 kanałów, to sekcja <literal
>CHANNELMAP</literal
> posiada 16 linii, numerowanych od 0 do 15, tak jak w przykładzenie poniżej: </para>

<screen
>(N) = (M) [Keymap "Nazwa"] [ForcePatch x]
</screen>

<para
>Gdzie  <literal
>N</literal
> to numer kanału, który ma zostać zmapowany na kanał <literal
>M</literal
>. Jeżeli podany jest parametr <literal
>Keymap</literal
> to dla tego kanału zostanie użyta mapa klawiszy o nazwie  <literal
>Nazwa</literal
> (musi ona być wcześniej zdefiniowana w pliku mapy). Parametr <literal
>ForcePatch</literal
> powoduje zignorowanie wszelkich rozkazów zmiany instrumentu na tym kanala, i zamiast tego wybór instrumentu o numerze: <literal
>x</literal
>. </para>

<para
>Opcja <literal
>ForcePatch</literal
> może być wykorzystana na przykład do tego, aby program zawsze korzystał z instrumentów perkusyjnych na kanale perkusji. </para>

</sect2>

<sect2 id="the-options-section">
<title
>Sekcja <literal
>OPTIONS</literal
></title>

<para
>Sekcja <literal
>OPTIONS</literal
> pozwala na wpisanie kilku ogólnych opcji, które mogą być użyteczne: </para>

<screen
>OPTIONS
PitchBenderRatio = r
MapExpressionToVolumeEvents
END
</screen>

<para
>Można wpisać obie opcje, jedną z nich lub nie wpisywać żadnej. </para>

<para
>Wartość parametru <literal
>PitchBenderRatio r</literal
> jest współczynnikiem wykorzystywanym do mnożenia wartości parametrów rozkazu pitch bender (zmiana wysokości tonu). To znaczy, jeżeli zapis utworu w pliku midi zawiera rozkaz zmiany wysokości tonu o wartość <literal
>n</literal
> to do syntezatora zostanie wysłana wartość <literal
>n*(r/4096)</literal
> (stała wielkość <literal
>4096</literal
> jest niezbędna aby nie zapisywać liczb rzeczywistych z przecinkiem w pliku mapy). </para>

<para
>Parametr ten jest wykorzystywany, ponieważ standard <acronym
>GM</acronym
> definiuje, iż syntezator po otrzymaniu rozkazu zmiany tonu o wartość  4096, powinien zagrać ton o jedną nutę wyższy. Niektóre syntezatory jednak po otrzymaniu wartości 4096 mogą powodować zmianę wysokości tonu o dwie lub więcej nut (czasami o całą oktawę) wyżej. Aby rozwiązać ten problem, najlepiej jest posłużyć się metodą prób i błędów dla określenia wartości współczynnika, która spowoduje iż &kmid; zamiast wartości 4096 będzie wysyłał wartość odpowiednią dla danego syntezatora. </para>

<para
>Jeżeli zostanie ustawiona opcja <literal
>MapExpressionToVolumeEvents</literal
>, a plik midi będzie zawierał polecenia ustawienia ekspresji, program &kmid; wyśle zamiast niego polecenie regulacji głośności, które jest obsługiwane przez większość syntezatorów niezgodnych ze standardem GM. Polecenie ekspresji ma podobne działania, i jest wykorzystywane w wielu plikach midi do wyciszania dźwięku pod koniec utworu. Jeżeli użytkownik ma przeczucie, iż muzyka powinna być odtwarzana coraz ciszej i ciszej, to może wypróbować czy ustawienie tej opcji spowoduje pozytywny efekt. Jeżeli tak się stanie, to oznacza iż syntezator ignoruje rozkazy zmiany ekspresji bo ich po prostu nie obsługuje. </para>

</sect2>

</sect1>

<sect1 id="using-midimaps">
<title
>Korzystanie z map Midi</title>

<para
>Aby zastosować mapę midi, należy otworzyć okno dialogowe <guilabel
>Konfiguracja urządzeń Midi</guilabel
> za pomocą pozycji <guimenuitem
>Ustawienia Midi ...</guimenuitem
> w menu <guimenu
>Ustawienia</guimenu
>. </para>

<para
>Następnie należy kliknąć na przycisk <guilabel
>Przeglądaj ...</guilabel
>, i wybrać plik z mapą midi, a następnie cieszyć się muzyką ! :-) </para>
</sect1>
</chapter>

<chapter id="advanced-features">
<title
>Funkcje zaawansowane</title>

<sect1 id="the-channel-view">
<title
>Widok kanału</title>

<para
>Widok kanałów to okno, w którym pokazany jest zestaw klawiatur fortepianowych (po jednej dla każdego kanału midi). W czasie odtwarzania, nuty grane na każdym kanale powodują podświetlanie odpowiednich klawiszy, dzięki czemu można łatwo zidentyfikować, co odtwarzają poszczególne instrumenty. </para>

<sect2 id="changing-instruments">
<title
>Zmiana instrumentów</title>

<para
>W widoku kanałów można dokonać zmiany instrumentu odtwarzającego muzykę na poszczególnych kanałach. Dla każdego kanału dostępny jest przycisk wyboru z listy, za pomocą którego można wybrać pożądany instrument. Po wykonaniu tej zmiany, zielona lampka znajdująca się obok przycisku zmieni kolor na czerwony, dla podkreślenia iż nie jest to domyślny instrument dla tego kanału. </para>

<para
>Jeżeli użytkownik chce ustawić z powrotem domyślny instrument, to musi kliknąć na czerwony przycisk, co spowoduje automatyczne ustawienie domyślnego instrumentu. </para>

</sect2>

<sect2 id="changing-the-look">
<title
>Zmiana trybu wyświetlania</title>

<para
>Dla okna widoku kanałów dostępne są dwa możliwe sposoby wyświetlania odtwarzanych nut. Można je wybrać w pozycji <guimenuitem
>Opcje widoku kanału...</guimenuitem
> w menu <guimenu
>Ustawienia</guimenu
>. </para>

<para
>Użytkownik może wybrać pomiędzy trybem wyświetlania granych nut za pomocą wciśniętych klawiszy pianina (<guilabel
>Widok 3D</guilabel
>) i trybem w którym klawisze oprócz wciśnięcia są również podświetlane na czerwono dla łatwiejszej identyfikacji (<guilabel
>Widok 3D - wypełniony</guilabel
>). Jeżeli użytkownik gra na pianinie lub innym instrumencie muzycznym, to może z tego skorzystać do nauki gry wybranego utworu. Autor często używał tej funkcji gdyż wraz z funkcją redukcją prędkości odtwarzania pozwala ona bardzo łatwo nauczyć się nowych kompozycji. </para>

</sect2>

</sect1>

<sect1 id="the-tempo-lcd">
<title
>Wyświetlacz <acronym
>LCD</acronym
>: tempo</title>

<para
>Pokazuje szybkość odtwarzania utworu w taktach na minutę. Im wyższa wartość, tym szybciej utwór jest odtwarzany. </para>

<para
>Można również zmienić tempo utworu, jeżeli gra zbyt szybko i użytkownik nie nadąża za napisami może zwolnić szybkość odtwarzania. Zmiana tempa odbywa się za pomocą strzałek znajdujących się po obu stronach wyświetlacza <acronym
>LCD</acronym
> z tempem utworu. </para>

<para
>Po zmianie tempa odtwarzania, można powrócić do domyślnego tempa poprzez dwukrotne kliknięcie na wyświetlaczu <acronym
>LCD</acronym
>. </para>

</sect1>

</chapter>

<chapter id="key-bindings">
<title
>Znaczenie klawiszy</title>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Klawisz</entry>
<entry
>Działanie</entry>
</row>
</thead>
<tbody>
<row>
<entry
><keycap
>Spacja</keycap
></entry>
<entry
>Odtwarza załadowany utwór, lub zatrzymuje go jeżeli jest on w trakcie odtwarzania.</entry>
</row>
<row>
<entry
><keycap
>Backspace</keycap
></entry>
<entry
>Zatrzymuje odtwarzanie</entry>
</row>
<row>
<entry
><keycap
>Strzałka w prawo</keycap
></entry>
<entry
>Przechodzi do następnego utworu w bieżącej kolekcji</entry>
</row>
<row>
<entry
><keycap
>Strzałka w lewo</keycap
></entry>
<entry
>Przechodzi do poprzedniego utworu w kolekcji</entry>
</row>
<row>
<entry
><keycap
>Strzałka w górę</keycap
></entry>
<entry
>Przesuwa tekst utworu o jedną linię do góry</entry>
</row>
<row>
<entry
><keycap
>Strzałka w dół</keycap
></entry>
<entry
>Przesuwa tekst utworu o jedną linię w dół</entry>
</row>
<row>
<entry
><keycap
>Page Up</keycap
></entry>
<entry
>Przesuwa tekst utworu o jeden ekran do góry</entry>
</row>
<row>
<entry
><keycap
>Page Down</keycap
></entry>
<entry
>Przesuwa tekst utworu o jeden ekran w dół</entry>
</row>
<row>
<entry
><keycap
>1</keycap
></entry>
<entry
>Wyświetla zdarzenia tekstowe</entry>
</row>
<row>
<entry
><keycap
>2</keycap
></entry>
<entry
>Wyświetla zdarzenia tekstu utworu</entry>
</row>
<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>O</keycap
></keycombo
></entry>
<entry
>Otwiera utwór</entry>
</row>
<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
></entry>
<entry
>Kończy pracę z programem</entry>
</row>
<row>
<entry
><keycap
>F1</keycap
></entry>
<entry
>Otwiera tą dokumentację</entry>
</row>
</tbody>
</tgroup>
</informaltable>

</chapter>

<chapter id="frequently-asked-questions">
<title
>Często zadawane pytania</title>

<qandaset>
<qandaentry>
<question>
<para
>Czym właściwie jest plik midi? </para>
</question>

<answer>
<para
>Plik midi zawiera informację o sposobie odtwarzania utworu, tzn. nuty, rytm, głośność, itp. Powoduje to, iż ten sam plik midi odtwarzany na różnych urządzeniach, da różne efekty, tak samo jak identyczny zapis nutowy jest w różny sposób grany przez różnych muzyków. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Mogę uzyskać lepszą jakość dźwięku w odtwarzaczu mp3/wab, dlaczego więc powinienem używać programu &kmid;? </para>
</question>
<answer>
<para
>Oczywiście nikogo nie można zmuszać do korzystania z programu &kmid;, jednak typowy plik midi ma rozmiar 50 Kb, zaś plik mp3 to około 4Mb (jak widać jest to współczynnik kompresji 1:80). Za pomocą dobrej klasy syntezatora, można uzyskać porównywalną jakość dźwięku. Dodatkowo, korzystając z pliku midi można zmieniać wybrane instrumenty, zmieniać tempo odtwarzania, itp.. Pozwala to na dużo większy poziom kontroli odtwarzanej muzyki. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Moja karta AWE nie chce działać z programem KMid, co mogę zrobić? </para>
</question>
<answer>
<para
>Taka sytuacja może się wydarzyć przykorzystaniu z binarnej dystrybucji programu &kmid; (plik rpm lub deb). Przyczyną jest to, iż nie program nie został skompilowany z włączoną obsługą kart AWE. W tej sytuacji najlepiej jest pobrać z internetu kod źródłowy programu (na przykład ze <ulink url="http://www.arrakis.es/~rlarrosa/kmid.html"
>strony domowej programu &kmid;</ulink
>). </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Chcę dodać cały folder plików do kolekcji, jednak dodawanie po kolei pojedynczych utworów jest bardzo pracochłonne i mało zabawne. </para>
</question>

<answer>
<para
>Racja, dlatego też w &kmid; można skorzystać z mechanizmu przeciągnij i upuść. Wystarczy uruchomić program &konqueror;, zaznaczyć katalog z utworami, które użytkownik chce dodać, przeciągnąć go i upuścić w oknie programu &kmid;. </para>
<para
>Wcześniej należy włączyć opcję <guimenuitem
>Automatycznie dodaj do kolekcji</guimenuitem
>, dzięki czemu utwory z katalogu zostaną dodane do bieżącej kolekcji. Jeżeli opcja będzie wyłączona, to utwory zostaną dodane do kolekcji tymczasowej. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Nie mogę nadążyć za tekstem utworu, jest odtwarzany zbyt szybko! </para>
</question>
<answer>
<para
>Można skorzystać ze strzałek znajdujących się obok wyświetlacza <acronym
>LCD</acronym
> tempa w celu zmniejszenia prędkości odtwarzania. Przywrócenie domyślnej prędkości odtwarzania odbywa się poprzez dwukrotne kliknięcie myszką na wyświetlaczu  <acronym
>LCD</acronym
>. </para
> 
</answer>
</qandaentry>
</qandaset>

</chapter>

<chapter id="final-notes">
<title
>Uwagi końcowe</title>

<sect1 id="some-tips-and-tricks">
<title
>Kilka przydatnych sztuczek</title>

<para
>Poniżej autor przedstawia kilka sztuczek pozwalających na wykorzystanie wszystkich możliwości programu &kmid;: </para>

<variablelist>
<varlistentry>
<term
>Otwieranie plików</term>
<listitem>
<para
>Autor programu &kmid; zawsze na swoim pulpicie &kde; posiada (w trakcie słuchania plików midi) otwarte okno programu &konqueror; z widokiem zawartości głównego katalogu plików midi oraz okno programu &kmid;. W ten sposób, po zakończeniu odtwarzania aktywnej kolekcji lub gdy chce on zagrać jakiś plik, przenosi wybrane pliki midi z okna programu &konqueror; do programu &kmid; z pomocą mechanizmu przeciągnij i upuść. </para>

<para
>W przypadku jeżeli użytkownik chce zagrać kilka plików midi, ale nie chce dodawać ich do żadnej kolekcji, musi wyłączyć opcję <guimenuitem
>Automatycznego dodawania do kolekcji</guimenuitem
> znajdująca się w menu <guimenu
>Kolekcje</guimenu
> i dopiero wtedy otworzyć pliki. Po otwarciu zostaną one dodane do kolekcji tymczasowej. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Inny sposób na utworzenie nowej kolekcji</term>
<listitem>
<para
>Przykładowo użytkownik posiada pliki midi o nazwach <filename
>A.mid</filename
>, <filename
>B.mid</filename
> oraz <filename
>C.mid</filename
>. Początkowo chce on zagrać jedynie pierwszy plik, wtedy wyłącza opcję <guimenuitem
>Automatycznego dodawania do kolekcji</guimenuitem
> i otwiera plik <filename
>A.mid</filename
>. Po tej operacji utworzona zostanie tymczasowa kolekcja z jednym plikiem midi. </para>
<para
>Następnie użytkownik chce również odtworzyć pliki B oraz C, i utworzyć kolekcję z całą jego zawartości. Jak może to zrobić? </para>
<para
>Dokona tego w prosty sposób, najpierw należy wyłączyć opcję <guimenuitem
>Automatycznie dodawaj do kolekcji</guimenuitem
> a następnie otworzyć pliki<filename
>B.mid</filename
> oraz <filename
>C.mid</filename
> (dowolną spośród wcześniej opisanych metod). To spowoduje, iż zostaną one dodane do kolekcji tymczasowej, w której znajdować się będą pliki <filename
>A.mid</filename
>, <filename
>B.mid</filename
> oraz <filename
>C.mid</filename
>. W tym momencie, można otworzyć okno <guilabel
>Menedżera kolekcji</guilabel
> wybrać na liście kolekcję tymczasową i następnie nacisnąć przycisk <literal
>Kopiuj</literal
>, wprowadzić nazwę nowej kolekcji i zatwierdzić zmiany. Po tej operacji użytkownik zostanie zapisana nowa kolekcja, zawierająca pliki midi  A,B i C, która nie zostanie usunięta po zakończeniu pracy programu &kmid;. </para>
</listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="hall-of-kmids-friends">
<title
>Przyjaciele twórców programu &kmid;</title>

<para
>Wielu ludzi przysłało Autorowi pliki midi oraz kartki pocztowe, za co serdecznie im dziękuje. Słuchanie muzyki i oglądanie kartek podtrzymuje jego zapał i ochotę do dalszej pracy nad programem &kmid;. </para>

<itemizedlist>
<listitem>
<para
>Ola Sigurdson - <literal
>Taking Care of Business</literal
> (Bachman Turner Overdrive)</para>
</listitem>
<listitem>
<para
>EG Lim - Bardzo ładna pocztówka z Penang.</para>
</listitem>
<listitem>
<para
>Guenther Starnberger - <literal
>Amadeus</literal
> (Falco) i <literal
>Schrei Nach Liebe</literal
> (Die Aerzte)</para>
</listitem>
<listitem>
<para
>Leandro Terr&eacute;s - <literal
>All That She Wants</literal
> i <literal
>The Sign</literal
> (Ace of Base)</para>
</listitem>
<listitem>
<para
>Nick Stoic - Dwa pliki midi</para>
</listitem>
</itemizedlist>

</sect1>

<sect1 id="about-the-author">
<title
>O autorze</title>

<para
>Program &kmid; został napisany przez Antonio Larrosa Jim&eacute;nez, z M&aacute;lagi (Hiszpania). Jest on studentem Matematyki na Uniwersytecie w Maladze, w chwili obecnej na trzecim roku, dlatego też nie ma zbyt wiele czasu na zajmowanie się swoim hobby. Jego zainteresowania to: programowanie, kolekcjonowanie utworów midi, granie (muzyki) i dowodzenie twierdzeń ;-). </para>

<para
>Jeżeli ktoś chce się dowiedzieć skąd można pobrać pliki midi lub karaoke, ma jakieś pytanie lub chce przesłać informację o błędzie, pomysł na rozwój programu, lub tylko uszczęśliwić autora, wystarczy że wyśle email na adres: <email
>larrosa@kde.org</email
> lub <email
>antlarr@arrakis.es</email
> </para>

<para
>lub napisz do autora kartkę pocztową na adres: </para>

<literallayout
>Antonio Larrosa Jimenez
Rio Arnoya 10 5B
Malaga (Spain)
</literallayout>

<para
>Autor programu będzie naprawdę szczęśliwy, jeżeli dostanie od użytkowników kartkę pocztową lub plik midi/karaoke z muzyką lokalną. Każdy kto prześle kartkę pocztową lub plik midi znajdzie się na liście przyjaciół programu &kmid; (no chyba, że nie wyrazi na to zgody). Autor prosi o kontakt przed wysłaniem do niego plików midi, ponieważ może takie już mieć. </para>

<para
>Autor chciałby podkreślić, że program &kmid; powstał w całości w jego wolnym czasie, nie uzyskał on wsparcia finansowego od żadnego przedsiębiorstwa czy też organizacji. Dlatego należy pamiętać, iż jedyną rzeczą zachęcającą go do dalszej pracy nad programem jest informacja zwrotna od jego użytkowników (może to być pocztówka, jak też zwykły e-mail). </para>

<para
>Autor programu dziękuje za pomoc w tworzeniu programu &kmid; następującym osobom: </para>

<itemizedlist>
<listitem>
<para
>Paul J. Leonard <email
>P.J.Leonard@bath.ac.uk</email
> - Wsparcie dla kart dźwiękowych AWE </para>
</listitem>
<listitem>
<para
>Sebestyen Zoltan <email
>szoli@digo.inf.elte.hu</email
>- wersja dla FreeBSD oraz testy obsługi kart AWE </para>
</listitem>
<listitem>
<para
>Christian Esken <email
>esken@kde.org</email
> - Za organizację wsparcia ze strony KDE Multimedia. </para>
</listitem>
<listitem>
<para
>Stephan Kulow <email
>coolo@kde.org</email
>- Skrypty konfiguracyjne i pomoc w korzystaniu z <command
>automake</command
> oraz <command
>CVS</command
> </para>
</listitem>
<listitem>
<para
>Jaroslav Kysela - Za pomoc w tworzeniu sterownika &Linux; Ultrasound Project </para>
</listitem>
<listitem>
<para
>Takashi Iwai i Joseph H. Buehler - Poprawka błędu zbyt wysokiej częstotliwości dźwięku w kartach AWE </para>
</listitem>
<listitem>
<para
>Adrian Knoth - Dobre wiadomości i sugestie. </para>
</listitem>
<listitem>
<para
>Kevin Street - Wsparcie dla systemu FreeBSD 3.0 </para>
</listitem>
<listitem>
<para
>Pozostałe podziękowania dla: Jose Luis Sanchez za testowanie wsparcia dla kart GUS, Ignacio Garcia za testowanie wsparcia dla kart AWE, Hans Petter Bieker, Ola Sigurdson, Marc Diefenbruch, Peter Gritsch, Magnus Pfeffer, Urko Lusa, Peter-Paul Witta, Thorsten Westheider, Ulrich Cordes i pozostałych osób, które wysłały poprawki do programu, zgłoszenie błędu lub email zachęcający do dalszej pracy nad nim. </para>
</listitem>
<listitem>
<para
>Oczywiście do wszystkich wspaniałych muzyków w sieci internet przesyłających swoje pliki midi i karaoke. </para>
</listitem>
</itemizedlist>

<para
>Krzysztof Woźniak <email
>wozniakk@ceti.pl</email
></para
> 

</sect1>

<sect1 id="copyright-and-license">
<title
>Zasługi i licencje</title>

<para
>Prawa autorskie do programu &kmid; (c) 1999-2001 Antonio Larrosa Jim&eacute;nez</para>

<para
>Prawa autorskie do dokumentacji &kmid; (c) 1999-2001 Antonio Larrosa Jim&eacute;nez</para>
&underFDL; &underGPL; </sect1>

</chapter>

<appendix id="installation">
<title
>Instalacja</title>

<sect1 id="how-to-obtain-kmid">
<title
>Jak zdobyć program &kmid;</title>
&install.intro.documentation; <para
>Program &kmid; może również zostać pobrany ze strony domowej programu: <ulink url="http://www.arrakis.es/~rlarrosa/kmid.html"
> http://www.arrakis.es/~rlarrosa/kmid.html</ulink
>. Strona zawiera informacje o rozwoju programu, informacje dodatkowe i zrzuty ekranu oraz listę stron internetowych, z których można pobrać utwory karaoke, itp. </para>

</sect1>

<sect1 id="requirements">
<title
>Wymagania</title>

<para
>Program &kmid; do poprawnego działania wymaga:</para>

<itemizedlist>
<listitem>
<para
>Zainstalowane &kde;. (Hmm... prawdopodobnie czytelnik już spełnia ten warunek ;-) ) </para>
</listitem>
<listitem>
<para
>Karta dźwiękowa. Autorzy zalecają stosowanie dobrej karty dźwiękowej i/lub zewnętrznego syntezatora dźwięku, jako że jakość odtwarzanej muzyki bardzo zależy od posiadanego sprzętu. Inaczej muzyka będzie odtwarzana na urządzeniu stosującym syntezę FM a inaczej na kartach dźwiękowych AWE. </para>

<para
>Jeżeli użytkownik nie posiada karty dźwiękowej, to może skompilować program definiując stałą <literal
>MODE_DEMO_ONLYVISUAL</literal
>. Spowoduje to działanie programu tak jakby karta dźwiękowa była zainstalowana, lecz oczywiście nie usłyszy on żadnej muzyki :-(. </para>
</listitem>
</itemizedlist>

</sect1>

<sect1 id="compilation-and-installation">
<title
>Kompilacja i instalacja</title>
&install.compile.documentation; <para
>Razem z programem dostarczono kilka przykładowych plików, zainstalowane są one w katalogu: <filename class="directory"
>$dollar;<envar
>KDEDIR</envar
>/share/apps/kmid</filename
> </para>

<para
>W przypadku jakichkolwiek problemów z działaniem programu, najlepiej kontaktować się z wykorzystaniem jednej z list dyskusyjnych środowiska &kde; lub bezpośrednio z autorem. </para>

</sect1>

</appendix>

</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
