3 %bcond_without X # without X based interfaces (implies libX11 deps)
4 %bcond_without alsa # without ALSA support
5 %bcond_with arts # enable ARTS support (implies also glib(2) deps)
6 %bcond_with esd # enable ESD support
7 %bcond_with jack # enable JACK support
8 %bcond_with nas # enable NAS support
9 %bcond_with vorbis # enable Ogg Vorbis support
11 Summary: TiMidity++ - MIDI to WAV converter and player
12 Summary(pl): TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
13 Summary(pt_BR): Sintetizador MIDI por software
14 Summary(ru): ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ× É ËÏÎ×ÅÒÔÏÒ ÉÈ × WAV ÆÏÒÍÁÔ
15 Summary(uk): ðÒÏÇÒÁ×ÁÞ MIDI-ÆÁÊÌ¦× ÔÁ ËÏÎ×ÅÒÔÏÒ §È × WAV ÆÏÒÍÁÔ
20 Group: Applications/Sound
21 Source0: http://dl.sourceforge.net/timidity/%{name}-%{version}.tar.bz2
22 # Source0-md5: a82ceeb2245e22f4de2b41da21eaee32
23 Source1: http://archive.cs.umbc.edu/pub/midia/instruments.tar.gz
24 # Source1-md5: 4959787a78ee39d44a36185bd303cf20
25 Source2: britepno.pat.bz2
26 # Source2-md5: 324e265362f812883024b58cf3470d1a
27 Source3: pistol.pat.bz2
28 # Source3-md5: f961325db679de6e0ea402ebe6a268f9
30 Source5: timidity.init
31 Source6: timidity.sysconfig
32 Patch0: %{name}-detach.patch
33 Patch1: %{name}-gcc4.patch
34 URL: http://timidity.sourceforge.net/
35 %{?with_alsa:BuildRequires: alsa-lib-devel}
36 %{?with_arts:BuildRequires: arts-devel}
37 BuildRequires: autoconf
38 %{?with_esd:BuildRequires: esound-devel}
39 %{?with_X:BuildRequires: gtk+-devel}
40 %{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
41 %{?with_vorbis:BuildRequires: libvorbis-devel}
42 %{?with_X:BuildRequires: motif-devel}
43 %{?with_nas:BuildRequires: nas-devel}
44 BuildRequires: ncurses-devel
45 BuildRequires: rpmbuild(macros) >= 1.268
46 BuildRequires: slang-devel >= 2.0.0
47 %{?with_X:BuildRequires: tk-devel >= 8.3.2}
48 %{?with_X:Provides: %{name}(X) = %{version}-%{release}}
51 Obsoletes: timidity++-X11
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 TiMidity++ is a converter that converts some of MIDI files ( formats :
56 Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and
57 Module file (mod) ) into formatted audio file (ex. RIFF WAVE).
58 TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts
59 (sfx, sf2) to generate digital audio data from MIDI files. The digital
60 audio data generated by TiMidity can be stored in a file for
61 processing, or played in real time through an audio device. In real
62 time playing, TiMidity if able to show the lyric contained in KAR file
66 TiMidity++ jest konwerterem z niektórych plików MIDI (formaty:
67 Standard MIDI (MID), Recomposer (RCP, R36, G18, G36), Module (mod)) do
68 plików audio (np. RIFF WAVE). Do generowania danych z plików MIDI
69 TiMidity u¿ywa patchy takich jak Gravis Ultrasound albo Soundfontów
70 (sfx, sf2). Cyfrowe dane audio mog± byæ zapisane do pliku albo
71 odtwarzane w czasie rzeczywistym. Przy odtwarzaniu TiMidity mo¿e
72 pokazywaæ s³owa zawarte w pliku KAR lub WRD.
75 O TiMidity++ é um sintetizador MIDI por software. Este pacote permite
76 ouvir arquivos do tipo MIDI com a mesma qualidade de som que as placas
77 que utilizam o recurso de "wavetable" via hardware (como a AWE32),
78 mesmo que esta não possua o recurso de "wavetable" (a SB16 por
82 ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ×, ÎÅ ÔÒÅÂÕÀÝÉÊ ÐÏÄÄÅÒÖËÉ ÉÎÓÔÒÕÍÅÎÔÏ× MIDI
83 Ú×ÕËÏ×ÏÊ ÐÌÁÔÏÊ. éÓÐÏÌØÚÕÅÔ ÆÁÊÌÙ ÉÎÓÔÒÕÍÅÎÔÏ× × ÆÏÒÍÁÔÅ GUS/patch,
84 ÍÏÖÅÔ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÁÎÎÙÅ × ÆÏÒÍÁÔÅ SoundFont. ïÂÅÓÐÅÞÉ×ÁÅÔ
85 ÏÔÌÉÞÎÏÅ ËÁÞÅÓÔ×Ï Ú×ÕËÁ MIDI ÚÁ ÓÞÅÔ ÉÎÔÅÎÓÉ×ÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ
89 ðÒÏÇÒÁ×ÁÞ MIDI ÆÁÊ̦×, ÑËÏÍÕ ÎÅ ÐÏÔÒ¦ÂÎÁ ЦÄÔÒÉÍËÁ ¦ÎÓÔÒÕÍÅÎÔ¦× MIDI
90 Ú×ÕËÏ×ÏÀ ÐÌÁÔÏÀ. ÷ÉËÏÒÉÓÔÏ×Õ¤ ÆÁÊÌÉ ¦ÎÓÔÒÕÍÅÎÔ¦× Õ ÆÏÒÍÁÔ¦ GUS/patch,
91 ÒÏÚÕͦ¤ ÔÁËÏÖ ÆÏÒÍÁÔ SoundFont. úÁÂÅÚÐÅÞÕ¤ צÄͦÎÎÕ Ñ˦ÓÔØ Ú×ÕËÕ MIDI
92 ÚÁ ÒÁÈÕÎÏË ¦ÎÔÅÎÓÉ×ÎÏÇÏ ×ÉËÏÒÉÓÔÁÎÎÑ ÐÒÏÃÅÓÏÒÁ.
95 Summary: Directory for TiMidity++ instruments
96 Summary(pl): Katalog na instrumenty TiMidity++
97 Group: Applications/Sound
100 Directory where TiMidity++ instruments should be placed in.
102 %description gspdir -l pl
103 Katalog, w którym powinny byæ instalowane instrumenty dla TiMidity++.
106 Summary: Instruments for TiMidity++
107 Summary(pl): Instrumenty dla TiMidity++
108 Summary(pt_BR): Instrumentos básicos para o TiMidity++
109 Group: Applications/Sound
110 Requires: %{name}-gspdir = %{version}-%{release}
111 Obsoletes: timidity-patches
113 %description instruments
114 Instruments for TiMidity++.
116 %description instruments -l pl
117 Instrumenty dla TiMidity++.
119 %description instruments -l pt_BR
120 Este pacote inclui um conjunto básico de instrumentos (chamados de
121 patches no meio musical) para o TiMidity++.
124 Summary: GTK+ interface for TiMidity++
125 Summary(pl): Interfejs TiMidity++ oparty o bibliotekê GTK+
126 Group: Applications/Sound
127 Requires: %{name}(X) = %{version}-%{release}
130 gtkmidi - GTK+ interface for TiMidity++.
132 %description gtk -l pl
133 gtkmidi - interfejs do TiMidity++ oparty o bibliotekê GTK+.
136 Summary: Motif interface for TiMidity++
137 Summary(pl): Interfejs TiMidity++ oparty o Motif
138 Group: Applications/Sound
139 Requires: %{name}(X) = %{version}-%{release}
142 xmmidi - Motif interface for TiMidity++.
144 %description motif -l pl
145 xmmidi - interfejs do TiMidity++ oparty o bibliotekê Motif.
148 Summary: Slang interface for TiMidity++
149 Summary(pl): Interfejs TiMidity++ oparty o bibliotekê Slang
150 Group: Applications/Sound
151 Requires: %{name} = %{version}-%{release}
154 Slang interface for TiMidity++.
156 %description slang -l pl
157 Interfejs do TiMidity++ oparty o bibliotekê Slang.
160 Summary: Tcl/Tk interface for TiMidity++
161 Summary(pl): Interfejs TiMidity++ oparty o Tcl/Tk
162 Group: Applications/Sound
163 Requires: %{name}(X) = %{version}-%{release}
166 tkmidi - Tcl/Tk interface for TiMidity++.
168 %description tcltk -l pl
169 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
172 Summary: VT100 interface for TiMidity++
173 Summary(pl): Interfejs TiMidity++ dzia³aj±cy na terminalu VT100
174 Group: Applications/Sound
175 Requires: %{name} = %{version}-%{release}
178 VT100 interface for TiMidity++.
180 %description vt100 -l pl
181 Interfejs do TiMidity++ mog±cy dzia³aæ na terminalu VT100.
184 Summary: Athena interface for TiMidity++
185 Summary(pl): Interfejs TiMidity++ oparty o Athena Widgets
186 Group: Applications/Sound
187 Requires: %{name}(X) = %{version}-%{release}
190 xawmidi - Athena interface for TiMidity++.
192 %description xaw -l pl
193 xawmidi - interfejs do TiMidity++ oparty o biblitekê widgetów Athena.
196 Summary: "X Skin" interface for TiMidity++
197 Summary(pl): Interfejs TiMidity++ "X Skin"
198 Group: Applications/Sound
199 Requires: %{name}(X) = %{version}-%{release}
200 Obsoletes: TiMidity++ < 2.13.0-3
203 xskinmidi - "X Skin" interface for TiMidity++.
205 %description xskin -l pl
206 xskinmidi - interfejs do TiMidity++ "X Skin".
209 Summary: TiMidity++ ALSA sequencer interface
210 Summary(pl): TiMidity++ jako interfejs sekwencera ALSA
211 Group: Applications/Sound
212 Requires: %{name} = %{version}-%{release}
215 The ALSA sequencer interface communicates between ALSA sequencer core
216 and timidity. The interface receives events from sequencer and plays
217 it in (quasi-)real-time. In this mode, TiMidity works purely as the
218 software real-time MIDI render, that is as a software MIDI synth
221 %description alsaseq -l pl
222 Interfejs sekwencera ALSA komunikuje siê miêdzy rdzeniem sekwencera
223 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
224 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity dzia³a
225 wy³±cznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
226 jako silnik syntezatora MIDI w architekturze ALSA.
233 for f in doc/ja_JP.eucJP/README*; do
238 cp -f /usr/share/automake/config.sub autoconf
241 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
242 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}
245 %{?with_alsa:--enable-alsaseq} \
246 --enable-audio=$AUDIO \
248 %{?with_X:--enable-gtk=dynamic} \
249 --enable-emacs=dynamic \
250 %{?with_X:--enable-motif=dynamic} \
251 --enable-ncurses=dynamic \
254 --enable-slang=dynamic \
255 %{?with_X:--enable-spectrogram} \
256 %{?with_X:--enable-tcltk=dynamic} \
257 --enable-vt100=dynamic \
258 %{?with_X:--enable-xaw=dynamic} \
259 %{?with_X:--enable-xskin=dynamic} \
260 --with-default-path=%{_sysconfdir} \
262 %{!?with_X:--without-x}
265 SHLIB_DIR=%{_libdir}/timidity
268 rm -rf $RPM_BUILD_ROOT
269 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}}
272 DESTDIR=$RPM_BUILD_ROOT \
273 SHLIB_DIR=%{_libdir}/timidity
275 ## based on timidity/timidity.c
276 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
277 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
278 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
279 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
280 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
281 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
283 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
284 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
285 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
287 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
289 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
291 mv -f instruments/* .
293 bzip2 -cd %{SOURCE2} > britepno.pat
294 bzip2 -cd %{SOURCE3} > pistol.pat
296 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
297 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
300 rm -rf $RPM_BUILD_ROOT
303 /sbin/chkconfig --add timidity
304 %service timidity restart "TiMidity++ ALSA sequencer interface"
307 if [ "$1" = "0" ]; then
308 %service timidity stop
309 /sbin/chkconfig --del timidity
313 %defattr(644,root,root,755)
314 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
315 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
316 %attr(755,root,root) %{_bindir}/timidity
317 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timidity.cfg
318 %dir %{_libdir}/timidity
319 %attr(755,root,root) %{_libdir}/timidity/interface_e.so
320 %attr(755,root,root) %{_libdir}/timidity/interface_n.so
321 %{_libdir}/timidity/interface_e.txt
322 %{_libdir}/timidity/interface_n.txt
323 %if "%{_lib}" != "lib"
324 %dir %{_prefix}/lib/timidity
326 %{?with_X:%{_prefix}/lib/timidity/bitmaps}
327 %{_mandir}/man1/timidity.1*
328 %{_mandir}/man5/timidity.cfg.5*
329 %lang(ja) %{_mandir}/ja/man1/timidity.1*
330 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
333 %defattr(644,root,root,755)
334 %dir %{_datadir}/GUSpatches
337 %defattr(644,root,root,755)
338 %{_datadir}/GUSpatches/*
342 %defattr(644,root,root,755)
343 %attr(755,root,root) %{_bindir}/gtkmidi
344 %attr(755,root,root) %{_libdir}/timidity/interface_g.so
345 %{_libdir}/timidity/interface_g.txt
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_bindir}/xmmidi
352 %attr(755,root,root) %{_libdir}/timidity/interface_m.so
353 %{_libdir}/timidity/interface_m.txt
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/timidity/interface_s.so
359 %{_libdir}/timidity/interface_s.txt
363 %defattr(644,root,root,755)
365 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
366 %attr(755,root,root) %{_bindir}/tkmidi
367 %attr(755,root,root) %{_libdir}/timidity/interface_k.so
368 %{_libdir}/timidity/interface_k.txt
369 %{_prefix}/lib/timidity/tclIndex
370 %{_prefix}/lib/timidity/*.tcl
374 %defattr(644,root,root,755)
375 %attr(755,root,root) %{_libdir}/timidity/interface_T.so
376 %{_libdir}/timidity/interface_T.txt
380 %defattr(644,root,root,755)
381 %doc doc/C/README.xaw
382 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
383 %attr(755,root,root) %{_bindir}/xawmidi
384 %attr(755,root,root) %{_libdir}/timidity/interface_a.so
385 %{_libdir}/timidity/interface_a.txt
388 %defattr(644,root,root,755)
389 %doc doc/C/README.xskin
390 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
391 %attr(755,root,root) %{_bindir}/xskinmidi
392 %attr(755,root,root) %{_libdir}/timidity/interface_i.so
393 %{_libdir}/timidity/interface_i.txt
398 %defattr(644,root,root,755)
399 %attr(754,root,root) /etc/rc.d/init.d/timidity
400 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timidity