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 URL: http://timidity.sourceforge.net/
36 %{?with_alsa:BuildRequires: alsa-lib-devel}
37 %{?with_arts:BuildRequires: arts-devel}
38 BuildRequires: autoconf
39 %{?with_esd:BuildRequires: esound-devel}
40 %{?with_X:BuildRequires: gtk+-devel}
41 %{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
42 %{?with_vorbis:BuildRequires: libvorbis-devel}
43 %{?with_X:BuildRequires: motif-devel}
44 %{?with_nas:BuildRequires: nas-devel}
45 BuildRequires: ncurses-devel
46 BuildRequires: rpmbuild(macros) >= 1.268
47 BuildRequires: slang-devel >= 2.0.0
48 %{?with_X:BuildRequires: tk-devel >= 8.3.2}
49 %{?with_X:Provides: %{name}(X) = %{version}-%{release}}
52 Obsoletes: timidity++-X11
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 TiMidity++ is a converter that converts some of MIDI files ( formats :
57 Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and
58 Module file (mod) ) into formatted audio file (ex. RIFF WAVE).
59 TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts
60 (sfx, sf2) to generate digital audio data from MIDI files. The digital
61 audio data generated by TiMidity can be stored in a file for
62 processing, or played in real time through an audio device. In real
63 time playing, TiMidity if able to show the lyric contained in KAR file
66 %description -l pl.UTF-8
67 TiMidity++ jest konwerterem z niektórych plików MIDI (formaty:
68 Standard MIDI (MID), Recomposer (RCP, R36, G18, G36), Module (mod)) do
69 plików audio (np. RIFF WAVE). Do generowania danych z plików MIDI
70 TiMidity używa patchy takich jak Gravis Ultrasound albo Soundfontów
71 (sfx, sf2). Cyfrowe dane audio mogą być zapisane do pliku albo
72 odtwarzane w czasie rzeczywistym. Przy odtwarzaniu TiMidity może
73 pokazywać słowa zawarte w pliku KAR lub WRD.
75 %description -l pt_BR.UTF-8
76 O TiMidity++ é um sintetizador MIDI por software. Este pacote permite
77 ouvir arquivos do tipo MIDI com a mesma qualidade de som que as placas
78 que utilizam o recurso de "wavetable" via hardware (como a AWE32),
79 mesmo que esta não possua o recurso de "wavetable" (a SB16 por
82 %description -l ru.UTF-8
83 Проигрыватель MIDI файлов, не требующий поддержки инструментов MIDI
84 звуковой платой. Использует файлы инструментов в формате GUS/patch,
85 может также использовать данные в формате SoundFont. Обеспечивает
86 отличное качество звука MIDI за счет интенсивного использования
89 %description -l uk.UTF-8
90 Програвач MIDI файлів, якому не потрібна підтримка інструментів MIDI
91 звуковою платою. Використовує файли інструментів у форматі GUS/patch,
92 розуміє також формат SoundFont. Забезпечує відмінну якість звуку MIDI
93 за рахунок інтенсивного використання процесора.
96 Summary: Directory for TiMidity++ instruments
97 Summary(pl.UTF-8): Katalog na instrumenty TiMidity++
98 Group: Applications/Sound
101 Directory where TiMidity++ instruments should be placed in.
103 %description gspdir -l pl.UTF-8
104 Katalog, w którym powinny być instalowane instrumenty dla TiMidity++.
107 Summary: Instruments for TiMidity++
108 Summary(pl.UTF-8): Instrumenty dla TiMidity++
109 Summary(pt_BR.UTF-8): Instrumentos básicos para o TiMidity++
110 Group: Applications/Sound
111 Requires: %{name}-gspdir = %{version}-%{release}
112 Obsoletes: timidity-patches
114 %description instruments
115 Instruments for TiMidity++.
117 %description instruments -l pl.UTF-8
118 Instrumenty dla TiMidity++.
120 %description instruments -l pt_BR.UTF-8
121 Este pacote inclui um conjunto básico de instrumentos (chamados de
122 patches no meio musical) para o TiMidity++.
125 Summary: GTK+ interface for TiMidity++
126 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o bibliotekę GTK+
127 Group: Applications/Sound
128 Requires: %{name}(X) = %{version}-%{release}
131 gtkmidi - GTK+ interface for TiMidity++.
133 %description gtk -l pl.UTF-8
134 gtkmidi - interfejs do TiMidity++ oparty o bibliotekę GTK+.
137 Summary: Motif interface for TiMidity++
138 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Motif
139 Group: Applications/Sound
140 Requires: %{name}(X) = %{version}-%{release}
143 xmmidi - Motif interface for TiMidity++.
145 %description motif -l pl.UTF-8
146 xmmidi - interfejs do TiMidity++ oparty o bibliotekę Motif.
149 Summary: Slang interface for TiMidity++
150 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o bibliotekę Slang
151 Group: Applications/Sound
152 Requires: %{name} = %{version}-%{release}
155 Slang interface for TiMidity++.
157 %description slang -l pl.UTF-8
158 Interfejs do TiMidity++ oparty o bibliotekę Slang.
161 Summary: Tcl/Tk interface for TiMidity++
162 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Tcl/Tk
163 Group: Applications/Sound
164 Requires: %{name}(X) = %{version}-%{release}
167 tkmidi - Tcl/Tk interface for TiMidity++.
169 %description tcltk -l pl.UTF-8
170 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
173 Summary: VT100 interface for TiMidity++
174 Summary(pl.UTF-8): Interfejs TiMidity++ działający na terminalu VT100
175 Group: Applications/Sound
176 Requires: %{name} = %{version}-%{release}
179 VT100 interface for TiMidity++.
181 %description vt100 -l pl.UTF-8
182 Interfejs do TiMidity++ mogący działać na terminalu VT100.
185 Summary: Athena interface for TiMidity++
186 Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Athena Widgets
187 Group: Applications/Sound
188 Requires: %{name}(X) = %{version}-%{release}
191 xawmidi - Athena interface for TiMidity++.
193 %description xaw -l pl.UTF-8
194 xawmidi - interfejs do TiMidity++ oparty o biblitekę widgetów Athena.
197 Summary: "X Skin" interface for TiMidity++
198 Summary(pl.UTF-8): Interfejs TiMidity++ "X Skin"
199 Group: Applications/Sound
200 Requires: %{name}(X) = %{version}-%{release}
201 Obsoletes: TiMidity++ < 2.13.0-3
204 xskinmidi - "X Skin" interface for TiMidity++.
206 %description xskin -l pl.UTF-8
207 xskinmidi - interfejs do TiMidity++ "X Skin".
210 Summary: TiMidity++ ALSA sequencer interface
211 Summary(pl.UTF-8): TiMidity++ jako interfejs sekwencera ALSA
212 Group: Applications/Sound
213 Requires(post,preun): /sbin/chkconfig
214 Requires: %{name} = %{version}-%{release}
218 The ALSA sequencer interface communicates between ALSA sequencer core
219 and timidity. The interface receives events from sequencer and plays
220 it in (quasi-)real-time. In this mode, TiMidity works purely as the
221 software real-time MIDI render, that is as a software MIDI synth
224 %description alsaseq -l pl.UTF-8
225 Interfejs sekwencera ALSA komunikuje się między rdzeniem sekwencera
226 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
227 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity działa
228 wyłącznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
229 jako silnik syntezatora MIDI w architekturze ALSA.
237 for f in doc/ja_JP.eucJP/README*; do
242 cp -f /usr/share/automake/config.sub autoconf
245 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
246 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}
249 %{?with_alsa:--enable-alsaseq} \
250 --enable-audio=$AUDIO \
252 %{?with_X:--enable-gtk=dynamic} \
253 --enable-emacs=dynamic \
254 %{?with_X:--enable-motif=dynamic} \
255 --enable-ncurses=dynamic \
258 --enable-slang=dynamic \
259 %{?with_X:--enable-spectrogram} \
260 %{?with_X:--enable-tcltk=dynamic} \
261 --enable-vt100=dynamic \
262 %{?with_X:--enable-xaw=dynamic} \
263 %{?with_X:--enable-xskin=dynamic} \
264 --with-default-path=%{_sysconfdir} \
266 %{!?with_X:--without-x}
269 SHLIB_DIR=%{_libdir}/timidity
272 rm -rf $RPM_BUILD_ROOT
273 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}}
276 DESTDIR=$RPM_BUILD_ROOT \
277 SHLIB_DIR=%{_libdir}/timidity
279 ## based on timidity/timidity.c
280 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
281 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
282 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
283 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
284 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
285 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
287 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
288 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
289 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
291 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
293 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
295 mv -f instruments/* .
297 bzip2 -cd %{SOURCE2} > britepno.pat
298 bzip2 -cd %{SOURCE3} > pistol.pat
300 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
301 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
304 rm -rf $RPM_BUILD_ROOT
307 /sbin/chkconfig --add timidity
308 %service timidity restart "TiMidity++ ALSA sequencer interface"
311 if [ "$1" = "0" ]; then
312 %service timidity stop
313 /sbin/chkconfig --del timidity
317 %defattr(644,root,root,755)
318 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
319 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
320 %attr(755,root,root) %{_bindir}/timidity
321 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timidity.cfg
322 %dir %{_libdir}/timidity
323 %attr(755,root,root) %{_libdir}/timidity/interface_e.so
324 %attr(755,root,root) %{_libdir}/timidity/interface_n.so
325 %{_libdir}/timidity/interface_e.txt
326 %{_libdir}/timidity/interface_n.txt
327 %if "%{_lib}" != "lib"
328 %dir %{_prefix}/lib/timidity
330 %{?with_X:%{_prefix}/lib/timidity/bitmaps}
331 %{_mandir}/man1/timidity.1*
332 %{_mandir}/man5/timidity.cfg.5*
333 %lang(ja) %{_mandir}/ja/man1/timidity.1*
334 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
337 %defattr(644,root,root,755)
338 %dir %{_datadir}/GUSpatches
341 %defattr(644,root,root,755)
342 %{_datadir}/GUSpatches/*
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_bindir}/gtkmidi
348 %attr(755,root,root) %{_libdir}/timidity/interface_g.so
349 %{_libdir}/timidity/interface_g.txt
354 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_bindir}/xmmidi
356 %attr(755,root,root) %{_libdir}/timidity/interface_m.so
357 %{_libdir}/timidity/interface_m.txt
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_libdir}/timidity/interface_s.so
363 %{_libdir}/timidity/interface_s.txt
367 %defattr(644,root,root,755)
369 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
370 %attr(755,root,root) %{_bindir}/tkmidi
371 %attr(755,root,root) %{_libdir}/timidity/interface_k.so
372 %{_libdir}/timidity/interface_k.txt
373 %{_prefix}/lib/timidity/tclIndex
374 %{_prefix}/lib/timidity/*.tcl
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{_libdir}/timidity/interface_T.so
380 %{_libdir}/timidity/interface_T.txt
384 %defattr(644,root,root,755)
385 %doc doc/C/README.xaw
386 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
387 %attr(755,root,root) %{_bindir}/xawmidi
388 %attr(755,root,root) %{_libdir}/timidity/interface_a.so
389 %{_libdir}/timidity/interface_a.txt
392 %defattr(644,root,root,755)
393 %doc doc/C/README.xskin
394 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
395 %attr(755,root,root) %{_bindir}/xskinmidi
396 %attr(755,root,root) %{_libdir}/timidity/interface_i.so
397 %{_libdir}/timidity/interface_i.txt
402 %defattr(644,root,root,755)
403 %attr(754,root,root) /etc/rc.d/init.d/timidity
404 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timidity