# # Conditional build: %bcond_without alsa # without ALSA support # Summary: TiMidity++ - MIDI to WAV converter and player Summary(pl): TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI Summary(pt_BR): Sintetizador MIDI por software Summary(ru): ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ× É ËÏÎ×ÅÒÔÏÒ ÉÈ × WAV ÆÏÒÍÁÔ Summary(uk): ðÒÏÇÒÁ×ÁÞ MIDI-ÆÁÊÌ¦× ÔÁ ËÏÎ×ÅÒÔÏÒ §È × WAV ÆÏÒÍÁÔ Name: TiMidity++ Version: 2.13.0 Release: 2 License: GPL Vendor: Masanao Izumo Group: Applications/Sound Source0: http://dl.sourceforge.net/timidity/%{name}-%{version}.tar.bz2 # Source0-md5: 63284981e1ac81fce2b53cc4b1f4c468 Source1: http://archive.cs.umbc.edu/pub/midia/instruments.tar.gz # Source1-md5: 4959787a78ee39d44a36185bd303cf20 Source2: britepno.pat.bz2 # Source2-md5: 324e265362f812883024b58cf3470d1a Source3: pistol.pat.bz2 # Source3-md5: f961325db679de6e0ea402ebe6a268f9 Source4: timidity.cfg Patch0: %{name}-config.patch URL: http://timidity.sourceforge.net/ %{?with_alsa:BuildRequires: alsa-lib-devel} BuildRequires: autoconf BuildRequires: gtk+-devel BuildRequires: motif-devel BuildRequires: ncurses-devel BuildRequires: slang-devel BuildRequires: tk-devel >= 8.3.2 Obsoletes: timidity Obsoletes: timidity++ Obsoletes: timidity++-X11 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description TiMidity++ is a converter that converts some of MIDI files ( formats : Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and Module file (mod) ) into formatted audio file (ex. RIFF WAVE). TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts (sfx, sf2) to generate digital audio data from MIDI files. The digital audio data generated by TiMidity can be stored in a file for processing, or played in real time through an audio device. In real time playing, TiMidity if able to show the lyric contained in KAR file or WRD file. %description -l pl TiMidity++ jest konwerterem z niektórych plików MIDI (formaty: Standard MIDI (MID), Recomposer (RCP, R36, G18, G36), Module (mod)) do plików audio (np. RIFF WAVE). Do generowania danych z plików MIDI TiMidity u¿ywa patchy takich jak Gravis Ultrasound albo Soundfontów (sfx, sf2). Cyfrowe dane audio mog± byæ zapisane do pliku albo odtwarzane w czasie rzeczywistym. Przy odtwarzaniu TiMidity mo¿e pokazywaæ s³owa zawarte w pliku KAR lub WRD. %description -l pt_BR O TiMidity++ é um sintetizador MIDI por software. Este pacote permite ouvir arquivos do tipo MIDI com a mesma qualidade de som que as placas que utilizam o recurso de "wavetable" via hardware (como a AWE32), mesmo que esta não possua o recurso de "wavetable" (a SB16 por exemplo). %description -l ru ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ×, ÎÅ ÔÒÅÂÕÀÝÉÊ ÐÏÄÄÅÒÖËÉ ÉÎÓÔÒÕÍÅÎÔÏ× MIDI Ú×ÕËÏ×ÏÊ ÐÌÁÔÏÊ. éÓÐÏÌØÚÕÅÔ ÆÁÊÌÙ ÉÎÓÔÒÕÍÅÎÔÏ× × ÆÏÒÍÁÔÅ GUS/patch, ÍÏÖÅÔ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÁÎÎÙÅ × ÆÏÒÍÁÔÅ SoundFont. ïÂÅÓÐÅÞÉ×ÁÅÔ ÏÔÌÉÞÎÏÅ ËÁÞÅÓÔ×Ï Ú×ÕËÁ MIDI ÚÁ ÓÞÅÔ ÉÎÔÅÎÓÉ×ÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÒÏÃÅÓÓÏÒÁ. %description -l uk ðÒÏÇÒÁ×ÁÞ MIDI ÆÁÊ̦×, ÑËÏÍÕ ÎÅ ÐÏÔÒ¦ÂÎÁ ЦÄÔÒÉÍËÁ ¦ÎÓÔÒÕÍÅÎÔ¦× MIDI Ú×ÕËÏ×ÏÀ ÐÌÁÔÏÀ. ÷ÉËÏÒÉÓÔÏ×Õ¤ ÆÁÊÌÉ ¦ÎÓÔÒÕÍÅÎÔ¦× Õ ÆÏÒÍÁÔ¦ GUS/patch, ÒÏÚÕͦ¤ ÔÁËÏÖ ÆÏÒÍÁÔ SoundFont. úÁÂÅÚÐÅÞÕ¤ צÄͦÎÎÕ Ñ˦ÓÔØ Ú×ÕËÕ MIDI ÚÁ ÒÁÈÕÎÏË ¦ÎÔÅÎÓÉ×ÎÏÇÏ ×ÉËÏÒÉÓÔÁÎÎÑ ÐÒÏÃÅÓÏÒÁ. %package gspdir Summary: Directory for TiMidity++ instruments Summary(pl): Katalog na instrumenty TiMidity++ Group: Applications/Sound %description gspdir Directory where TiMidity++ instruments should be placed in. %description gspdir -l pl Katalog, w którym powinny byæ instalowane instrumenty dla TiMidity++. %package instruments Summary: Instruments for TiMidity++ Summary(pl): Instrumenty dla TiMidity++ Summary(pt_BR): Instrumentos básicos para o TiMidity++ Group: Applications/Sound Requires: %{name}-gspdir = %{version}-%{release} Obsoletes: timidity-patches %description instruments Instruments for TiMidity++. %description instruments -l pl Instrumenty dla TiMidity++. %description instruments -l pt_BR Este pacote inclui um conjunto básico de instrumentos (chamados de patches no meio musical) para o TiMidity++. %package gtk Summary: GTK+ interface for TiMidity++ Summary(pl): Interfejs TiMidity++ oparty o bibliotekê gtk+ Group: Applications/Sound Requires: %{name} = %{version}-%{release} %description gtk gtkmidi - GTK+ interface for TiMidity++. %description gtk -l pl gtkmidi - interfejs do TiMidity++ oparty o bibliotekê gtk+. %package motif Summary: Motif interface for TiMidity++ Summary(pl): Interfejs TiMidity++ oparty o Motif Group: Applications/Sound Requires: %{name} = %{version}-%{release} %description motif xmmidi - Motif interface for TiMidity++. %description motif -l pl xmmidi - interfejs do TiMidity++ oparty o bibliotekê Motif. %package slang Summary: Slang interface for TiMidity++ Summary(pl): Interfejs TiMidity++ oparty o bibliotekê Slang Group: Applications/Sound Requires: %{name} = %{version}-%{release} %description slang Slang interface for TiMidity++. %description slang -l pl Interfejs do TiMidity++ oparty o bibliotekê Slang. %package tcltk Summary: Tcl/Tk interface for TiMidity++ Summary(pl): Interfejs TiMidity++ oparty o Tcl/Tk Group: Applications/Sound Requires: %{name} = %{version}-%{release} %description tcltk tkmidi - Tcl/Tk interface for TiMidity++. %description tcltk -l pl tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk. %package vt100 Summary: VT100 interface for TiMidity++ Summary(pl): Interfejs TiMidity++ dzia³aj±cy na terminalu VT100 Group: Applications/Sound Requires: %{name} = %{version}-%{release} %description vt100 VT100 interface for TiMidity++. %description vt100 -l pl Interfejs do TiMidity++ mog±cy dzia³aæ na terminalu VT100. %package xaw Summary: Athena interface for TiMidity++ Summary(pl): Interfejs TiMidity++ oparty o Athena Widgets Group: Applications/Sound Requires: %{name} = %{version}-%{release} %description xaw xawmidi - Athena interface for TiMidity++. %description xaw -l pl xawmidi - interfejs do TiMidity++ oparty o biblitekê widgetów Athena. %prep %setup -q %patch0 -p1 for f in doc/ja_JP.eucJP/README*; do mv -f $f ${f}.ja done %build cp -f /usr/share/automake/config.sub autoconf %{__autoconf} %configure \ --with-elf \ --with-module-dir=%{_libdir}/timidity \ --enable-dynamic \ --enable-ncurses=dynamic \ --enable-slang=dynamic \ --enable-motif=dynamic \ --enable-tcltk=dynamic \ --enable-emacs=dynamic \ --enable-xaw=dynamic \ --enable-xskin=dynamic \ --enable-gtk=dynamic \ --enable-vt100=dynamic \ --enable-network \ --enable-server \ --enable-spectrogram \ --enable-audio=default,oss,%{?with_alsa:alsa,}esd \ %{?with_alsa:--enable-alsaseq=dynamic} \ --enable-default-output=default %{__make} %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT ## based on timidity/timidity.c ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work? ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5} install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir} cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches tar xzf %{SOURCE1} mv -f instruments/* . rmdir instruments bzip2 -cd %{SOURCE2} > britepno.pat bzip2 -cd %{SOURCE3} > pistol.pat %clean rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*} %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja %attr(755,root,root) %{_bindir}/timidity %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/timidity.cfg %dir %{_libdir}/timidity %attr(755,root,root) %{_libdir}/timidity/interface_e.so %attr(755,root,root) %{_libdir}/timidity/interface_n.so %{_libdir}/timidity/interface_e.txt %{_libdir}/timidity/interface_n.txt %{_libdir}/timidity/bitmaps %{_mandir}/man1/timidity.1* %{_mandir}/man5/timidity.cfg.5* %lang(ja) %{_mandir}/ja/man1/timidity.1* %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5* %if %{with alsa} # could be separated, but audio modules are always compiled in, # so timidity is linked with alsa-lib anyway %attr(755,root,root) %{_libdir}/timidity/interface_A.so %{_libdir}/timidity/interface_A.txt %endif # xskin interface could be separated to, but timidity depends on X anyway %doc doc/C/README.xskin %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja %attr(755,root,root) %{_bindir}/xskinmidi %attr(755,root,root) %{_libdir}/timidity/interface_i.so %{_libdir}/timidity/interface_i.txt %files gspdir %defattr(644,root,root,755) %dir %{_datadir}/GUSpatches %files instruments %defattr(644,root,root,755) %{_datadir}/GUSpatches/* %files gtk %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/gtkmidi %attr(755,root,root) %{_libdir}/timidity/interface_g.so %{_libdir}/timidity/interface_g.txt %files motif %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/xmmidi %attr(755,root,root) %{_libdir}/timidity/interface_m.so %{_libdir}/timidity/interface_m.txt %files slang %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/timidity/interface_s.so %{_libdir}/timidity/interface_s.txt %files tcltk %defattr(644,root,root,755) %doc doc/C/README.tk %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja %attr(755,root,root) %{_bindir}/tkmidi %attr(755,root,root) %{_libdir}/timidity/interface_k.so %{_libdir}/timidity/interface_k.txt %{_libdir}/timidity/tclIndex %{_libdir}/timidity/*.tcl %files vt100 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/timidity/interface_T.so %{_libdir}/timidity/interface_T.txt %files xaw %defattr(644,root,root,755) %doc doc/C/README.xaw %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja %attr(755,root,root) %{_bindir}/xawmidi %attr(755,root,root) %{_libdir}/timidity/interface_a.so %{_libdir}/timidity/interface_a.txt