+2004-10-27 TAMUKI Shoichi <tamuki@linet.gr.jp>
+
+ * configure, autoconf/utils.m4, doc/{C,ja_JP.eucJP}/readme.dl,
+ interface/Makefile.{am,in},interface/{dumb,ncurs,slang,motif,tk,
+ emacs,vt100,xaw,xskin,dynamic,mac,gtk,server,alsaseq,w32g,winsyn,
+ portmidisyn}_c.c, timidity/controls.h, timidity/timiidty.c:
+ Fix to fit with case-insensitive file system
+ * interface/interface_[nsmkeTaigA].txt: remove
+ * interface/if_{ncurses,slang,motif,tcltk,emacs,vt100,xaw,xskin,
+ gtk,alsaseq}.txt: add
+
2004-10-21 Henrique de Moraes Holschuh <hmh@debian.org>
- * timidity/mod2midi.c (Voice_Play,Voice_SetPeriod):
+ * timidity/mod2midi.c (Voice_Play, Voice_SetPeriod):
improve the code path when period2note returns -1
2004-10-21 Eric A. Welsh <ewelsh@ccb.wustl.edu>
* timidity/mod2midi.c: Change all VERB_NORMAL and VERB_VERBOSE
messages to VERB_NOISY.
-2004-10-17 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-10-17 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
* libunimod/mloader.c (SL_LoadSamples): too many arguments to
function `FreeSampleList'
time.h and sys/time.h
* timidity/aq.c: fix wrong prototype (int -> void)
* timidity/wrd_read.c: #ifdef-out unknown pragma
- * configure.in, timidity/timidity.c : no need of <stdbool.h>
- * timidity/Makefile.am : bug fix
+ * configure.in, timidity/timidity.c: no need of <stdbool.h>
+ * timidity/Makefile.am: bug fix
-2004-10-14 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-10-14 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
* interface/w32g_i.c (MPanelMessageHaveMesssage): fix typo
* autoconf/alsa.m4, autoconf/ao.m4, autoconf/arts.m4,
* interface/mac_c.c, interface/wrdt_mac.c, timidity/wrd.h,
utils/support.c: Fixes to compile on Mac OS.
-2004-10-03 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-10-03 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
* NEWS: Add new entry for 2.13.2
* configure.in: Change version to 2.13.2
-2004-10-02 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-10-02 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
- * interface/wrdt_wcon.c : Fix double definition of print_ecmd()
+ * interface/wrdt_wcon.c: Fix double definition of print_ecmd()
* timidity/timidity.c (main): s/strcat/strncat/;
-2004-09-29 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-09-29 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
* NEWS: Add new entry for 2.13.1
-2004-09-28 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-09-28 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
* configure.in: Change version to 2.13.1
-2004-09-27 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-09-27 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
* utils/support.c (vsnprintf): ensure snpritnf() to return a
\0-terminated string
-
* interface/mac_c.c, interface/server_c.c, interface/w32g_c.c,
interface/w32g_i.c, interface/wrdt_dumb.c, interface/wrdt_mac.c,
interface/wrdt_tty.c, interface/wrdt_w32g.c, interface/xaw_i.c,
timidity/sun_a.c, timidity/timidity.c, timidity/wrdt_read.c:
Fix to use strn* functinos.
-2004-09-23 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-09-23 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
* utils/support.h: ditto
* utils/support.c: ditto
* timidity/resample.c: Reimplement bounds cheking
-2004-09-09 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+2004-09-09 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
* interface/gtk_c.c (ctl_total_time): ditto.
* interface/gtk_i.c (handle_input): Fix counter overflow
$6
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_$3.\$(so)"
+ dynamic_targets="$dynamic_targets if_$1.\$(so)"
$7
;;
*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_n.\$(so)"
+ dynamic_targets="$dynamic_targets if_ncurses.\$(so)"
n_so_libs="$lib_curses_opt"
case "$target" in
*-*-freebsd123*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_s.\$(so)"
+ dynamic_targets="$dynamic_targets if_slang.\$(so)"
s_so_libs="-lslang"
echo "$as_me:$LINENO: checking for initscr in -ltermcap" >&5
echo $ECHO_N "checking for initscr in -ltermcap... $ECHO_C" >&6
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_m.\$(so)"
+ dynamic_targets="$dynamic_targets if_motif.\$(so)"
if test x$have_xprelibs = xyes; then
m_so_libs="-lXext -lSM -lICE"
fi
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_k.\$(so)"
+ dynamic_targets="$dynamic_targets if_tcltk.\$(so)"
k_so_libs="$tcl_libdir $tk_libdir $tcl_lib $tk_lib $lib_dl_opt"
case "$target" in
*-*-bsdi*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_e.\$(so)"
+ dynamic_targets="$dynamic_targets if_emacs.\$(so)"
ELFILES="$ELFILES timidity.el"
;;
*)
INTERFACE_SRCS="$INTERFACE_SRCS vt100_c.c vt100.c"
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_T.\$(so)"
+ dynamic_targets="$dynamic_targets if_vt100.\$(so)"
;;
*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_a.\$(so)"
+ dynamic_targets="$dynamic_targets if_xaw.\$(so)"
if test "x$have_xext" = xyes; then
a_so_libs="-lXext -lX11"
else
INTERFACE_SRCS="$INTERFACE_SRCS xskin_c.c xskin_i.c xskin_loadBMP.c xskin_spectrum.c"
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_i.\$(so)"
+ dynamic_targets="$dynamic_targets if_xskin.\$(so)"
i_so_libs="$ldflags_x_opt -lX11"
;;
*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_g.\$(so)"
+ dynamic_targets="$dynamic_targets if_gtk.\$(so)"
if test "x$GCC" = xyes; then
for i in $GTK_LIBS; do
case "x$i" in
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_r.\$(so)"
+ dynamic_targets="$dynamic_targets if_server.\$(so)"
;;
*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_A.\$(so)"
+ dynamic_targets="$dynamic_targets if_alsaseq.\$(so)"
;;
*)
INTERFACE_SRCS="$INTERFACE_SRCS winsyn_c.c rtsyn_common.c rtsyn_winmm.c"
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_W.\$(so)"
+ dynamic_targets="$dynamic_targets if_winsyn.\$(so)"
;;
*)
INTERFACE_SRCS="$INTERFACE_SRCS portmidisyn_c.c rtsyn_common.c rtsyn_portmidi.c"
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_P.\$(so)"
+ dynamic_targets="$dynamic_targets if_portmidisyn.\$(so)"
;;
*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_W.\$(so)"
+ dynamic_targets="$dynamic_targets if_winsyng.\$(so)"
;;
*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_w.\$(so)"
+ dynamic_targets="$dynamic_targets if_w32gui.\$(so)"
;;
*)
;;
xdynamic)
- dynamic_targets="$dynamic_targets interface_p.\$(so)"
+ dynamic_targets="$dynamic_targets if_ump.\$(so)"
;;
*)
loadable modules by using dynamic link module.
Place the shared library
- interface_<ID>.so
+ if_<NAME>.so
-on the SHARED_LIB_PATH directory. In this case <ID> is the interface's
-ID that are specified at `-i' option.
+on the SHARED_LIB_PATH directory. In this case <NAME> is the interface's
+short name to be identified.
TiMidity++ requires to this shared library the following function:
- (the <ID> is the same as above)
+ (In this case <ID> is the interface's ID that are specified at `-i' option.)
ControlMode* interface_<ID>_loader(void)
{
}
If the dynamic interface that are specified at -i<ID>, TiMidity++
-loads interface_<ID>.so at the SHARED_LIB_PATH (this is the macro specified
+loads if_<NAME>.so at the SHARED_LIB_PATH (this is the macro specified
in the Makefile) and calls a function in the shared library
interface_<ID>_loader().
If a file
- interface_<ID>.txt
+ if_<NAME>.txt
describing the information about the interface by 1 line is in the
SHARED_LIB_PATH, TiMidity++ displays this information when `-h'
ÍѤ¤¤Æ¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡¥
SHARED_LIB_PATH ¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¡¤(SHARED_LIB_PATH ¤Ï¥Þ¥¯¥í)
-interface_<ID>.so
+if_<NAME>.so
-¤È¤¤¤¦¥·¥§¥¢¡¼¥É¥é¥¤¥Ö¥é¥ê¤òºîÀ®¤·¤Þ¤¹¡¥¤³¤³¤Ç¡¤<ID> ¤Ï -i ¥ª¥×¥·¥ç¥ó¤Ç»ØÄê
-¤¹¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ ID ¤Ç¤¹¡¥¤³¤Î ¥·¥§¥¢¡¼¥É¥é¥¤¥Ö¥é¥êÆâ¤Ç¡¤°Ê²¼¤Î¤è¤¦¤Ê´Ø¿ô¤ò
-ºîÀ®¤·¤Æ¤ª¤¤Þ¤¹¡¥(¤³¤³¤Ç¤â <ID> ¤Ë¤Ï ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ ID ¤¬¤Ï¤¤¤ê¤Þ¤¹¡¥)
+¤È¤¤¤¦¥·¥§¥¢¡¼¥É¥é¥¤¥Ö¥é¥ê¤òºîÀ®¤·¤Þ¤¹¡¥¤³¤³¤Ç¡¤<NAME> ¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò
+¼±Ê̤¹¤ëû¤¤Ì¾Á°¤Ç¤¹¡¥¤³¤Î ¥·¥§¥¢¡¼¥É¥é¥¤¥Ö¥é¥êÆâ¤Ç¡¤°Ê²¼¤Î¤è¤¦¤Ê´Ø¿ô¤ò
+ºîÀ®¤·¤Æ¤ª¤¤Þ¤¹¡¥(¤³¤³¤Ç¡¤<ID> ¤Ï -i ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤹ¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹
+ID ¤Ç¤¹¡¥)
ControlMode* interface_<ID>_loader(void)
{
}
-i<ID> ¤Ç»ØÄꤷ¤¿¥À¥¤¥Ê¥ß¥Ã¥¯¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¤
-interface_<ID>.so ¤¬Æɤ߹þ¤Þ¤ì¡¤¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¼ÂÂΤϡ¤
+if_<NAME>.so ¤¬Æɤ߹þ¤Þ¤ì¡¤¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¼ÂÂΤϡ¤
interface_<ID>_loader() ¤¬¥³¡¼¥ë¤µ¤ì¤ë¤³¤È¤ÇºîÀ®¤µ¤ì¤Þ¤¹¡¥
¤Þ¤¿¡¤SHARED_LIB_PATH ¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¡¤
-interface_<ID>.txt
+if_<NAME>.txt
¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Î 1 ¹ÔÌܤ˥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î´Êñ¤ÊÀâÌÀ¤òµ½Ò¤·¤Æ¤ª¤¯¤È¡¤
¤½¤Îʸ»úÎó¤¬ `-h' ¥ª¥×¥·¥ç¥ó»ØÄê»þ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡¥
misc.tcl \
timidity.el \
tclIndex \
- interface_A.txt \
- interface_T.txt \
- interface_a.txt \
- interface_e.txt \
- interface_g.txt \
- interface_i.txt \
- interface_k.txt \
- interface_m.txt \
- interface_n.txt \
- interface_s.txt
+ if_ncurses.txt \
+ if_slang.txt \
+ if_motif.txt \
+ if_tcltk.txt \
+ if_emacs.txt \
+ if_vt100.txt \
+ if_xaw.txt \
+ if_xskin.txt \
+ if_gtk.txt \
+ if_alsaseq.txt
.ptcl.tcl:
sed -e 's@%TCL_DIR%@$(TCL_DIR)@g' $< > $@
support.$(so): $(top_srcdir)/utils/support.c
$(COMPILE) $(SHCFLAGS) -o $@ -c $<
-interface_n.$(so): ncurs_c.$(so) support.$(so) bitset.$(so) timer.$(so)
+if_ncurses.$(so): ncurs_c.$(so) support.$(so) bitset.$(so) timer.$(so)
$(SHLD) -o $@ ncurs_c.$(so) support.$(so) bitset.$(so) timer.$(so) $(n_so_libs)
-interface_s.$(so): slang_c.$(so) support.$(so) timer.$(so)
+if_slang.$(so): slang_c.$(so) support.$(so) timer.$(so)
$(SHLD) -o $@ slang_c.$(so) support.$(so) timer.$(so) $(s_so_libs)
-interface_m.$(so): motif_c.$(so) support.$(so) motif_i.$(so) motif_p.$(so)
+if_motif.$(so): motif_c.$(so) support.$(so) motif_i.$(so) motif_p.$(so)
$(SHLD) -o $@ motif_c.$(so) support.$(so) motif_i.$(so) motif_p.$(so) $(m_so_libs)
-interface_k.$(so): tk_c.$(so) support.$(so)
+if_tcltk.$(so): tk_c.$(so) support.$(so)
$(SHLD) -o $@ tk_c.$(so) support.$(so) $(k_so_libs)
-interface_e.$(so): emacs_c.$(so) support.$(so)
+if_emacs.$(so): emacs_c.$(so) support.$(so)
$(SHLD) -o $@ emacs_c.$(so) support.$(so) $(e_so_libs)
-interface_T.$(so): vt100_c.$(so) support.$(so) vt100.$(so) bitset.$(so) timer.$(so)
+if_vt100.$(so): vt100_c.$(so) support.$(so) vt100.$(so) bitset.$(so) timer.$(so)
$(SHLD) -o $@ vt100_c.$(so) support.$(so) vt100.$(so) bitset.$(so) timer.$(so) $(T_so_libs)
-interface_a.$(so): xaw_c.$(so) support.$(so) xaw_i.$(so) timer.$(so)
+if_xaw.$(so): xaw_c.$(so) support.$(so) xaw_i.$(so) timer.$(so)
$(SHLD) -o $@ xaw_c.$(so) support.$(so) xaw_i.$(so) timer.$(so) $(a_so_libs)
-interface_i.$(so): xskin_c.$(so) support.$(so) xskin_i.$(so) xskin_loadBMP.$(so) xskin_spectrum.$(so) url_buff.$(so)
+if_xskin.$(so): xskin_c.$(so) support.$(so) xskin_i.$(so) xskin_loadBMP.$(so) xskin_spectrum.$(so) url_buff.$(so)
$(SHLD) -o $@ xskin_c.$(so) support.$(so) xskin_i.$(so) xskin_loadBMP.$(so) xskin_spectrum.$(so) url_buff.$(so) $(i_so_libs)
-interface_g.$(so): gtk_c.$(so) support.$(so) gtk_i.$(so) gtk_p.$(so)
+if_gtk.$(so): gtk_c.$(so) support.$(so) gtk_i.$(so) gtk_p.$(so)
$(SHLD) -o $@ gtk_c.$(so) support.$(so) gtk_i.$(so) gtk_p.$(so) $(g_so_libs)
-interface_r.$(so): server_c.$(so) support.$(so)
+if_server.$(so): server_c.$(so) support.$(so)
$(SHLD) -o $@ server_c.$(so) support.$(so)
-interface_A.$(so): alsaseq_c.$(so) support.$(so)
+if_alsaseq.$(so): alsaseq_c.$(so) support.$(so)
$(SHLD) -o $@ alsaseq_c.$(so) support.$(so)
endif
misc.tcl \
timidity.el \
tclIndex \
- interface_A.txt \
- interface_T.txt \
- interface_a.txt \
- interface_e.txt \
- interface_g.txt \
- interface_i.txt \
- interface_k.txt \
- interface_m.txt \
- interface_n.txt \
- interface_s.txt
+ if_ncurses.txt \
+ if_slang.txt \
+ if_motif.txt \
+ if_tcltk.txt \
+ if_emacs.txt \
+ if_vt100.txt \
+ if_xaw.txt \
+ if_xskin.txt \
+ if_gtk.txt \
+ if_alsaseq.txt
@ENABLE_DYNAMIC_TCLTK_TRUE@install_tk = install.tk
@ENABLE_TCLTK_TRUE@install_tk = install.tk
@NEEDDLOPEN_TRUE@support.$(so): $(top_srcdir)/utils/support.c
@NEEDDLOPEN_TRUE@ $(COMPILE) $(SHCFLAGS) -o $@ -c $<
-@NEEDDLOPEN_TRUE@interface_n.$(so): ncurs_c.$(so) support.$(so) bitset.$(so) timer.$(so)
+@NEEDDLOPEN_TRUE@if_ncurses.$(so): ncurs_c.$(so) support.$(so) bitset.$(so) timer.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ ncurs_c.$(so) support.$(so) bitset.$(so) timer.$(so) $(n_so_libs)
-@NEEDDLOPEN_TRUE@interface_s.$(so): slang_c.$(so) support.$(so) timer.$(so)
+@NEEDDLOPEN_TRUE@if_slang.$(so): slang_c.$(so) support.$(so) timer.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ slang_c.$(so) support.$(so) timer.$(so) $(s_so_libs)
-@NEEDDLOPEN_TRUE@interface_m.$(so): motif_c.$(so) support.$(so) motif_i.$(so) motif_p.$(so)
+@NEEDDLOPEN_TRUE@if_motif.$(so): motif_c.$(so) support.$(so) motif_i.$(so) motif_p.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ motif_c.$(so) support.$(so) motif_i.$(so) motif_p.$(so) $(m_so_libs)
-@NEEDDLOPEN_TRUE@interface_k.$(so): tk_c.$(so) support.$(so)
+@NEEDDLOPEN_TRUE@if_tcltk.$(so): tk_c.$(so) support.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ tk_c.$(so) support.$(so) $(k_so_libs)
-@NEEDDLOPEN_TRUE@interface_e.$(so): emacs_c.$(so) support.$(so)
+@NEEDDLOPEN_TRUE@if_emacs.$(so): emacs_c.$(so) support.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ emacs_c.$(so) support.$(so) $(e_so_libs)
-@NEEDDLOPEN_TRUE@interface_T.$(so): vt100_c.$(so) support.$(so) vt100.$(so) bitset.$(so) timer.$(so)
+@NEEDDLOPEN_TRUE@if_vt100.$(so): vt100_c.$(so) support.$(so) vt100.$(so) bitset.$(so) timer.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ vt100_c.$(so) support.$(so) vt100.$(so) bitset.$(so) timer.$(so) $(T_so_libs)
-@NEEDDLOPEN_TRUE@interface_a.$(so): xaw_c.$(so) support.$(so) xaw_i.$(so) timer.$(so)
+@NEEDDLOPEN_TRUE@if_xaw.$(so): xaw_c.$(so) support.$(so) xaw_i.$(so) timer.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ xaw_c.$(so) support.$(so) xaw_i.$(so) timer.$(so) $(a_so_libs)
-@NEEDDLOPEN_TRUE@interface_i.$(so): xskin_c.$(so) support.$(so) xskin_i.$(so) xskin_loadBMP.$(so) xskin_spectrum.$(so) url_buff.$(so)
+@NEEDDLOPEN_TRUE@if_xskin.$(so): xskin_c.$(so) support.$(so) xskin_i.$(so) xskin_loadBMP.$(so) xskin_spectrum.$(so) url_buff.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ xskin_c.$(so) support.$(so) xskin_i.$(so) xskin_loadBMP.$(so) xskin_spectrum.$(so) url_buff.$(so) $(i_so_libs)
-@NEEDDLOPEN_TRUE@interface_g.$(so): gtk_c.$(so) support.$(so) gtk_i.$(so) gtk_p.$(so)
+@NEEDDLOPEN_TRUE@if_gtk.$(so): gtk_c.$(so) support.$(so) gtk_i.$(so) gtk_p.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ gtk_c.$(so) support.$(so) gtk_i.$(so) gtk_p.$(so) $(g_so_libs)
-@NEEDDLOPEN_TRUE@interface_r.$(so): server_c.$(so) support.$(so)
+@NEEDDLOPEN_TRUE@if_server.$(so): server_c.$(so) support.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ server_c.$(so) support.$(so)
-@NEEDDLOPEN_TRUE@interface_A.$(so): alsaseq_c.$(so) support.$(so)
+@NEEDDLOPEN_TRUE@if_alsaseq.$(so): alsaseq_c.$(so) support.$(so)
@NEEDDLOPEN_TRUE@ $(SHLD) -o $@ alsaseq_c.$(so) support.$(so)
clean-compile:
ControlMode ctl=
{
"ALSA sequencer interface", 'A',
+ "alsaseq",
1,0,0,
0,
ctl_open,
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
dumb_c.c
Minimal control mode -- no interaction, just prints out messages.
- */
+*/
#ifdef HAVE_CONFIG_H
#include "config.h"
ControlMode ctl=
{
"dumb interface", 'd',
+ "dumb",
1,0,0,
0,
ctl_open,
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifdef HAVE_CONFIG_H
static int ctl_open(int using_stdin, int using_stdout);
static void ctl_close(void);
-extern char *dynamic_interface_module(int id);
+extern char *dynamic_interface_module(char *name);
static void ctl_event(){} /* Do nothing */
static int cmsg(int type, int verbosity_level, char *fmt, ...);
static void *libhandle;
ControlMode dynamic_control_mode =
{
"Dynamic interface", 0,
+ "\0",
1,0,0,0,
ctl_open, ctl_close, NULL, NULL, cmsg, ctl_event,
};
char *path;
char buff[256];
int id;
+ char name[16];
if(dynamic_control_mode.opened)
return 0;
dynamic_control_mode.opened = 1;
id = dynamic_control_mode.id_character;
- path = dynamic_interface_module(id);
+ name = dynamic_control_mode.id_short_name;
+ path = dynamic_interface_module(name);
if(path == NULL)
{
fprintf(stderr, "FATAL ERROR: dynamic_c.c: ctl_open()\n");
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
emacs_c.c
Emacs control mode - written by Masanao Izumo <mo@goice.co.jp>
- */
+*/
#ifdef HAVE_CONFIG_H
#include "config.h"
ControlMode ctl=
{
"Emacs interface (invoked from `M-x timidity')", 'e',
+ "emacs",
1, 0, 0,
0,
ctl_open,
-/*
+/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
motif_ctl.c: written by Vincent Pagel (pagel@loria.fr) 10/4/95
-
- A motif interface for TIMIDITY : to prevent X redrawings from
+
+ A motif interface for TIMIDITY: to prevent X redrawings from
interfering with the audio computation, I don't use the XtAppAddWorkProc
I create a pipe between the timidity process and a Motif interface
process forked from the 1st one
Copied the Motif file to create a Gtk+ interface.
- - Glenn Trigg 29 Oct 1998
+ - Glenn Trigg 29 Oct 1998
Modified for TiMidity++
- - Isaku Yamahata 03 Dec 1998
-
- */
+ - Isaku Yamahata 03 Dec 1998
+*/
#ifdef HAVE_CONFIG_H
#include "config.h"
ControlMode ctl =
{
"gtk+ interface", 'g',
+ "gtk",
1,0,0,
0,
ctl_open,
-/*
+/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- Macintosh interface for TiMidity
- by T.Nogami <t-nogami@happy.email.ne.jp>
-
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Macintosh interface for TiMidity
+ by T.Nogami <t-nogami@happy.email.ne.jp>
+
mac_c.c
Macintosh control mode
*/
ControlMode ctl=
{
"mac interface", 'm',
+ "mac",
1,1,0,
0,
ctl_open,
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
motif_ctl.c: written by Vincent Pagel (pagel@loria.fr) 10/4/95
- A motif interface for TIMIDITY : to prevent X redrawings from
+ A motif interface for TIMIDITY: to prevent X redrawings from
interfering with the audio computation, I don't use the XtAppAddWorkProc
I create a pipe between the timidity process and a Motif interface
process forked from the 1st one
-
- */
+*/
#ifdef HAVE_CONFIG_H
#include "config.h"
ControlMode ctl=
{
"motif interface", 'm',
+ "motif",
1,0,0,
0,
ctl_open,
ControlMode ctl=
{
"ncurses interface", 'n',
+ "ncurses",
1,0,0,
0,
ctl_open,
-
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
portmidisyn_c.c - PortMIDI synthesizer interface
Copyright (c) 2003 Keishi Suenaga <s_keishi@mutt.freemail.ne.jp>
Copyright (c) 2000 Takashi Iwai <tiwai@suse.de>
readmidi.c
-
DESCRIPTION
===========
TiMidity loads instruments dynamically at each time a PRM_CHANGE
event is received. It sometimes causes a noise.
If you are using a low power machine, invoke timidity as follows:
- % timidity -s 11025 -iP (set sampling freq. to 11025Hz)
+ % timidity -s 11025 -iP (set sampling freq. to 11025Hz)
or
% timidity -EFreverb=0 -iP (disable MIDI reverb effect control)
TiMidity keeps all loaded instruments during executing.
To use TiMidity as output device, you need a MIDI loopback device.
- (for windows)
- I use MIDI Yoke. It can freely be obtained MIDI-OX site
+ (for windows)
+ I use MIDI Yoke. It can freely be obtained MIDI-OX site
(http://www.midiox.com).
- (for ALSA)
- You can easily meke it. See MIDI router section
+ (for ALSA)
+ You can easily meke it. See MIDI router section
of Alsa 0.9.0 howto
- (http://www.suse.de/~mana/alsa090_howto.html#sect05 ).
-
+ (http://www.suse.de/~mana/alsa090_howto.html#sect05 ).
*/
-
//#define USE_PORTMIDI 1
//#define USE_GTK_GUI 1
ControlMode ctl=
{
"PortMIDI Synthesizer interface", 'P',
+ "portmidisyn",
1,0,0,
0,
ctl_open,
ControlMode ctl=
{
"remote interface", 'r',
+ "server",
1,0,0,
0,
ctl_open,
ControlMode ctl=
{
"slang interface", 's',
+ "slang",
1,0,0,
0,
ctl_open,
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ The Tcl/Tk interface for Timidity
+ written by Takashi Iwai (iwai@dragon.mm.t.u-tokyo.ac.jp)
+
+ Most of the following codes are derived from both motif_ctl.c
+ and motif_pipe.c. The communication between Tk program and
+ timidity is established by a pipe stream as in Motif interface.
+ On the contrast to motif, the stdin and stdout are assigned
+ as pipe i/o in Tk interface.
*/
-/*================================================================
- *
- * The Tcl/Tk interface for Timidity
- * written by Takashi Iwai (iwai@dragon.mm.t.u-tokyo.ac.jp)
- *
- * Most of the following codes are derived from both motif_ctl.c
- * and motif_pipe.c. The communication between Tk program and
- * timidity is established by a pipe stream as in Motif interface.
- * On the contrast to motif, the stdin and stdout are assigned
- * as pipe i/o in Tk interface.
- *
- *================================================================*/
#ifdef HAVE_CONFIG_H
#include "config.h"
ControlMode ctl=
{
"Tcl/Tk interface", 'k',
+ "tcltk",
1,0,0,
0,
ctl_open,
ControlMode ctl=
{
"vt100 interface", 'T',
+ "vt100",
1,0,0,
0,
ctl_open,
/*
- TiMidity -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
- Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
+ TiMidity++ -- MIDI to WAVE converter and player
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
+ Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
w32g_c.c: written by Daisuke Aoki <dai@y7.net>
Masanao Izumo <mo@goice.co.jp>
ControlMode ctl=
{
"Win32 GUI interface", 'w',
+ "w32gui",
1,1,0,
CTLF_AUTOSTART | CTLF_DRAG_START,
ctl_open,
-
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
winsyn_c.c - Windows synthesizer interface
Copyright (c) 2002 2003 Keishi Suenaga <s_keishi@mutt.freemail.ne.jp>
Copyright (c) 2000 Takashi Iwai <tiwai@suse.de>
readmidi.c
-
DESCRIPTION
===========
TiMidity loads instruments dynamically at each time a PRM_CHANGE
event is received. It sometimes causes a noise.
If you are using a low power machine, invoke timidity as follows:
- % timidity -s 11025 -iW (set sampling freq. to 11025Hz)
+ % timidity -s 11025 -iW (set sampling freq. to 11025Hz)
or
% timidity -EFreverb=0 -iW (disable MIDI reverb effect control)
I use MIDI Yoke. It can freely be obtained MIDI-OX site
(http://www.midiox.com).
*/
+
//#define USE_PORTMIDI 1
//#define USE_GTK_GUI 1
ControlMode ctl=
{
"Windows Synthesizer interface", 'W',
+ "winsyn",
1,0,0,
0,
ctl_open,
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
xaw_c.c - XAW Interface from
- Tomokazu Harada <harada@prince.pe.u-tokyo.ac.jp>
- Yoshishige Arai <ryo2@on.rim.or.jp>
+ Tomokazu Harada <harada@prince.pe.u-tokyo.ac.jp>
+ Yoshishige Arai <ryo2@on.rim.or.jp>
*/
#ifdef HAVE_CONFIG_H
ControlMode ctl=
{
"XAW interface", 'a',
+ "xaw",
1,0,0,
0,
ctl_open,
/*
TiMidity++ -- MIDI to WAVE converter and player
- Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>
+ Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
This program is free software; you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
xskin interface by Daisuke nagano <breeze_geo@geocities.co.jp>
*/
ControlMode ctl=
{
"skin interface", 'i',
+ "skin",
1,0,0,
0,
ctl_open,
typedef struct {
char *id_name, id_character;
+ char *id_short_name;
int verbosity, trace_playing, opened;
int32 flags;
static inline int parse_opt_h(const char *);
#ifdef IA_DYNAMIC
static inline void list_dyna_interface(FILE *, char *, char *);
-static inline char *dynamic_interface_info(int);
-char *dynamic_interface_module(int);
+static inline char *dynamic_interface_info(char *);
+char *dynamic_interface_module(char *);
#endif
static inline int parse_opt_i(const char *);
static inline int parse_opt_verbose(const char *);
static inline void list_dyna_interface(FILE *fp, char *path, char *mark)
{
URL url;
- char fname[BUFSIZ], *info;
+ char fname[BUFSIZ], name[16], *info;
+ ControlMode *cmp, **cmpp;
int id;
if ((url = url_dir_open(path)) == NULL)
return;
while (url_gets(url, fname, sizeof(fname)) != NULL)
- if (strncmp(fname, "interface_", 10) == 0) {
- id = fname[10];
+ if (strncmp(fname, "if_", 3) == 0) {
+ for (i = 0; i < 15 && fname[i + 3] != '.'; i++)
+ name[i] = fname[i + 3];
+ name[i] = '\0'
+ for (cmpp = ctl_list; (cmp = *cmpp) != NULL; cmpp++)
+ if (! strcmp(cmp->id_short_name, name)) {
+ id = cmp->id_character;
+ break;
+ }
if (mark[id])
continue;
mark[id] = 1;
- if ((info = dynamic_interface_info(id)) == NULL)
- info = dynamic_interface_module(id);
+ if ((info = dynamic_interface_info(name)) == NULL)
+ info = dynamic_interface_module(name);
if (info != NULL)
fprintf(fp, " -i%c %s" NLS, id, info);
}
url_close(url);
}
-static inline char *dynamic_interface_info(int id)
+static inline char *dynamic_interface_info(char *name)
{
static char libinfo[MAXPATHLEN];
int fd, n;
char *nl;
- sprintf(libinfo, "%s" PATH_STRING "interface_%c.txt",
- dynamic_lib_root, id);
+ sprintf(libinfo, "%s" PATH_STRING "if_%s.txt",
+ dynamic_lib_root, name);
if ((fd = open(libinfo, 0)) < 0)
return NULL;
n = read(fd, libinfo, sizeof(libinfo) - 1);
return libinfo;
}
-char *dynamic_interface_module(int id)
+char *dynamic_interface_module(char *name)
{
static char shared_library[MAXPATHLEN];
int fd;
- sprintf(shared_library, "%s" PATH_STRING "interface_%c%s",
- dynamic_lib_root, id, SHARED_LIB_EXT);
+ sprintf(shared_library, "%s" PATH_STRING "if_%s%s",
+ dynamic_lib_root, name, SHARED_LIB_EXT);
if ((fd = open(shared_library, 0)) < 0)
return NULL;
close(fd);
static inline int parse_opt_i(const char *arg)
{
/* interface mode */
- ControlMode *cmp, **cmpp;
+ ControlMode *cmp, **cmpp, *cmp2, **cmpp2;
int found = 0;
+ char name[16] = "\0";
for (cmpp = ctl_list; (cmp = *cmpp) != NULL; cmpp++) {
if (cmp->id_character == *arg) {
break;
}
#ifdef IA_DYNAMIC
- if (cmp->id_character == dynamic_interface_id
- && dynamic_interface_module(*arg)) {
+ if (cmp->id_character == dynamic_interface_id) {
+ for (cmpp2 = ctl_list; (cmp2 = *cmpp2) != NULL; cmpp2++)
+ if (cmp2->id_character == *arg) {
+ strcpy(name, cmp2->id_short_name);
+ break;
+ }
+ if (! dynamic_interface_module(name))
+ continue;
/* Dynamic interface loader */
found = 1;
ctl = cmp;