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.UTF-8): TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
13 Summary(pt_BR.UTF-8): Sintetizador MIDI por software
14 Summary(ru.UTF-8): Проигрыватель MIDI файлов и конвертор их в WAV формат
15 Summary(uk.UTF-8): Програвач 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 Patch2: %{name}-configure.patch
35 Patch3: %{name}-stop_polling.patch
36 URL: http://timidity.sourceforge.net/
37 %{?with_alsa:BuildRequires: alsa-lib-devel}
38 %{?with_arts:BuildRequires: arts-devel}
39 BuildRequires: autoconf
40 %{?with_esd:BuildRequires: esound-devel}
41 %{?with_x:BuildRequires: gtk+-devel}
42 %{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
43 %{?with_vorbis:BuildRequires: libvorbis-devel}
44 %{?with_x:BuildRequires: motif-devel}
45 %{?with_nas:BuildRequires: nas-devel}
46 BuildRequires: ncurses-devel
47 BuildRequires: rpmbuild(macros) >= 1.268
48 BuildRequires: slang-devel >= 2.0.0
49 %{?with_x:BuildRequires: tk-devel >= 8.3.2}
50 %{?with_x:Provides: %{name}(X) = %{version}-%{release}}
53 Obsoletes: timidity++-X11
54 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 TiMidity++ is a converter that converts some of MIDI files ( formats :
58 Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and
59 Module file (mod) ) into formatted audio file (ex. RIFF WAVE).
60 TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts
61 (sfx, sf2) to generate digital audio data from MIDI files. The digital
62 audio data generated by TiMidity can be stored in a file for
63 processing, or played in real time through an audio device. In real
64 time playing, TiMidity if able to show the lyric contained in KAR file
67 %description -l pl.UTF-8
68 TiMidity++ jest konwerterem z niektórych plików MIDI (formaty:
69 Standard MIDI (MID), Recomposer (RCP, R36, G18, G36), Module (mod)) do
70 plików audio (np. RIFF WAVE). Do generowania danych z plików MIDI
71 TiMidity używa patchy takich jak Gravis Ultrasound albo Soundfontów
72 (sfx, sf2). Cyfrowe dane audio mogą być zapisane do pliku albo
73 odtwarzane w czasie rzeczywistym. Przy odtwarzaniu TiMidity może
74 pokazywać słowa zawarte w pliku KAR lub WRD.
76 %description -l pt_BR.UTF-8
77 O TiMidity++ é um sintetizador MIDI por software. Este pacote permite
78 ouvir arquivos do tipo MIDI com a mesma qualidade de som que as placas
79 que utilizam o recurso de "wavetable" via hardware (como a AWE32),
80 mesmo que esta não possua o recurso de "wavetable" (a SB16 por
83 %description -l ru.UTF-8
84 Проигрыватель MIDI файлов, не требующий поддержки инструментов MIDI
85 звуковой платой. Использует файлы инструментов в формате GUS/patch,
86 может также использовать данные в формате SoundFont. Обеспечивает
87 отличное качество звука MIDI за счет интенсивного использования
90 %description -l uk.UTF-8
91 Програвач MIDI файлів, якому не потрібна підтримка інструментів MIDI
92 звуковою платою. Використовує файли інструментів у форматі GUS/patch,
93 розуміє також формат SoundFont. Забезпечує відмінну якість звуку MIDI
94 за рахунок інтенсивного використання процесора.
97 Summary: Directory for TiMidity++ instruments
98 Summary(pl.UTF-8): Katalog na instrumenty TiMidity++
99 Group: Applications/Sound
102 Directory where TiMidity++ instruments should be placed in.
104 %description gspdir -l pl.UTF-8
105 Katalog, w którym powinny być instalowane instrumenty dla TiMidity++.
108 Summary: Instruments for TiMidity++
109 Summary(pl.UTF-8): Instrumenty dla TiMidity++
110 Summary(pt_BR.UTF-8): Instrumentos básicos para o TiMidity++
111 Group: Applications/Sound
112 Requires: %{name}-gspdir = %{version}-%{release}
113 Obsoletes: timidity-patches
115 %description instruments
116 Instruments for TiMidity++.
118 %description instruments -l pl.UTF-8
119 Instrumenty dla TiMidity++.
121 %description instruments -l pt_BR.UTF-8
122 Este pacote inclui um conjunto básico de instrumentos (chamados de
123 patches no meio musical) para o TiMidity++.
126 Summary: GTK+ interface for TiMidity++
127 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o bibliotekę GTK+
128 Group: Applications/Sound
129 Requires: %{name}(X) = %{version}-%{release}
132 gtkmidi - GTK+ interface for TiMidity++.
134 %description gtk -l pl.UTF-8
135 gtkmidi - interfejs do TiMidity++ oparty o bibliotekę GTK+.
138 Summary: Motif interface for TiMidity++
139 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Motif
140 Group: Applications/Sound
141 Requires: %{name}(X) = %{version}-%{release}
144 xmmidi - Motif interface for TiMidity++.
146 %description motif -l pl.UTF-8
147 xmmidi - interfejs do TiMidity++ oparty o bibliotekę Motif.
150 Summary: Slang interface for TiMidity++
151 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o bibliotekę Slang
152 Group: Applications/Sound
153 Requires: %{name} = %{version}-%{release}
156 Slang interface for TiMidity++.
158 %description slang -l pl.UTF-8
159 Interfejs do TiMidity++ oparty o bibliotekę Slang.
162 Summary: Tcl/Tk interface for TiMidity++
163 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Tcl/Tk
164 Group: Applications/Sound
165 Requires: %{name}(X) = %{version}-%{release}
168 tkmidi - Tcl/Tk interface for TiMidity++.
170 %description tcltk -l pl.UTF-8
171 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
174 Summary: VT100 interface for TiMidity++
175 Summary(pl.UTF-8): Interfejs TiMidity++ działający na terminalu VT100
176 Group: Applications/Sound
177 Requires: %{name} = %{version}-%{release}
180 VT100 interface for TiMidity++.
182 %description vt100 -l pl.UTF-8
183 Interfejs do TiMidity++ mogący działać na terminalu VT100.
186 Summary: Athena interface for TiMidity++
187 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Athena Widgets
188 Group: Applications/Sound
189 Requires: %{name}(X) = %{version}-%{release}
192 xawmidi - Athena interface for TiMidity++.
194 %description xaw -l pl.UTF-8
195 xawmidi - interfejs do TiMidity++ oparty o biblitekę widgetów Athena.
198 Summary: "X Skin" interface for TiMidity++
199 Summary(pl.UTF-8): Interfejs TiMidity++ "X Skin"
200 Group: Applications/Sound
201 Requires: %{name}(X) = %{version}-%{release}
202 Obsoletes: TiMidity++ < 2.13.0-3
205 xskinmidi - "X Skin" interface for TiMidity++.
207 %description xskin -l pl.UTF-8
208 xskinmidi - interfejs do TiMidity++ "X Skin".
211 Summary: TiMidity++ ALSA sequencer interface
212 Summary(pl.UTF-8): TiMidity++ jako interfejs sekwencera ALSA
213 Group: Applications/Sound
214 Requires(post,preun): /sbin/chkconfig
215 Requires: %{name} = %{version}-%{release}
219 The ALSA sequencer interface communicates between ALSA sequencer core
220 and timidity. The interface receives events from sequencer and plays
221 it in (quasi-)real-time. In this mode, TiMidity works purely as the
222 software real-time MIDI render, that is as a software MIDI synth
225 %description alsaseq -l pl.UTF-8
226 Interfejs sekwencera ALSA komunikuje się między rdzeniem sekwencera
227 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
228 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity działa
229 wyłącznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
230 jako silnik syntezatora MIDI w architekturze ALSA.
239 for f in doc/ja_JP.eucJP/README*; do
244 cp -f /usr/share/automake/config.sub autoconf
247 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
248 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}
251 %{?with_alsa:--enable-alsaseq} \
252 --enable-audio=$AUDIO \
254 %{?with_x:--enable-gtk=dynamic} \
255 --enable-emacs=dynamic \
256 %{?with_x:--enable-motif=dynamic} \
257 --enable-ncurses=dynamic \
260 --enable-slang=dynamic \
261 %{?with_x:--enable-spectrogram} \
262 %{?with_x:--enable-tcltk=dynamic} \
263 --enable-vt100=dynamic \
264 %{?with_x:--enable-xaw=dynamic} \
265 %{?with_x:--enable-xskin=dynamic} \
266 --with-default-path=%{_sysconfdir} \
268 %{!?with_x:--without-x}
271 SHLIB_DIR=%{_libdir}/timidity
274 rm -rf $RPM_BUILD_ROOT
275 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}}
278 DESTDIR=$RPM_BUILD_ROOT \
279 SHLIB_DIR=%{_libdir}/timidity
281 ## based on timidity/timidity.c
282 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
283 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
284 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
285 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
286 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
287 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
289 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
290 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
291 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
293 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
295 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
297 mv -f instruments/* .
299 bzip2 -cd %{SOURCE2} > britepno.pat
300 bzip2 -cd %{SOURCE3} > pistol.pat
302 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
303 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
306 rm -rf $RPM_BUILD_ROOT
309 /sbin/chkconfig --add timidity
310 %service timidity restart "TiMidity++ ALSA sequencer interface"
313 if [ "$1" = "0" ]; then
314 %service timidity stop
315 /sbin/chkconfig --del timidity
319 %defattr(644,root,root,755)
320 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
321 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
322 %attr(755,root,root) %{_bindir}/timidity
323 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timidity.cfg
324 %dir %{_libdir}/timidity
325 %attr(755,root,root) %{_libdir}/timidity/interface_e.so
326 %attr(755,root,root) %{_libdir}/timidity/interface_n.so
327 %{_libdir}/timidity/interface_e.txt
328 %{_libdir}/timidity/interface_n.txt
329 %if "%{_lib}" != "lib"
330 %dir %{_prefix}/lib/timidity
332 %{?with_x:%{_prefix}/lib/timidity/bitmaps}
333 %{_mandir}/man1/timidity.1*
334 %{_mandir}/man5/timidity.cfg.5*
335 %lang(ja) %{_mandir}/ja/man1/timidity.1*
336 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
339 %defattr(644,root,root,755)
340 %dir %{_datadir}/GUSpatches
343 %defattr(644,root,root,755)
344 %{_datadir}/GUSpatches/*
348 %defattr(644,root,root,755)
349 %attr(755,root,root) %{_bindir}/gtkmidi
350 %attr(755,root,root) %{_libdir}/timidity/interface_g.so
351 %{_libdir}/timidity/interface_g.txt
356 %defattr(644,root,root,755)
357 %attr(755,root,root) %{_bindir}/xmmidi
358 %attr(755,root,root) %{_libdir}/timidity/interface_m.so
359 %{_libdir}/timidity/interface_m.txt
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_libdir}/timidity/interface_s.so
365 %{_libdir}/timidity/interface_s.txt
369 %defattr(644,root,root,755)
371 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
372 %attr(755,root,root) %{_bindir}/tkmidi
373 %attr(755,root,root) %{_libdir}/timidity/interface_k.so
374 %{_libdir}/timidity/interface_k.txt
375 %{_prefix}/lib/timidity/tclIndex
376 %{_prefix}/lib/timidity/*.tcl
380 %defattr(644,root,root,755)
381 %attr(755,root,root) %{_libdir}/timidity/interface_T.so
382 %{_libdir}/timidity/interface_T.txt
386 %defattr(644,root,root,755)
387 %doc doc/C/README.xaw
388 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
389 %attr(755,root,root) %{_bindir}/xawmidi
390 %attr(755,root,root) %{_libdir}/timidity/interface_a.so
391 %{_libdir}/timidity/interface_a.txt
394 %defattr(644,root,root,755)
395 %doc doc/C/README.xskin
396 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
397 %attr(755,root,root) %{_bindir}/xskinmidi
398 %attr(755,root,root) %{_libdir}/timidity/interface_i.so
399 %{_libdir}/timidity/interface_i.txt
404 %defattr(644,root,root,755)
405 %attr(754,root,root) /etc/rc.d/init.d/timidity
406 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timidity