2
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd" [
3
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
4
<!ENTITY % addindex "IGNORE">
7
<book lang="&language;">
10
<title>The &kmid; Handbook</title>
13
<firstname>Antonio</firstname>
14
<surname>Larrosa Jiménez</surname>
16
<address><email>larrosa@kde.org</email></address>
19
<!-- TRANS:ROLES_OF_TRANSLATORS -->
23
<year>1999</year><year>2001</year>
24
<holder>Antonio Larrosa Jiménez</holder>
27
<date>2001-03-21</date>
28
<releaseinfo>2.00.00</releaseinfo>
32
&kmid; is a midi/karaoke multimedia player
37
<keyword>KMid</keyword>
38
<keyword>midi</keyword>
39
<keyword>karaoke</keyword>
40
<keyword>multimedia</keyword>
41
<keyword>mid</keyword>
42
<keyword>kar</keyword>
43
<keyword>player</keyword>
44
<keyword>music</keyword>
45
<keyword>sound</keyword>
47
<keyword>awe</keyword>
48
<keyword>gus</keyword>
52
<chapter id="introduction">
53
<title>Introduction</title>
56
&kmid; is &kde;'s midi and karaoke multimedia player. It features some
57
features not found in any other &UNIX; midi player, such as realtime
58
graphics and karaoke text highlighting among others.
62
&kmid; has been reported to run on &Linux; and FreeBSD operating
63
systems. It uses the <acronym>OSS</acronym> sound driver, so it should
64
run on every system where &kde; and <acronym>OSS</acronym>
65
compile. &kmid; also supports the &Linux; Ultrasound Project Driver ,
66
which is required to get sound in <acronym>GUS</acronym> cards. I plan
67
to support the <acronym>ALSA</acronym> driver as soon as it supports a
72
&kmid; shows the lyrics in the screen changing its color at the same
73
time the music is playing, so it is very easy to follow the tune of the
78
Hope you find &kmid; as fun to use as I found developing it.
82
Antonio Larrosa Jiménez <email>larrosa@kde.org</email>
85
<sect1 id="kmids-features">
86
<title>&kmid;'s features</title>
89
These are some of &kmid;'s main features:
95
It has a very <emphasis>friendly user interface</emphasis> to display karaoke
96
text with <emphasis>realtime highlighting</emphasis> of lyrics.
101
It features a graphical view of what is being played on each midi channel, by
102
highlighting the keys pressed in (virtual) keyboards.
107
The most powerful <emphasis>Midi Mapper</emphasis> that you will ever find in
108
any operating system.
113
<emphasis>Drag & drop</emphasis> so you can drop in &kde; any midi file from a
119
You can <emphasis>change the tempo</emphasis> of songs to play them slower or
125
It shows lights to follow the rhythm of the song.
130
<emphasis>Customizable fonts</emphasis> for karaoke text to be displayed.
135
Supports the two standards to introduce lyrics in midi files, that is, lyrics or
136
text events (and guess which one a song uses automatically).
141
Session Management. If a song is playing while you logout from &kde;, the next
142
time you login, the same song will start playing.
147
<emphasis>Adjustable volume</emphasis> in realtime.
152
It can play broken midi files which make other players core dump!
157
It can open <emphasis>gzipped midi/karaoke files</emphasis> just as any other
163
Consumes approximately <emphasis>0.1%</emphasis> of my
164
<acronym>CPU</acronym> (depends on the complexity of the song).
169
Supports external midi synths, <acronym>AWE</acronym>, <acronym>FM</acronym> and
170
<acronym>GUS</acronym> cards (for the latter you need the <acronym>LUP</acronym>
171
driver and gusd installed).
176
Runs on &Linux; and FreeBSD (maybe also other unices ...).
184
<chapter id="general-usage">
185
<title>General usage</title>
187
<sect1 id="opening-songs">
188
<title>Opening songs</title>
191
You can open a song several different ways.
195
First, you can select <guimenuitem>Open...</guimenuitem> from the
196
<guimenu>File</guimenu> menu, then you are presented with a standard
197
open dialog, with which you can select the song you wish to open.
201
You can drag a file from a &konqueror; window and drop it in the &kmid; window.
202
You can also Drag & Drop multiple songs at the same time.
206
If you specify a song in the command line when running &kmid;, it will also be
211
And the final way is by selecting the song from the list of songs of the active
217
<sect1 id="playing-songs">
218
<title>Playing songs</title>
221
To play a song, first open it, and then press on the
222
<guiicon>Play</guiicon> button of the toolbar, choose the
223
<guimenuitem>Play</guimenuitem> entry of the <guimenu>Song</guimenu>
224
menu, or just press the <keycap>Space</keycap> key.
228
Note that when you open a file using Drag & Drop, &kmid; will start
229
playing it automatically (if you drop more than one file, they will be
230
added to a collection and they will be played sequencially).
234
Once &kmid; is playing a song, you can move the time slider, by pressing
235
with the &MMB; mouse button, to go to a specified position.
239
If a song is playing too fast or too slow for you, you can press on the
240
arrows at both sides of the tempo <acronym>LCD</acronym> and make it
241
play faster or slower. To get back to the default tempo, just do a
242
double click on the tempo <acronym>LCD</acronym>.
246
The <keycap>Space</keycap> key is used for two things, when music is
247
playing, and you press the <keycap>Space</keycap> key, it will act as
248
when you press on the <guiicon>pause</guiicon> button or the
249
<guimenuitem>Pause</guimenuitem> entry of the <guimenu>Song</guimenu>
250
menu, that is, it will pause music. If you press the
251
<keycap>Space</keycap> key when no music is being played, &kmid; will
257
<sect1 id="displaying-lyrics">
258
<title>Displaying lyrics</title>
261
There are two methods to store lyrics in a song, by using
262
<guimenuitem>Text events</guimenuitem> or <guimenuitem>Lyrics
263
events</guimenuitem>, some songs use the first, some the second, some
264
use both of them, and some don't include lyrics :-)
268
&kmid; lets you choose which events to display, and even better, it has
269
an option to automatically select the type of events that a song uses,
270
so that you don't have to change the type manually . That way, if you
271
activate the <guimenuitem>Automatic Text chooser</guimenuitem> entry of
272
the <guimenu>Settings</guimenu> menu, the karaoke text will be
273
automatically selected, but you can still change them if you prefer to
278
To select which type to see, you can use the appropiate entries in the
279
<guimenu>Settings</guimenu> menu, or just press the <keycap>1</keycap>
280
and <keycap>2</keycap> keys of your keyboard to see the
281
<guimenuitem>Text events</guimenuitem> or <guimenuitem>Lyrics
282
events</guimenuitem> respectively.
289
<chapter id="collections">
290
<title>Collections</title>
293
A collection is a list of midi files that you put in a set, and which
294
are played one after another. This section will help you to use them,
295
and will give you some useful tips to make a good use of them.
298
<sect1 id="creating-a-collection">
299
<title>Creating a collection</title>
302
To create a collection, first open the <guilabel>Collections
303
Manager</guilabel> dialog, by selecting the <guimenuitem>Organize
304
...</guimenuitem> entry of the <guimenu>Collections</guimenu> menu .
305
Then click on the <guibutton>New</guibutton> button, and enter the name
306
you want the collection to have.
310
You can also copy a complete collection by selecting it and then
311
pressing the <guibutton>Copy</guibutton> button, which will ask you for
312
the name of the new collection that will have initially the same songs
313
as the selected collection.
317
Once you have more than one collection, you can change the active
318
collection from the <guilabel>Collections Manager</guilabel>, by
323
<sect1 id="the-temporary-collection">
324
<title>The Temporary Collection</title>
327
The Temporary Collection is a collection that is used to hold songs you
328
want to play but that you don't want to add to any collection.
332
This collection is <emphasis>not saved</emphasis> on exit of the
333
application, so keep it in mind when you add lots of songs to it.
337
Keep on reading this section for a better understanding of the Temporary
343
<sect1 id="adding-songs-to-a-collection">
344
<title>Adding songs to a collection</title>
345
<subtitle>How to use <guimenuitem>AutoAdd to a
346
collection</guimenuitem></subtitle>
349
There are some different ways to add a song to a collection.
353
First of all in each method, you must have selected the collection you
354
want to add songs to in the <guilabel>Collections Manager</guilabel>.
355
Then you can press on the <guibutton>Add</guibutton> button to add a
356
song, there will appear an open file dialog so that you can choose which
361
The other methods to add a song depend on the state of the
362
<guimenuitem>AutoAdd to a collection</guimenuitem> option.
366
If <guimenuitem>AutoAdd to a collection</guimenuitem> is enabled, when
367
you open a song (using <menuchoice><guimenu>File</guimenu>
368
<guimenuitem>Open...</guimenuitem></menuchoice> or Drag & Drop) it
369
(they) will be added to the active collection without user intervention.
373
If <guimenuitem>AutoAdd to a collection</guimenuitem> is not enabled,
374
when you open a song the Temporary Collection will be activated and
375
cleared, and the opened songs will be added to it.
380
<sect1 id="removing-songs-from-collections">
381
<title>Removing songs from collections</title>
384
To delete a song from a collection, just open the <guilabel>Collection
385
Manager</guilabel>, select the appropiate collection, and the song you
386
wish to delete, and then click on the <guibutton>Remove</guibutton>
392
<sect1 id="playing-order">
393
<title>Playing in order or at random</title>
396
You can select the order in which songs will be played . When you select
397
<guimenuitem>In order</guimenuitem> mode from the <guisubmenu>Play
398
Order</guisubmenu> submenu of the <guimenu>Collections</guimenu> menu,
399
songs will be played in the same order in which they were added to the
404
When you select <guimenuitem>Shuffle</guimenuitem> mode, &kmid; will
405
generate a random variable with a discrete uniform distribution to
406
really play randomly the songs in the collection . It will give values
407
to that random variable while generating the list in which order the
408
songs will be played (you surely want to play random songs, but don't
409
want to play twice the same song, and you want to play the last played
410
song when you press on the <guibutton>Previous Song</guibutton> button,
415
The random list in which the collection will be played will be
416
regenerated each time you add or remove a file in the active collection,
417
and when you press on the <guimenuitem>Shuffle mode</guimenuitem> entry
423
<sect1 id="selecting-from-a-collection">
424
<title>Selecting a song from a collection</title>
427
You can select a song to play in the <literal>Collection
428
Manager</literal>, or by using the combo box over the karaoke text.
432
You can also change to the next song by using the <literal>Next
433
Song</literal> entry of the <literal>Song</literal> menu, the
434
<literal>Next Song</literal> button of the toolbar, or pressing the
435
<literal>right arrow</literal> key.
439
To change to the previous song, use the <guimenuitem>Previous
440
Song</guimenuitem> entry of the <guimenu>Song</guimenu> menu, the
441
<guimenuitem>Previous Song</guimenuitem> button of the toolbar, or press
442
the <keycap>left arrow</keycap> key of your keyboard.
447
<sect1 id="deleting-a-collection">
448
<title>Deleting a collection</title>
451
To delete a collection, simply open the <guilabel>Collection
452
Manager</guilabel>, select the collection you want to delete, and click
453
on <guibutton>Delete</guibutton>. Easy, it isn't? </para>
456
Please keep in mind that you cannot delete the Temporary Collection, but
457
it doesn't matter as it is not saved when you quit &kmid;.
464
<chapter id="midi-maps">
465
<title>Midi Maps</title>
467
<sect1 id="what-is-a-midimap">
468
<title>What is a midi map ?</title>
471
A Midi Map is something that maps midi events in other midi events.
475
This is totally needed if a synthesizer doesn't understand the standard
476
events (that is, if a synthesizer is not General Midi compliant), in
477
this case, a midi map will translate General Midi events in the events
478
that that synthesizer understands.
482
For example you can make a midi map that converts all the
483
<literal>Change patch to Bright Piano</literal> events, to
484
<literal>Change patch to Trumpet</literal> events, and so when a song
485
tries to play a piano, it will play a trumpet instead.
489
This may sound odd, (why playing a trumpet when the song is made to play
490
a piano?), but it is very useful. The <acronym>GM</acronym> standard
491
specifies that when a midi keyboard receives an event to change patch to
492
<literal>0</literal>, it will change the current patch to <literal>Grand
493
Piano</literal>, but older synthesizer will change for example to a
494
<literal>Electric Guitar</literal> when it receives a
495
<literal>0</literal>. This old keyboard, needed to receive a
496
<literal>3</literal> (for example) to change to a
497
<literal>Piano</literal>. And here comes the midi map in action,
498
changing all <literal>change patch to 0</literal> to <literal>change
499
patch to 3</literal> and thus really playing the correct instrument when
505
<sect1 id="do-i-need-a-midi-map">
506
<title>Do I need a midi map ?</title>
509
In short, if you don't have an external synth, <emphasis>no</emphasis>!
513
If you only have a sound card, midi maps are not needed because all the
514
sound cards are <acronym>GM</acronym> compliant (this include AWE cards,
515
<acronym>GUS</acronym> cards, <acronym>FM</acronym> devices and so on).
519
If you are playing music through an external synthesizer, and it is not
520
GM compliant, you will need to make a midi map for your midi keyboard .
521
Although you will perhaps be a whole afternoon doing your map file and
522
trying different values for all the options, you will be fully rewarded
523
when you finish it, because then you will find all the hidden
524
possibilities of your keyboard. For example, I have a low-cost Yamaha
525
PSS-790, which is not <acronym>GM</acronym> compatible, and doesn't has
526
as many instruments as a <acronym>GM</acronym> synthesizer, but with
527
&kmid;'s midi mapper, it sounds even better than many soundcards
528
(including AWE :-)), due to the sound quality found in external synths
529
(even on non <acronym>GM</acronym> compliant ones).
534
<sect1 id="creating-a-midi-map">
535
<title>Creating a midi map</title>
538
There isn't any program to generate midi maps, so you will have to edit a file
539
by hand (using your favourite text editor).
543
A Midi map is a text file that keeps all the needed translations there will be
544
made when playing music.
548
It consist of four sections: <literal>PATCHMAP</literal>,
549
<literal>KEYMAP</literal>, <literal>CHANNELMAP</literal> and
550
<literal>OPTIONS</literal>.
554
Each section must appear only once, except the <literal>KEYMAP</literal> section
555
that can appear as many times as needed, provided that each appearance use a
556
different TextID (continue reading for details).
560
The general structure of a map file is:
563
<screen>DEFINE PATCHMAP
567
DEFINE KEYMAP "Name of Keymap"
571
DEFINE KEYMAP "Another Keymap"
585
You can see that the <literal>DEFINE</literal> word is used to specify
586
which section is going to be started (except for
587
<literal>OPTIONS</literal>), and <literal>END</literal> is put at the
588
end of each section. </para>
591
You can put comments by starting the line with a
592
<literal>#</literal> character.
596
Please, don't forget to send me your map file by email, so that future
597
releases of &kmid; will include support for more non General Midi
601
<sect2 id="the-patchmap-section">
602
<title>The <literal>PATCHMAP</literal> section</title>
605
This section is used to specify how patches are going to be mapped, from
606
GM to your keyboard specs . The general usage is:
609
<screen>(Name of GM Patch name)=(<replaceable>N</replaceable>) [AllKeysTo M]
613
Where <replaceable>N</replaceable> is the number that you keyboard needs to
614
receive to change the patch to the same that the GM standard does .
618
Please note that the left side of the equal sign is ignored, so
619
<acronym>GM</acronym> patches are supossed to be in order (from 0 to 127) , and
620
so you are not allowed to change the order of the lines nor to omit any of the
625
The optional <literal>AllKeysTo M</literal> is used to map all notes
626
that use that instrument to the <literal>M</literal> key . For example,
627
suppose that your midi keyboard doesn't have a Gun Shot sound (GM patch
628
127) so you want to map it to a percussion drum (i.e. key 60), which
629
sounds similar to a gun shot, then you can put in the 127th line of the
630
<literal>PATCHMAP</literal> section:
633
<screen>Gunshot =100 AllKeysTo 60</screen>
637
So when a midi file tries to play a note with the patch 127 (gun shot), it will
638
be mapped to the patch 100 (your keyboard's percussion patch) and play the note
639
60 (independently of the key that was goind to be played).
643
Please note that when I use the expression <quote>Percussion patch</quote>, I
644
mean the patch in which each key plays a different drum, cymbal, tom, maracas
645
and so on, and not to a possible sound which some keyboards have and which plays
646
a different tone of the same drum with each key.
651
<sect2 id="The-keymap-section">
652
<title>The <literal>KEYMAP</literal> section</title>
655
The <literal>KEYMAP</literal> section is used to specify how keys are
656
going to be mapped, within a given channel or instrument . The usage is:
659
<screen>DEFINE KEYMAP "Name of Keymap"
668
As with the <literal>PATCHMAP</literal> section, it is very important
669
the order of the lines, and that they are all there (the 128 keys).
673
As you can define multiple keymaps for different channels and instruments,
674
you must give a different name to each one in the first line.
678
Keymaps are mainly used to map keys in the percussion channel . Have a
679
look at the distributed maps to see some examples.
684
<sect2 id="the-channelmap-section">
685
<title>The <literal>CHANNELMAP</literal> section</title>
688
This section can be used to map some channels to different ones . For
689
example, if you want to swap the first and second channels, you can
690
easily do it within the <literal>CHANNELMAP</literal> section.
694
However it is more usefull for keyboards that need the percussion
695
channel to be in a given channel (the GM standard use the channel 10,
696
others use the channel 16 and others use channel 9).
700
Note that midi devices use 16 channels, so the <literal>CHANNELMAP</literal>
701
section, has 16 lines, from 0 to 15 , as this one:
704
<screen>(N) = (M) [Keymap "Name"] [ForcePatch x]
708
Where <literal>N</literal> is the channel which is mapped to the
709
<literal>M</literal> channel . If the <literal>Keymap</literal> option
710
is used, the Keymap with name <literal>Name</literal> will be used in
711
this channel (this Keymap should be defined earlier in the map file !) .
712
If the <literal>ForcePatch</literal> option is used, all events that try
713
to change the patch which is used in this channel will be ignored, and
714
patch <literal>x</literal> will be used instead.
718
The <literal>ForcePatch</literal> option may be useful for example to
719
always use the percussion patch on the percussion channel.
724
<sect2 id="the-options-section">
725
<title>The <literal>OPTIONS</literal> section</title>
728
The <literal>OPTIONS</literal> section has some general options that can
734
MapExpressionToVolumeEvents
739
You can specify both options, only one, or none of them.
743
The <literal>PitchBenderRatio r</literal> value, has the ratio by which
744
pitch bender events will be multiplied . That is, when a midi file tries
745
to send a pitch bender event with a <literal>n</literal> value, the real
746
value that will be sent is <literal>n*(r/4096)</literal> (the
747
<literal>4096</literal> value is for not having to put decimal points in
752
This is used because the <acronym>GM</acronym> standard says that when a
753
midi keyboard receives a Pitch Bender event with a 4096 data value, it
754
should bend the note to a higher one , but some midi keyboards try to
755
bend the initial note by two or more higher notes (even an octave
756
higher!) when they receive a 4096 . This can be easily fixed by trying
757
different values so that instead of sending a 4096, KMid sends the
762
When the <literal>MapExpressionToVolumeEvents</literal> option is set in
763
the map file, and a midi file try to send an expression event, KMid will
764
send a volume event which is understood by more non-GM keyboards, and
765
which has a similar effect . There are many midi files which use
766
expression events to fade out at the end of a song, so if you feel that
767
music should be heard softer and softer, you can turn on this option and
768
see if this is what you need, because your midi synthesizer could be
769
ignoring the expression events because it doesn't understand them.
776
<sect1 id="using-midimaps">
777
<title>Using midi maps</title>
780
To use a midi map, simply open the <guilabel>Midi Setup</guilabel>
781
dialog by selecting the <guimenuitem>Midi Setup ...</guimenuitem> entry
782
of the <guimenu>Settings</guimenu> menu.
786
Then click on <guilabel>Browse ...</guilabel>, select the map file within the open
787
file dialog and enjoy the music ! :-)
792
<chapter id="advanced-features">
793
<title>Advanced features</title>
795
<sect1 id="the-channel-view">
796
<title>The Channel View</title>
799
The Channel view is a window where you are shown a heap of keyboards (one for
800
each midi channel). In these keyboards, the notes that are being played with
801
each instrument are highlighted so that you can see what is each instrument
805
<sect2 id="changing-instruments">
806
<title>Changing instruments</title>
809
You can use the Channel View to change the instrument that each channel is
810
playing. In each channel there is a combo box where you can select it. Once you
811
change it, the green button next to it will change to red to indicate that this
812
is not the default instrument.
816
If you want to set again the default instrument, click on the red button, and it
817
will be automatically set.
822
<sect2 id="changing-the-look">
823
<title>Changing the look mode</title>
826
The Channel View has two different ways (for now) to display the played notes,
827
you can select them from the <guimenuitem>Channel View Options...</guimenuitem>
828
item in the <guimenu>Settings</guimenu> menu.
832
You can choose between a mode in which played keys are pressed, as if it were a
833
normal piano (<guilabel>3D look</guilabel>), or a mode in which keys are also
834
filled with red color, so that pressed keys are easily recognized (<guilabel>3D
835
- filled</guilabel>). If you play the piano, or any other music instrument, you
836
can use this view to learn to play a song by yourself. I've used this technique
837
and it (along with a tempo reduction) is great to
838
learn new compositions.
845
<sect1 id="the-tempo-lcd">
846
<title>The Tempo <acronym>LCD</acronym></title>
849
This shows the tempo in which a song is played, that is, the velocity of the
850
song. The higher this number is, the faster the song will play.
854
You can also change the tempo of the song, so if a song plays too fast for you
855
to follow the lyrics, you can make it play slower. To change the tempo, you can
856
use the arrows that appear at each sides of the <acronym>LCD</acronym>.
860
Once you have changed the tempo, you can get back the default one by doing a
861
double click on the <acronym>LCD</acronym>.
868
<chapter id="key-bindings">
869
<title>Key bindings</title>
876
<entry>Action</entry>
881
<entry><keycap>Space</keycap></entry>
882
<entry>Play the loaded song, if it isn't playing, or pause it, if it's already
886
<entry><keycap>Backspace</keycap></entry>
887
<entry>Stop playing</entry>
890
<entry><keycap>Right Arrow</keycap></entry>
891
<entry>Next song in current collection</entry>
894
<entry><keycap>Left Arrow</keycap></entry>
895
<entry>Previous song in current collection</entry>
898
<entry><keycap>Up Arrow</keycap></entry>
899
<entry>Scroll lyrics one line up</entry>
902
<entry><keycap>Down Arrow</keycap></entry>
903
<entry>Scroll lyrics one line down</entry>
906
<entry><keycap>Page Up</keycap></entry>
907
<entry>Scroll lyrics one page up</entry>
910
<entry><keycap>Page Down</keycap></entry>
911
<entry>Scroll lyrics one page down</entry>
914
<entry><keycap>1</keycap></entry>
915
<entry>Display text events</entry>
918
<entry><keycap>2</keycap></entry>
919
<entry>Display lyric events</entry>
922
<entry><keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo></entry>
923
<entry>Open a song</entry>
926
<entry><keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo></entry>
927
<entry>Quit &kmid;</entry>
930
<entry><keycap>F1</keycap></entry>
931
<entry>Open this document</entry>
939
<chapter id="frequently-asked-questions">
940
<title>Frequently Asked Questions (FAQ)</title>
946
What is exactly a midi file?
951
<para>A Midi file is a file that contains the information on how to play
952
a song, that is, it contains simply the notes, the rhythm,
953
velocity,&etc; This implies that the same midi file, when played in two
954
different devices, can produce very different results, as well as a
955
given staff can be played very differenly by two different musicians.
963
I can get better sound with a mp3/wav player, why should I use &kmid;?
968
Well, I cannot force anyone to use &kmid;, but a typical midi file
969
occupies 50 Kb. while a typical mp3 file occupies 4 Mb. (and that is a
970
1:80 compression ratio :-) . And with a good synthesizer device, you can
971
get a comparable sound quality. Even more, with a midi file, you can
972
change individual instruments, change the velocity of a song, &etc; so
973
you have more overall control.
981
I can't get my AWE card to work with KMid, what can I do?
986
This can happen when you get a binary distribution (rpm, deb) of &kmid;. It
987
happens because &kmid; was compiled without awe support. If it doesn't
988
work, then you must download a source code distribution (for example, from
989
<ulink url="http://www.arrakis.es/~rlarrosa/kmid.html">&kmid;'s homepage</ulink>)
997
I want to add a whole directory to a collection, but having to add the midi
998
files one by one is not funny.
1004
I agree, that's why &kmid; supports Drag & Drop. Just open, in &konqueror;,
1005
the directory you want to add, select all the files, drag them and drop them in
1009
Be sure to set the <guimenuitem>AutoAdd</guimenuitem> option before, so that the
1010
files will be added to the current collection. If you don't do this, files will
1011
be added to the Temporary Collection.
1019
I can't follow the lyrics, it's playing too fast!
1024
You can press the left arrow of the tempo <acronym>LCD</acronym> to make it play
1025
slower. Remember that you can do a double click on the <acronym>LCD</acronym> to
1026
get the default tempo.
1034
<chapter id="final-notes">
1035
<title>Final notes</title>
1037
<sect1 id="some-tips-and-tricks">
1038
<title>Some tips and tricks</title>
1041
I will include some tips so that you can take fully advantage from all
1042
the features of &kmid;:
1047
<term>Opening files</term>
1049
<para>I always keep a &kde; desktop with a &konqueror; window in my root
1050
midi directory, and &kmid; in this desktop (if playing a midi file) or
1051
sticky (if playing a karaoke file :-)). This way, when the active
1052
collection finishes, or I want to play some file, I just go to the
1053
konqueror; window, select the desired files and Drag & Drop to the
1058
Suppose that you want to play some midi files, but don't want to add
1059
them to any collection, well, just turn off the <guimenuitem>AutoAdd to
1060
Collection</guimenuitem> option in the <guimenu>Collections</guimenu>
1061
menu, and open the files, they will be added to the Temporary
1068
<term>Another method to create a new Collection</term>
1071
Suppose that you have midi files <filename>A.mid</filename>,
1072
<filename>B.mid</filename> and <filename>C.mid</filename>. At first you
1073
only want to play the first midi file, so you unselect
1074
<guimenuitem>AutoAdd</guimenuitem> and open
1075
<filename>A.mid</filename>. You get then a Temporary Collection with
1079
Then you decide to play also B and C, and make a collection with all them, what
1083
Easy, select <guimenuitem>AutoAdd</guimenuitem> and open
1084
<filename>B.mid</filename> and <filename>C.mid</filename> (by any of the
1085
multiple methods), they will be automatically added to the Temporary
1086
Collection, that will then have <filename>A.mid</filename>,
1087
<filename>B.mid</filename> and <filename>C.mid</filename>. At this
1088
point, you can open the <guilabel>Organize Collections</guilabel>
1089
dialog, select the Temporary Collection, and click on the
1090
<literal>Copy</literal> button, enter the name of the new collection,
1091
and you are done . You already have a new collection, which holds the
1092
A,B and C midi files, and that is not deleted when you close &kmid;.
1100
<sect1 id="hall-of-kmids-friends">
1101
<title>Hall of &kmid;'s friends</title>
1104
These are some folks who have sent me midi files or a postcard, thanks
1105
to everyone! Hearing those songs and watching those postcards will keep
1106
me programming more and more on &kmid;.
1111
<para>Ola Sigurdson - <literal>Taking Care of Business</literal> (Bachman
1112
Turner Overdrive)</para>
1115
<para>EG Lim - A really very nice postcard from Penang.</para>
1118
<para>Guenther Starnberger - <literal>Amadeus</literal> (Falco) and
1119
<literal>Schrei Nach Liebe</literal> (Die Aerzte)</para>
1122
<para>Leandro Terrés - <literal>All That She Wants</literal> and
1123
<literal>The Sign</literal> (Ace of Base)</para>
1126
<para>Nick Stoic - Two midi files</para>
1132
<sect1 id="about-the-author">
1133
<title>About the author</title>
1136
&kmid; has been made by Antonio Larrosa Jiménez, in Málaga
1137
(Spain). I am a student of Mathematics at the University of
1138
Málaga, currently I'm doing the third course, so I don't have
1139
much free time for my hobbies, but I always try to get some :-) . My
1140
hobbies include : Programming, collecting midi files, playing music and
1141
proving theorems ;-).
1145
If you want to know where to download midi/karaoke files, you have any
1146
question, a bug to report, an idea or a feature you'd like to see in
1147
&kmid; or just want to make me happy, feel free to send me an email to:
1148
<email>larrosa@kde.org</email> or <email>antlarr@arrakis.es</email>
1151
<para>or write to me by snail-mail at:
1154
<literallayout> Antonio Larrosa Jimenez
1160
You will really make me happy if you send me a postcard from where you
1161
live, or a midi/karaoke file from a local music group of your country
1162
. Everyone who sends me a postcard or a midi file will have his/her name
1163
in the Hall of &kmid;'s friends of this file (provided they don't oppose
1164
to this). Please contact me before sending me any midi files because I
1165
may have it already.
1169
I'd like stress that &kmid; has been done completely on free time,
1170
without any monetary support from any company nor particular. So plese
1171
keep in mind when you use it, that the only think that keep me working
1172
on this is getting some feedback from its users (a postcard, or just an
1177
I would like to thanks the following persons their help in developing &kmid;:
1183
Paul J. Leonard <email>P.J.Leonard@bath.ac.uk</email> - Support for AWE
1189
Sebestyen Zoltan <email>szoli@digo.inf.elte.hu</email>- FreeBSD port and
1195
Christian Esken <email>esken@kde.org</email> - For organizing the KDE
1201
Stephan Kulow <email>coolo@kde.org</email>- Configure scripts and help
1202
with <command>automake</command> and <command>CVS</command>
1207
Jaroslav Kysela - Help in doing the &Linux; Ultrasound Project driver
1213
Takashi Iwai and Joseph H. Buehler - Fix for AWE cards pitch being
1219
Adrian Knoth - For giving me good news and many suggestions
1224
Kevin Street - Patch to support FreeBSD 3.0
1229
Thanks go also to Jose Luis Sanchez for his testing of GUS support,
1230
Ignacio Garcia for testing the AWE support, Hans Petter Bieker, Ola
1231
Sigurdson, Marc Diefenbruch, Peter Gritsch, Magnus Pfeffer, Urko Lusa,
1232
Peter-Paul Witta, Thorsten Westheider, Ulrich Cordes and everyone that
1233
sent me a patch, bug report or just an email to give me encouragement.
1238
And of course to all the fabulous musicians over the net that keep giving
1239
us those wonderful midi and karaoke files.
1244
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
1248
<sect1 id="copyright-and-license">
1249
<title>Copyrights and License</title>
1251
<para>&kmid; is copyright Antonio Larrosa Jiménez, 1999-2001</para>
1253
<para>Documentation is copyright Antonio Larrosa Jiménez 1999,
1263
<appendix id="installation">
1264
<title>Installation</title>
1266
<sect1 id="how-to-obtain-kmid">
1267
<title>How to obtain &kmid;</title>
1270
&kmid; is a core application of the &kde; project <ulink
1271
url="http://www.kde.org">http://www.kde.org</ulink>.
1275
&kmid; can be found on the KDEmultimedia package, which is at <ulink
1276
url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>, the main
1277
&FTP; site of the &kde; project. You can also download it from any of the many
1278
&FTP; mirrors whose list is at <ulink
1279
url="http://www.kde.org/mirrors.html">http://www.kde.org/mirrors.html</ulink>.
1283
Additionally, &kmid; can be found on its homepage, which is at <ulink
1284
url="http://www.arrakis.es/~rlarrosa/kmid.html">
1285
http://www.arrakis.es/~rlarrosa/kmid.html</ulink>. In the homepage, you can
1286
follow its development, see some information about it, some screenshots, a list
1287
of sites from where you can download more karaoke songs, &etc;
1292
<sect1 id="requirements">
1293
<title>Requirements</title>
1295
<para>&kmid; requires to work:</para>
1300
&kde;. Well, you probably already have this :-)
1305
A sound card. A good soundcard and/or external synthesizer are
1306
recommended, as the sound quality depends greatly in your soundcard,
1307
it's not the same to play the music using an FM device, than using an
1312
If you don't have a soundcard, you can still compile &kmid; with
1313
<literal>MODE_DEMO_ONLYVISUAL</literal> defined and it will run as if
1314
you had one (but you'll get no music, of course :-( ).
1321
<sect1 id="compilation-and-installation">
1322
<title>Compilation and Installation</title>
1324
<para>If you downloaded the KDEmultimedia package, or just the &kmid;
1325
package, to compile &kmid; you must run
1326
<userinput><command>configure</command></userinput>, then
1327
<userinput><command>make</command></userinput> and then, to install it,
1328
<userinput><command>make</command> <option>install</option></userinput>
1329
(most probably, as <systemitem class="username">root</systemitem>).
1333
I've included some examples that are installed in <filename
1334
class="directory">$dollar;<envar>KDEDIR</envar>/share/apps/kmid</filename>
1338
If you run into any problem, don't hesitate to contact any of the &kde; mailing
1339
list, or send a report directly to me.