diff options
author | Luo Jinghua <sunmoon1997@gmail.com> | 2008-11-15 22:58:30 +0800 |
---|---|---|
committer | Luo Jinghua <sunmoon1997@gmail.com> | 2008-11-15 22:58:30 +0800 |
commit | 3d72bf3401f3bcec0bea96135d6a37941340d693 (patch) | |
tree | e7c81ae2fc20c260edde9542c2963ae56e1d1cd2 /examples |
Initial commit
Diffstat (limited to 'examples')
32 files changed, 3786 insertions, 0 deletions
diff --git a/examples/Makefile.am b/examples/Makefile.am new file mode 100644 index 0000000..a1ce4d2 --- /dev/null +++ b/examples/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = simple wxPlayer diff --git a/examples/Makefile.in b/examples/Makefile.in new file mode 100644 index 0000000..d0cf6fe --- /dev/null +++ b/examples/Makefile.in @@ -0,0 +1,496 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +LIBOBJDIR = +subdir = examples +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_LIBS = @EXTRA_LIBS@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +HAVE_AL_FALSE = @HAVE_AL_FALSE@ +HAVE_AL_TRUE = @HAVE_AL_TRUE@ +HAVE_DSOUND_FALSE = @HAVE_DSOUND_FALSE@ +HAVE_DSOUND_TRUE = @HAVE_DSOUND_TRUE@ +HAVE_DUMB_FALSE = @HAVE_DUMB_FALSE@ +HAVE_DUMB_TRUE = @HAVE_DUMB_TRUE@ +HAVE_FLAC_FALSE = @HAVE_FLAC_FALSE@ +HAVE_FLAC_TRUE = @HAVE_FLAC_TRUE@ +HAVE_LIBCDAUDIO_FALSE = @HAVE_LIBCDAUDIO_FALSE@ +HAVE_LIBCDAUDIO_TRUE = @HAVE_LIBCDAUDIO_TRUE@ +HAVE_OGG_FALSE = @HAVE_OGG_FALSE@ +HAVE_OGG_TRUE = @HAVE_OGG_TRUE@ +HAVE_OSS_FALSE = @HAVE_OSS_FALSE@ +HAVE_OSS_TRUE = @HAVE_OSS_TRUE@ +HAVE_SPEEX_FALSE = @HAVE_SPEEX_FALSE@ +HAVE_SPEEX_TRUE = @HAVE_SPEEX_TRUE@ +HAVE_WINMM_FALSE = @HAVE_WINMM_FALSE@ +HAVE_WINMM_TRUE = @HAVE_WINMM_TRUE@ +HAVE_WXWINDOWS_FALSE = @HAVE_WXWINDOWS_FALSE@ +HAVE_WXWINDOWS_TRUE = @HAVE_WXWINDOWS_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WORDS_BIGENDIAN = @WORDS_BIGENDIAN@ +WX_CONFIG = @WX_CONFIG@ +WX_CPPFLAGS = @WX_CPPFLAGS@ +WX_LIBS = @WX_LIBS@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +SUBDIRS = simple wxPlayer +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign examples/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ + clean clean-generic clean-libtool clean-recursive ctags \ + ctags-recursive distclean distclean-generic distclean-libtool \ + distclean-recursive distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-generic mostlyclean-libtool \ + mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/examples/simple/Makefile.am b/examples/simple/Makefile.am new file mode 100644 index 0000000..0da77ab --- /dev/null +++ b/examples/simple/Makefile.am @@ -0,0 +1,6 @@ +INCLUDES = -I $(top_srcdir)/src + +noinst_PROGRAMS = simple + +simple_SOURCES = simple.cpp +simple_LDADD = $(top_builddir)/src/libaudiere.la diff --git a/examples/simple/Makefile.in b/examples/simple/Makefile.in new file mode 100644 index 0000000..c47cd53 --- /dev/null +++ b/examples/simple/Makefile.in @@ -0,0 +1,449 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +LIBOBJDIR = +noinst_PROGRAMS = simple$(EXEEXT) +subdir = examples/simple +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am_simple_OBJECTS = simple.$(OBJEXT) +simple_OBJECTS = $(am_simple_OBJECTS) +simple_DEPENDENCIES = $(top_builddir)/src/libaudiere.la +DEFAULT_INCLUDES = -I. -I$(srcdir) +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(simple_SOURCES) +DIST_SOURCES = $(simple_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_LIBS = @EXTRA_LIBS@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +HAVE_AL_FALSE = @HAVE_AL_FALSE@ +HAVE_AL_TRUE = @HAVE_AL_TRUE@ +HAVE_DSOUND_FALSE = @HAVE_DSOUND_FALSE@ +HAVE_DSOUND_TRUE = @HAVE_DSOUND_TRUE@ +HAVE_DUMB_FALSE = @HAVE_DUMB_FALSE@ +HAVE_DUMB_TRUE = @HAVE_DUMB_TRUE@ +HAVE_FLAC_FALSE = @HAVE_FLAC_FALSE@ +HAVE_FLAC_TRUE = @HAVE_FLAC_TRUE@ +HAVE_LIBCDAUDIO_FALSE = @HAVE_LIBCDAUDIO_FALSE@ +HAVE_LIBCDAUDIO_TRUE = @HAVE_LIBCDAUDIO_TRUE@ +HAVE_OGG_FALSE = @HAVE_OGG_FALSE@ +HAVE_OGG_TRUE = @HAVE_OGG_TRUE@ +HAVE_OSS_FALSE = @HAVE_OSS_FALSE@ +HAVE_OSS_TRUE = @HAVE_OSS_TRUE@ +HAVE_SPEEX_FALSE = @HAVE_SPEEX_FALSE@ +HAVE_SPEEX_TRUE = @HAVE_SPEEX_TRUE@ +HAVE_WINMM_FALSE = @HAVE_WINMM_FALSE@ +HAVE_WINMM_TRUE = @HAVE_WINMM_TRUE@ +HAVE_WXWINDOWS_FALSE = @HAVE_WXWINDOWS_FALSE@ +HAVE_WXWINDOWS_TRUE = @HAVE_WXWINDOWS_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WORDS_BIGENDIAN = @WORDS_BIGENDIAN@ +WX_CONFIG = @WX_CONFIG@ +WX_CPPFLAGS = @WX_CPPFLAGS@ +WX_LIBS = @WX_LIBS@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +INCLUDES = -I $(top_srcdir)/src +simple_SOURCES = simple.cpp +simple_LDADD = $(top_builddir)/src/libaudiere.la +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/simple/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign examples/simple/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES) + @rm -f simple$(EXEEXT) + $(CXXLINK) $(simple_LDFLAGS) $(simple_OBJECTS) $(simple_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/examples/simple/simple.cpp b/examples/simple/simple.cpp new file mode 100644 index 0000000..7ccfaec --- /dev/null +++ b/examples/simple/simple.cpp @@ -0,0 +1,68 @@ +#include <iostream> +#include <memory> +#include <stdio.h> +#include <stdlib.h> +#include <audiere.h> +using namespace std; +using namespace audiere; + + +#ifdef WIN32 + +#include <windows.h> +inline void sleepSecond() { + Sleep(1000); +} + +#else // assume POSIX + +#include <unistd.h> +inline void sleepSecond() { + sleep(1); +} + +#endif + + +int main(int argc, const char** argv) { +
+ if (argc != 2 && argc != 3) { + cerr << "usage: simple <filename> [<device>]" << endl; + return EXIT_FAILURE; + } + + cerr << "initializing..." << endl; + + const char* device_name = ""; + if (argc == 3) { + device_name = argv[2]; + } + + AudioDevicePtr device = OpenDevice(device_name); + if (!device) { + cerr << "OpenDevice() failed" << endl; + return EXIT_FAILURE; + } + + cerr << "opened device" << endl; + + OutputStreamPtr sound = OpenSound(device, argv[1]); + if (!sound) { + cerr << "OpenSound() failed" << endl; + return EXIT_FAILURE; + } + + cerr << "opened sound" << endl; + + sound->play(); + + cerr << "started playback" << endl; + while (sound->isPlaying()) { + sleepSecond(); + if (sound->isSeekable()) { + cerr << "position: " << sound->getPosition() << endl; + } + } + + return EXIT_SUCCESS; +} diff --git a/examples/wxPlayer/CDDeviceDialog.cpp b/examples/wxPlayer/CDDeviceDialog.cpp new file mode 100755 index 0000000..79854fc --- /dev/null +++ b/examples/wxPlayer/CDDeviceDialog.cpp @@ -0,0 +1,90 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + +#include <audiere.h> +#include "CDDeviceDialog.h" + + +BEGIN_EVENT_TABLE(CDDeviceDialog, wxDialog) + EVT_BUTTON(-1, CDDeviceDialog::OnButton) +END_EVENT_TABLE() + + +CDDeviceDialog::CDDeviceDialog(wxWindow* parent) +: wxDialog(parent, -1, wxString(wxT("New CD Device"))) +{ + audiere::EnumerateCDDevices(m_devices); + + m_device = 0; + m_explicit_device = 0; + // create vertical sizer + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + + if (m_devices.size()) { + m_device = new wxChoice(this, -1, wxDefaultPosition, wxSize(300, 22)); + for (size_t i = 0; i < m_devices.size(); ++i) { + m_device->Append(CStr2wxString(m_devices[i].c_str())); + } + m_device->SetSelection(0); + sizer->Add( + m_device, + 0, wxALIGN_CENTER | wxALL, 5); + } else { + sizer->Add( + new wxStaticText(this, -1, wxT("No devices found. Please enter one.")), + 0, wxALIGN_CENTER | wxALL, 5); + m_explicit_device = new wxTextCtrl(this, -1); + sizer->Add( + m_explicit_device, + 0, wxALIGN_CENTER | wxALL, 5); + } + + // button bar + wxBoxSizer* buttonSizer = new wxBoxSizer(wxHORIZONTAL); + m_ok = new wxButton(this, wxID_OK, wxT("OK")); + m_ok->SetDefault(); + buttonSizer->Add(m_ok, 0, wxALIGN_CENTER | wxALL, 5); + m_cancel = new wxButton(this, wxID_CANCEL, wxT("Cancel")); + buttonSizer->Add(m_cancel, 0, wxALIGN_CENTER | wxALL, 5); + sizer->Add(buttonSizer, 0, wxALIGN_CENTER | wxALL, 4); + + SetAutoLayout(true); + SetSizer(sizer); + + if (m_device) { + m_device->SetFocus(); + } + if (m_explicit_device) { + m_explicit_device->SetFocus(); + } + + sizer->Fit(this); + sizer->SetSizeHints(this); +} + + +const std::string& CDDeviceDialog::getName() const { + return m_name; +} + + +void CDDeviceDialog::OnButton(wxCommandEvent& event) { + if (event.GetEventObject() == m_ok) { + if (m_device) { + int value = m_device->GetSelection(); + if (value < 0 || value >= static_cast<int>(m_devices.size())) { + wxMessageBox(wxT("No device selected"), wxT("New CD Device"), wxOK | wxICON_ERROR, this); + return; + } + m_name = m_devices[value]; + EndModal(wxID_OK); + } + if (m_explicit_device) { + m_name = wxString2CStr(m_explicit_device->GetValue()); + EndModal(wxID_OK); + } + } else { + EndModal(wxID_CANCEL); + } +} diff --git a/examples/wxPlayer/CDDeviceDialog.h b/examples/wxPlayer/CDDeviceDialog.h new file mode 100755 index 0000000..7318fef --- /dev/null +++ b/examples/wxPlayer/CDDeviceDialog.h @@ -0,0 +1,31 @@ +#ifndef ADR_CD_DEVICE_DIALOG_H +#define ADR_CD_DEVICE_DIALOG_H + + +#include <vector> +#include <string> +#include "wx.h" + + +class CDDeviceDialog : public wxDialog { +public: + CDDeviceDialog(wxWindow* parent); + + const std::string& getName() const; + +private: + void OnButton(wxCommandEvent& event); + + std::vector<std::string> m_devices; + std::string m_name; + + wxChoice* m_device; + wxTextCtrl* m_explicit_device; + wxButton* m_ok; + wxButton* m_cancel; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/CDDeviceFrame.cpp b/examples/wxPlayer/CDDeviceFrame.cpp new file mode 100755 index 0000000..f82956d --- /dev/null +++ b/examples/wxPlayer/CDDeviceFrame.cpp @@ -0,0 +1,177 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include <sstream> +#include "CDDeviceFrame.h" +#include "Commands.h" +#include "wxPlayer.h" + + +BEGIN_EVENT_TABLE(CDDeviceFrame, wxFrame) + EVT_MENU(DEVICE_NEW_DEVICE, CDDeviceFrame::OnDeviceNewDevice) + EVT_MENU(DEVICE_NEW_CDDEVICE, CDDeviceFrame::OnDeviceNewCDDevice) + EVT_MENU(DEVICE_NEW_MIDIDEVICE, CDDeviceFrame::OnDeviceNewMIDIDevice) + EVT_MENU(HELP_ABOUT, CDDeviceFrame::OnHelpAbout) + + EVT_BUTTON(CD_PLAY, CDDeviceFrame::OnPlay) + EVT_BUTTON(CD_STOP, CDDeviceFrame::OnStop) + EVT_BUTTON(CD_PAUSE, CDDeviceFrame::OnPause) + EVT_BUTTON(CD_RESUME, CDDeviceFrame::OnResume) + EVT_BUTTON(CD_OPEN_DOOR, CDDeviceFrame::OnOpenDoor) + EVT_BUTTON(CD_CLOSE_DOOR, CDDeviceFrame::OnCloseDoor) + EVT_BUTTON(CD_CHECK_STATUS, CDDeviceFrame::OnCheckStatus) +END_EVENT_TABLE() + + +CDDeviceFrame::CDDeviceFrame(audiere::CDDevicePtr device) +: wxFrame(0, -1, wxT("CD Device - ") + CStr2wxString(device->getName()), + wxDefaultPosition, wxDefaultSize, + wxDEFAULT_FRAME_STYLE | wxTAB_TRAVERSAL) +{ + m_device = device; + + wxMenu* deviceMenu = new wxMenu; + deviceMenu->Append(DEVICE_NEW_DEVICE, wxT("&New Device...")); + deviceMenu->Append(DEVICE_NEW_CDDEVICE, wxT("New C&D Device...")); + deviceMenu->Append(DEVICE_NEW_MIDIDEVICE, wxT("New &MIDI Device...")); + + wxMenu* helpMenu = new wxMenu; + helpMenu->Append(HELP_ABOUT, wxT("&About...")); + + wxMenuBar* menuBar = new wxMenuBar; + menuBar->Append(deviceMenu, wxT("&Device")); + menuBar->Append(helpMenu, wxT("&Help")); + SetMenuBar(menuBar); + + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + const int border = 4; + + wxBoxSizer* playSizer = new wxBoxSizer(wxHORIZONTAL); + playSizer->Add( + new wxButton(this, CD_PLAY, wxT("Play")), + 1, wxEXPAND | wxALL, 0); + m_track = new wxTextCtrl(this, -1, wxT("1")); + playSizer->Add(m_track, 1, wxADJUST_MINSIZE | wxALL, 0); + sizer->Add( + playSizer, + 1, wxEXPAND | wxALL, border); + + sizer->Add( + new wxButton(this, CD_STOP, wxT("Stop")), + 1, wxEXPAND | wxALL, border); + sizer->Add( + new wxButton(this, CD_PAUSE, wxT("Pause")), + 1, wxEXPAND | wxALL, border); + sizer->Add( + new wxButton(this, CD_RESUME, wxT("Resume")), + 1, wxEXPAND | wxALL, border); + + wxBoxSizer* doorSizer = new wxBoxSizer(wxHORIZONTAL); + doorSizer->Add( + new wxButton(this, CD_OPEN_DOOR, wxT("Open Door")), + 1, wxEXPAND | wxALL, 0); + doorSizer->Add( + new wxButton(this, CD_CLOSE_DOOR, wxT("Close Door")), + 1, wxEXPAND | wxALL, 0); + sizer->Add( + doorSizer, + 1, wxEXPAND | wxALL, border); + + sizer->Add( + new wxButton(this, CD_CHECK_STATUS, wxT("Check Status")), + 1, wxEXPAND | wxALL, border); + + SetAutoLayout(true); + SetSizer(sizer); + + sizer->Fit(this); + sizer->SetSizeHints(this); + + SetFocus(); +} + + +void CDDeviceFrame::OnDeviceNewDevice(wxCommandEvent&) { + wxGetApp().OnNewDevice(this); +} + + +void CDDeviceFrame::OnDeviceNewCDDevice(wxCommandEvent&) { + wxGetApp().OnNewCDDevice(this); +} + + +void CDDeviceFrame::OnDeviceNewMIDIDevice(wxCommandEvent&) { + wxGetApp().OnNewMIDIDevice(this); +} + + +void CDDeviceFrame::OnHelpAbout(wxCommandEvent&) { + wxGetApp().ShowAboutDialog(this); +} + + +void CDDeviceFrame::OnPlay(wxCommandEvent&) { + int track = wxAtoi(m_track->GetValue()) - 1; + if (track < 0) { + track = 0; + } else if (track >= m_device->getTrackCount()) { + return; + } + + m_device->play(track); +} + + +void CDDeviceFrame::OnStop(wxCommandEvent&) { + m_device->stop(); +} + + +void CDDeviceFrame::OnPause(wxCommandEvent&) { + m_device->pause(); +} + + +void CDDeviceFrame::OnResume(wxCommandEvent&) { + m_device->resume(); +} + + +void CDDeviceFrame::OnOpenDoor(wxCommandEvent&) { + m_device->openDoor(); +} + + +void CDDeviceFrame::OnCloseDoor(wxCommandEvent&) { + m_device->closeDoor(); +} + + +void CDDeviceFrame::OnCheckStatus(wxCommandEvent&) { + std::ostringstream message; + + if (m_device->isDoorOpen()) { + message << "Door Open\n"; + } else { + message << "Door Closed\n"; + } + + if (m_device->containsCD()) { + message << "CD Present\n"; + } else { + message << "CD Not Present\n"; + } + + message << m_device->getTrackCount() << " tracks\n"; + + if (m_device->isPlaying()) { + message << "Playing\n"; + } else { + message << "Not Playing\n"; + } + + wxMessageBox(CStr2wxString(message.str().c_str()), wxT("Check Status"), wxOK, this); +} diff --git a/examples/wxPlayer/CDDeviceFrame.h b/examples/wxPlayer/CDDeviceFrame.h new file mode 100755 index 0000000..e9b7b90 --- /dev/null +++ b/examples/wxPlayer/CDDeviceFrame.h @@ -0,0 +1,35 @@ +#ifndef ADR_CD_DEVICE_FRAME_H +#define ADR_CD_DEVICE_FRAME_H + + +#include <audiere.h> +#include "wx.h" + + +class CDDeviceFrame : public wxFrame { +public: + CDDeviceFrame(audiere::CDDevicePtr device); + +private: + void OnDeviceNewDevice(wxCommandEvent&); + void OnDeviceNewCDDevice(wxCommandEvent&); + void OnDeviceNewMIDIDevice(wxCommandEvent&); + void OnHelpAbout(wxCommandEvent&); + + void OnPlay(wxCommandEvent&); + void OnStop(wxCommandEvent&); + void OnPause(wxCommandEvent&); + void OnResume(wxCommandEvent&); + void OnOpenDoor(wxCommandEvent&); + void OnCloseDoor(wxCommandEvent&); + void OnCheckStatus(wxCommandEvent&); + + audiere::CDDevicePtr m_device; + + wxTextCtrl* m_track; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/Commands.h b/examples/wxPlayer/Commands.h new file mode 100755 index 0000000..c610919 --- /dev/null +++ b/examples/wxPlayer/Commands.h @@ -0,0 +1,62 @@ +#ifndef ADR_COMMANDS_H +#define ADR_COMMANDS_H + + +enum { + DEVICE_NEW_DEVICE, + DEVICE_NEW_CDDEVICE, + DEVICE_NEW_MIDIDEVICE, + DEVICE_OPEN_STREAM, + DEVICE_OPEN_SOUND, + DEVICE_CREATE_TONE, + DEVICE_CREATE_SQUARE_WAVE, + DEVICE_CREATE_WHITE_NOISE, + DEVICE_CREATE_PINK_NOISE, + DEVICE_OPEN_SINGLE_EFFECT, + DEVICE_OPEN_MULTIPLE_EFFECT, + DEVICE_CLOSE_WINDOW, + DEVICE_CLOSE, + + // For MIDI devices. + DEVICE_OPEN_SONG, + + HELP_ABOUT, + + STREAM_PLAY, + STREAM_STOP, + STREAM_RESET, + STREAM_REPEAT, + STREAM_VOLUME, + STREAM_PAN, + STREAM_PITCH, + STREAM_POS, + STREAM_UPDATE, + + STREAM_VIEW_INFO, + STREAM_EDIT_LOOP_POINTS, + STREAM_VIEW_TAGS, + + EFFECT_PLAY, + EFFECT_STOP, + EFFECT_VOLUME, + EFFECT_PAN, + EFFECT_PITCH, + + CD_PLAY, + CD_STOP, + CD_PAUSE, + CD_RESUME, + CD_OPEN_DOOR, + CD_CLOSE_DOOR, + CD_CHECK_STATUS, + + MIDI_PLAY, + MIDI_PAUSE, + MIDI_STOP, + MIDI_REPEAT, + MIDI_POS, + MIDI_UPDATE, +}; + + +#endif diff --git a/examples/wxPlayer/DeviceFrame.cpp b/examples/wxPlayer/DeviceFrame.cpp new file mode 100755 index 0000000..7728df2 --- /dev/null +++ b/examples/wxPlayer/DeviceFrame.cpp @@ -0,0 +1,362 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include <set> +#include <string> +#include <vector> +#include "Commands.h" +#include "DeviceFrame.h" +#include "SoundEffectFrame.h" +#include "StreamFrame.h" +#include "wxPlayer.h" + +#if wxCHECK_VERSION(2,5,3) +#include "wx/generic/numdlgg.h" +#endif + +template<typename T> +std::string Join( + T cont, + const std::string& joiner, + const std::string& prefix = "") +{ + std::string result; + + typename T::iterator i = cont.begin(); + for (;;) { + result += prefix + *i++; + if (i == cont.end()) { + break; + } else { + result += joiner; + } + } + + return result; +} + + +BEGIN_EVENT_TABLE(DeviceFrame, wxMDIParentFrame) + EVT_MENU(DEVICE_NEW_DEVICE, DeviceFrame::OnDeviceNewDevice) + EVT_MENU(DEVICE_NEW_CDDEVICE, DeviceFrame::OnDeviceNewCDDevice) + EVT_MENU(DEVICE_NEW_MIDIDEVICE, DeviceFrame::OnDeviceNewMIDIDevice) + EVT_MENU(DEVICE_OPEN_STREAM, DeviceFrame::OnDeviceOpenStream) + EVT_MENU(DEVICE_OPEN_SOUND, DeviceFrame::OnDeviceOpenSound) + EVT_MENU(DEVICE_CREATE_TONE, DeviceFrame::OnDeviceCreateTone) + EVT_MENU(DEVICE_CREATE_SQUARE_WAVE, DeviceFrame::OnDeviceCreateSquareWave) + EVT_MENU(DEVICE_CREATE_WHITE_NOISE, DeviceFrame::OnDeviceCreateWhiteNoise) + EVT_MENU(DEVICE_CREATE_PINK_NOISE, DeviceFrame::OnDeviceCreatePinkNoise) + EVT_MENU(DEVICE_OPEN_SINGLE_EFFECT, DeviceFrame::OnDeviceOpenSingleEffect) + EVT_MENU(DEVICE_OPEN_MULTIPLE_EFFECT, DeviceFrame::OnDeviceOpenMultipleEffect) + EVT_MENU(DEVICE_CLOSE_WINDOW, DeviceFrame::OnDeviceCloseCurrentWindow) + EVT_MENU(DEVICE_CLOSE, DeviceFrame::OnDeviceClose) + EVT_MENU(HELP_ABOUT, DeviceFrame::OnHelpAbout) +END_EVENT_TABLE() + + +DeviceFrame::DeviceFrame(audiere::AudioDevicePtr device) +: wxMDIParentFrame(0, -1, wxT("Audio Device - " + wxString(device->getName())), + wxDefaultPosition, wxSize(400, 500)) +{ + m_device = device; + + wxMenu* deviceMenu = new wxMenu(); + deviceMenu->Append(DEVICE_NEW_DEVICE, wxT("&New Device...")); + deviceMenu->Append(DEVICE_NEW_CDDEVICE, wxT("New C&D Device...")); + deviceMenu->Append(DEVICE_NEW_MIDIDEVICE, wxT("New &MIDI Device...")); + deviceMenu->AppendSeparator(); + deviceMenu->Append(DEVICE_OPEN_STREAM, wxT("&Open Stream...")); + deviceMenu->Append(DEVICE_OPEN_SOUND, wxT("Open &Sound...")); + deviceMenu->AppendSeparator(); + deviceMenu->Append(DEVICE_CREATE_TONE, wxT("Create &Tone...")); + deviceMenu->Append(DEVICE_CREATE_SQUARE_WAVE, wxT("Create S&quare Wave...")); + deviceMenu->Append(DEVICE_CREATE_WHITE_NOISE, wxT("Create &White Noise")); + deviceMenu->Append(DEVICE_CREATE_PINK_NOISE, wxT("Create &Pink Noise")); + deviceMenu->AppendSeparator(); + deviceMenu->Append(DEVICE_OPEN_SINGLE_EFFECT, wxT("Open &Effect (Single)...")); + deviceMenu->Append(DEVICE_OPEN_MULTIPLE_EFFECT, wxT("Open Effect (&Multiple)...")); + deviceMenu->AppendSeparator(); + deviceMenu->Append(DEVICE_CLOSE_WINDOW, wxT("Close C&urrent Window")); + deviceMenu->Append(DEVICE_CLOSE, wxT("&Close Device")); + + wxMenu* helpMenu = new wxMenu(); + helpMenu->Append(HELP_ABOUT, wxT("&About...")); + + wxMenuBar* menuBar = new wxMenuBar(); + menuBar->Append(deviceMenu, wxT("&Device")); + menuBar->Append(helpMenu, wxT("&Help")); + SetMenuBar(menuBar); + + SetFocus(); +} + + +void DeviceFrame::OnDeviceNewDevice(wxCommandEvent&) { + wxGetApp().OnNewDevice(this); +} + + +void DeviceFrame::OnDeviceNewCDDevice(wxCommandEvent&) { + wxGetApp().OnNewCDDevice(this); +} + + +void DeviceFrame::OnDeviceNewMIDIDevice(wxCommandEvent&) { + wxGetApp().OnNewMIDIDevice(this); +} + + +wxString DeviceFrame::GetSoundFile() { + std::vector<audiere::FileFormatDesc> formats; + audiere::GetSupportedFileFormats(formats); + + // combine all of the supported extensions into one collection + std::set<std::string> all_extensions; + { + for (unsigned i = 0; i < formats.size(); ++i) { + for (unsigned j = 0; j < formats[i].extensions.size(); ++j) { + all_extensions.insert("*." + formats[i].extensions[j]); + } + } + } + + // build a string of wildcards for wxWindows + std::string wildcards; + wildcards = "Sound Files (" + Join(all_extensions, ",") + ")|"; + wildcards += Join(all_extensions, ";") + "|"; + + { + for (unsigned i = 0; i < formats.size(); ++i) { + audiere::FileFormatDesc& ffd = formats[i]; + wildcards += ffd.description + " "; + wildcards += "(" + Join(ffd.extensions, ",", "*.") + ")|"; + wildcards += Join(ffd.extensions, ";", "*.") + "|"; + } + } + + wildcards += "All Files (*.*)|*.*"; + + return wxFileSelector( + wxT("Select a sound file"), wxT(""), wxT(""), wxT(""), + CStr2wxString(wildcards.c_str()), wxOPEN, this); +} + + +void DeviceFrame::OnDeviceOpenStream(wxCommandEvent &) { + wxString filename(GetSoundFile()); + if (filename.empty()) { + return; + } + +#if wxUSE_UNICODE + wxCharBuffer buffFilename = filename.mb_str(wxConvUTF8); + audiere::SampleSourcePtr source = audiere::OpenSampleSource(buffFilename.data()); +#else + audiere::SampleSourcePtr source = audiere::OpenSampleSource(filename); +#endif + if (!source) { + wxMessageBox( + wxT("Could not open sample source: ") + filename, + wxT("Open Stream"), wxOK | wxCENTRE, this); + return; + } + + audiere::LoopPointSourcePtr loop_source = + audiere::CreateLoopPointSource(source); + if (loop_source) { + source = loop_source.get(); + } + + audiere::OutputStreamPtr stream = audiere::OpenSound( + m_device, + source, + true); + if (!stream) { + wxMessageBox( + wxT("Could not open output stream: ") + filename, + wxT("Open Stream"), wxOK | wxCENTRE, this); + return; + } + + // get the basename of the path for the window title + wxString basename = wxFileNameFromPath(filename); + new StreamFrame(this, wxT("Stream: ") + basename, stream.get(), source.get(), loop_source.get()); +} + + +void DeviceFrame::OnDeviceOpenSound(wxCommandEvent &) { + wxString filename(GetSoundFile()); + if (filename.empty()) { + return; + } + + audiere::SampleSourcePtr source = audiere::OpenSampleSource(wxString2CStr(filename)); + if (!source) { + wxMessageBox( + wxT("Could not open source: ") + filename, + wxT("Open Sound"), wxOK | wxCENTRE, this); + return; + } + + audiere::OutputStreamPtr stream = audiere::OpenSound(m_device, source); + if (!stream) { + wxMessageBox( + wxT("Could not open sound: ") + filename, + wxT("Open Sound"), wxOK | wxCENTRE, this); + return; + } + + // get the basename of the path for the window title + wxString basename = wxFileNameFromPath(filename); + new StreamFrame(this, wxT("Sound: ") + basename, stream.get(), source.get()); +} + + +void DeviceFrame::OnDeviceCreateTone(wxCommandEvent &) { + int frequency = ::wxGetNumberFromUser( + wxT("Value must be between 1 and 30000."), wxT("Enter frequency in Hz"), + wxT("Create Tone"), 256, 1, 30000, this); + if (frequency != -1) { + audiere::SampleSourcePtr source = audiere::CreateTone(frequency); + if (!source) { + wxMessageBox( + wxT("Could not create tone"), + wxT("Create Tone"), wxOK | wxCENTRE, this); + return; + } + + audiere::OutputStreamPtr stream = m_device->openStream(source.get()); + if (!stream) { + wxMessageBox( + wxT("Could not open output stream"), + wxT("Create Tone"), wxOK | wxCENTRE, this); + return; + + } + + wxString title; + title.sprintf(wxT("Tone: %d Hz"), frequency); + new StreamFrame(this, title, stream.get(), source.get()); + } +} + + +void DeviceFrame::OnDeviceCreateSquareWave(wxCommandEvent &) { + int frequency = ::wxGetNumberFromUser( + wxT("Value must be between 1 and 30000."), wxT("Enter frequency in Hz"), + wxT("Create Square Wave"), 256, 1, 30000, this); + if (frequency != -1) { + audiere::SampleSourcePtr source = audiere::CreateSquareWave(frequency); + if (!source) { + wxMessageBox( + wxT("Could not create square wave"), + wxT("Create Square Wave"), wxOK | wxCENTRE, this); + return; + } + + audiere::OutputStreamPtr stream = m_device->openStream(source.get()); + if (!stream) { + wxMessageBox( + wxT("Could not open output stream"), + wxT("Create Square Wave"), wxOK | wxCENTRE, this); + return; + } + + wxString title; + title.sprintf(wxT("Square Wave: %d Hz"), frequency); + new StreamFrame(this, title, stream.get(), source.get()); + } +} + + +void DeviceFrame::OnDeviceCreateWhiteNoise(wxCommandEvent &) { + audiere::SampleSourcePtr source = audiere::CreateWhiteNoise(); + if (!source) { + wxMessageBox( + wxT("Could not create white noise"), + wxT("Create White Noise"), wxOK | wxCENTRE, this); + return; + } + + audiere::OutputStreamPtr stream = m_device->openStream(source.get()); + if (!stream) { + wxMessageBox( + wxT("Could not open output stream"), + wxT("Create White Noise"), wxOK | wxCENTRE, this); + return; + } + + new StreamFrame(this, wxT("White Noise"), stream.get(), source.get()); +} + + +void DeviceFrame::OnDeviceCreatePinkNoise(wxCommandEvent &) { + audiere::SampleSourcePtr source = audiere::CreatePinkNoise(); + if (!source) { + wxMessageBox( + wxT("Could not create white noise"), + wxT("Create Pink Noise"), wxOK | wxCENTRE, this); + return; + } + + audiere::OutputStreamPtr stream = m_device->openStream(source.get()); + if (!stream) { + wxMessageBox( + wxT("Could not open output stream"), + wxT("Create Pink Noise"), wxOK | wxCENTRE, this); + return; + } + + new StreamFrame(this, wxT("Pink Noise"), stream.get(), source.get()); +} + + +void DeviceFrame::OnDeviceOpenSingleEffect(wxCommandEvent &) { + DoOpenEffect(audiere::SINGLE, wxT("Single")); +} + + +void DeviceFrame::OnDeviceOpenMultipleEffect(wxCommandEvent &) { + DoOpenEffect(audiere::MULTIPLE, wxT("Multiple")); +} + + +void DeviceFrame::DoOpenEffect(audiere::SoundEffectType type, wxString typestring) { + wxString filename(GetSoundFile()); + if (filename.empty()) { + return; + } + + audiere::SoundEffectPtr effect = audiere::OpenSoundEffect(m_device, wxString2CStr(filename), type); + if (effect) { + wxString basename = wxFileNameFromPath(filename); + wxString title; + title.sprintf(wxT("Sound Effect (%s): %s"), + typestring.c_str(), basename.c_str()); + new SoundEffectFrame(this, title, effect); + } else { + wxMessageBox( + wxT("Could not open sound effect: ") + filename, + wxT("Open Sound Effect"), wxOK | wxCENTRE, this); + } +} + + +void DeviceFrame::OnDeviceCloseCurrentWindow(wxCommandEvent&) { + wxMDIChildFrame* frame = GetActiveChild(); + if (frame) { + frame->Close(); + } +} + + +void DeviceFrame::OnDeviceClose(wxCommandEvent &) { + Close(); +} + + +void DeviceFrame::OnHelpAbout(wxCommandEvent &) { + wxGetApp().ShowAboutDialog(this); +} diff --git a/examples/wxPlayer/DeviceFrame.h b/examples/wxPlayer/DeviceFrame.h new file mode 100755 index 0000000..0454d8d --- /dev/null +++ b/examples/wxPlayer/DeviceFrame.h @@ -0,0 +1,37 @@ +#ifndef ADR_DEVICE_FRAME_H +#define ADR_DEVICE_FRAME_H + + +#include <audiere.h> +#include "wx.h" + + +class DeviceFrame : public wxMDIParentFrame { +public: + DeviceFrame(audiere::AudioDevicePtr device); + + void OnDeviceNewDevice(wxCommandEvent&); + void OnDeviceNewCDDevice(wxCommandEvent&); + void OnDeviceNewMIDIDevice(wxCommandEvent&); + wxString GetSoundFile(); + void OnDeviceOpenStream(wxCommandEvent&); + void OnDeviceOpenSound(wxCommandEvent&); + void OnDeviceCreateTone(wxCommandEvent&); + void OnDeviceCreateSquareWave(wxCommandEvent&); + void OnDeviceCreateWhiteNoise(wxCommandEvent&); + void OnDeviceCreatePinkNoise(wxCommandEvent&); + void OnDeviceOpenSingleEffect(wxCommandEvent&); + void OnDeviceOpenMultipleEffect(wxCommandEvent&); + void DoOpenEffect(audiere::SoundEffectType type, wxString typestring); + void OnDeviceCloseCurrentWindow(wxCommandEvent&); + void OnDeviceClose(wxCommandEvent&); + void OnHelpAbout(wxCommandEvent&); + +private: + audiere::AudioDevicePtr m_device; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/EditLoopPointsDialog.cpp b/examples/wxPlayer/EditLoopPointsDialog.cpp new file mode 100755 index 0000000..e6c71ba --- /dev/null +++ b/examples/wxPlayer/EditLoopPointsDialog.cpp @@ -0,0 +1,116 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include "Commands.h" +#include "EditLoopPointsDialog.h" + + +BEGIN_EVENT_TABLE(EditLoopPointsDialog, wxDialog) + EVT_CLOSE(EditLoopPointsDialog::OnClose) + EVT_BUTTON(-1, EditLoopPointsDialog::OnButton) +END_EVENT_TABLE() + + +EditLoopPointsDialog::EditLoopPointsDialog( + wxWindow* parent, + audiere::LoopPointSourcePtr loop_source) +: wxDialog(parent, -1, wxString(wxT("Edit Loop Points")), wxDefaultPosition, + wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER) +{ + m_loop_source = loop_source; + const int CA = wxALIGN_CENTER | wxALL; + const int LEFT_STYLE = CA | wxALIGN_CENTER_VERTICAL; + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + + m_points = new wxListBox(this, -1); + sizer->Add(m_points, 1, CA | wxGROW | wxADJUST_MINSIZE, 5); + + wxFlexGridSizer* fieldSizer = new wxFlexGridSizer(2); + fieldSizer->Add(new wxStaticText(this, -1, wxT("Location")), 0, LEFT_STYLE, 0); + m_location = new wxTextCtrl(this, -1); + fieldSizer->Add(m_location, 0, CA, 1); + fieldSizer->Add(new wxStaticText(this, -1, wxT("Target")), 0, LEFT_STYLE, 0); + m_target = new wxTextCtrl(this, -1); + fieldSizer->Add(m_target, 0, CA, 1); + fieldSizer->Add(new wxStaticText(this, -1, wxT("Loop Count")), 0, LEFT_STYLE, 0); + m_loop_count = new wxTextCtrl(this, -1); + fieldSizer->Add(m_loop_count, 0, CA, 1); + sizer->Add(fieldSizer, 0, CA, 5); + + wxBoxSizer* buttonSizer = new wxBoxSizer(wxHORIZONTAL); + m_add = new wxButton(this, -1, wxT("Add")); + buttonSizer->Add(m_add, 0, CA, 5); + m_remove = new wxButton(this, -1, wxT("Remove")); + buttonSizer->Add(m_remove, 0, CA, 5); + sizer->Add(buttonSizer, 0, CA, 2); + + m_close = new wxButton(this, -1, wxT("Close")); + sizer->Add(m_close, 0, CA, 1); + + m_location->SetFocus(); + m_add->SetDefault(); + + SetAutoLayout(true); + SetSizer(sizer); + + sizer->Fit(this); + sizer->SetSizeHints(this); + + resetFields(); + refreshLoopPoints(); +} + + +void EditLoopPointsDialog::OnButton(wxCommandEvent& event) { + if (event.GetEventObject() == m_add) { + + int location = wxAtoi(m_location ->GetValue()); + int target = wxAtoi(m_target ->GetValue()); + int loop_count = wxAtoi(m_loop_count->GetValue()); + m_loop_source->addLoopPoint(location, target, loop_count); + + resetFields(); + refreshLoopPoints(); + + } else if (event.GetEventObject() == m_remove) { + + int sel = m_points->GetSelection(); + if (sel >= 0 && sel < m_loop_source->getLoopPointCount()) { + m_loop_source->removeLoopPoint(sel); + refreshLoopPoints(); + } + + } else if (event.GetEventObject() == m_close) { + + EndModal(0); + + } +} + + +void EditLoopPointsDialog::OnClose(wxCloseEvent& event) { + EndModal(0); +} + + +void EditLoopPointsDialog::resetFields() { + m_location ->SetValue(wxT("0")); + m_target ->SetValue(wxT("0")); + m_loop_count->SetValue(wxT("0")); +} + + +void EditLoopPointsDialog::refreshLoopPoints() { + m_points->Clear(); + int count = m_loop_source->getLoopPointCount(); + for (int i = 0; i < count; ++i) { + int location, target, loopCount; + if (m_loop_source->getLoopPoint(i, location, target, loopCount)) { + wxString str; + str.Printf(wxT("%d %d %d"), location, target, loopCount); + m_points->Append(str); + } + } +} diff --git a/examples/wxPlayer/EditLoopPointsDialog.h b/examples/wxPlayer/EditLoopPointsDialog.h new file mode 100755 index 0000000..40843b6 --- /dev/null +++ b/examples/wxPlayer/EditLoopPointsDialog.h @@ -0,0 +1,37 @@ +#ifndef ADR_EDIT_LOOP_POINTS_DIALOG_H +#define ADR_EDIT_LOOP_POINTS_DIALOG_H + + +#include <audiere.h> +#include "wx.h" + + +class EditLoopPointsDialog : public wxDialog { +public: + EditLoopPointsDialog( + wxWindow* parent, + audiere::LoopPointSourcePtr loop_source); + +private: + void OnButton(wxCommandEvent& event); + void OnClose(wxCloseEvent& event); + + void resetFields(); + void refreshLoopPoints(); + + + audiere::LoopPointSourcePtr m_loop_source; + + wxListBox* m_points; + wxTextCtrl* m_location; + wxTextCtrl* m_target; + wxTextCtrl* m_loop_count; + wxButton* m_add; + wxButton* m_remove; + wxButton* m_close; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/MIDIDeviceDialog.cpp b/examples/wxPlayer/MIDIDeviceDialog.cpp new file mode 100755 index 0000000..d597a32 --- /dev/null +++ b/examples/wxPlayer/MIDIDeviceDialog.cpp @@ -0,0 +1,44 @@ +#include "MIDIDeviceDialog.h" + + +BEGIN_EVENT_TABLE(MIDIDeviceDialog, wxDialog) + EVT_BUTTON(-1, MIDIDeviceDialog::OnButton) +END_EVENT_TABLE() + + +MIDIDeviceDialog::MIDIDeviceDialog(wxWindow* parent) +: wxDialog(parent, -1, wxString(wxT("New MIDI Device"))) +{ + // size of text controls + static const wxSize size(300, 22); + + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + m_name = new wxTextCtrl(this, -1, wxT(""), wxDefaultPosition, size); + sizer->Add(m_name, 0, wxALIGN_CENTER | wxALL, 5); + + wxBoxSizer* buttonSizer = new wxBoxSizer(wxHORIZONTAL); + m_ok = new wxButton(this, wxID_OK, wxT("OK")); + buttonSizer->Add(m_ok, 0, wxALIGN_CENTER | wxALL, 5); + m_cancel = new wxButton(this, wxID_CANCEL, wxT("Cancel")); + buttonSizer->Add(m_cancel, 0, wxALIGN_CENTER | wxALL, 5); + sizer->Add(buttonSizer, 0, wxALIGN_CENTER | wxALL, 5); + + SetAutoLayout(true); + SetSizer(sizer); + + m_name->SetFocus(); + m_ok->SetDefault(); + + sizer->Fit(this); + sizer->SetSizeHints(this); +} + + +void MIDIDeviceDialog::OnButton(wxCommandEvent& event) { + if (event.GetEventObject() == m_ok) { + m_name_str = wxString2CStr(m_name->GetValue()); + EndModal(wxID_OK); + } else if (event.GetEventObject() == m_cancel) { + EndModal(wxID_CANCEL); + } +} diff --git a/examples/wxPlayer/MIDIDeviceDialog.h b/examples/wxPlayer/MIDIDeviceDialog.h new file mode 100755 index 0000000..682b3ad --- /dev/null +++ b/examples/wxPlayer/MIDIDeviceDialog.h @@ -0,0 +1,31 @@ +#ifndef ADR_MIDI_DEVICE_DIALOG_H +#define ADR_MIDI_DEVICE_DIALOG_H + + +#include <string> +#include "wx.h" + + +class MIDIDeviceDialog : public wxDialog { +public: + MIDIDeviceDialog(wxWindow* parent); + + const std::string& getName() const { + return m_name_str; + } + +private: + void MIDIDeviceDialog::OnButton(wxCommandEvent& event); + + wxTextCtrl* m_name; + + wxButton* m_ok; + wxButton* m_cancel; + + std::string m_name_str; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/MIDIDeviceFrame.cpp b/examples/wxPlayer/MIDIDeviceFrame.cpp new file mode 100755 index 0000000..0d52acc --- /dev/null +++ b/examples/wxPlayer/MIDIDeviceFrame.cpp @@ -0,0 +1,100 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include "Commands.h" +#include "MIDIDeviceFrame.h" +#include "MIDIStreamFrame.h" +#include "wxPlayer.h" + + +BEGIN_EVENT_TABLE(MIDIDeviceFrame, wxMDIParentFrame) + EVT_MENU(DEVICE_NEW_DEVICE, MIDIDeviceFrame::OnDeviceNewDevice) + EVT_MENU(DEVICE_NEW_CDDEVICE, MIDIDeviceFrame::OnDeviceNewCDDevice) + EVT_MENU(DEVICE_NEW_MIDIDEVICE, MIDIDeviceFrame::OnDeviceNewMIDIDevice) + EVT_MENU(DEVICE_OPEN_SONG, MIDIDeviceFrame::OnDeviceOpenSong) + EVT_MENU(DEVICE_CLOSE_WINDOW, MIDIDeviceFrame::OnDeviceCloseCurrentWindow) + EVT_MENU(DEVICE_CLOSE, MIDIDeviceFrame::OnDeviceClose) + EVT_MENU(HELP_ABOUT, MIDIDeviceFrame::OnHelpAbout) +END_EVENT_TABLE() + + +MIDIDeviceFrame::MIDIDeviceFrame(audiere::MIDIDevicePtr device) +: wxMDIParentFrame(0, -1, wxT("MIDI Device - ") + CStr2wxString(device->getName()), + wxDefaultPosition, wxSize(400, 500)) +{ + m_device = device; + + wxMenu* deviceMenu = new wxMenu; + deviceMenu->Append(DEVICE_NEW_DEVICE, wxT("&New Device...")); + deviceMenu->Append(DEVICE_NEW_CDDEVICE, wxT("New C&D Device...")); + deviceMenu->Append(DEVICE_NEW_MIDIDEVICE, wxT("New &MIDI Device...")); + deviceMenu->AppendSeparator(); + deviceMenu->Append(DEVICE_OPEN_SONG, wxT("Open &Song...")); + deviceMenu->AppendSeparator(); + deviceMenu->Append(DEVICE_CLOSE_WINDOW, wxT("Close C&urrent Window")); + deviceMenu->Append(DEVICE_CLOSE, wxT("&Close Device")); + + wxMenu* helpMenu = new wxMenu; + helpMenu->Append(HELP_ABOUT, wxT("&About...")); + + wxMenuBar* menuBar = new wxMenuBar; + menuBar->Append(deviceMenu, wxT("&Device")); + menuBar->Append(helpMenu, wxT("&Help")); + SetMenuBar(menuBar); + + SetFocus(); +} + + +void MIDIDeviceFrame::OnDeviceNewDevice(wxCommandEvent&) { + wxGetApp().OnNewDevice(this); +} + + +void MIDIDeviceFrame::OnDeviceNewCDDevice(wxCommandEvent&) { + wxGetApp().OnNewCDDevice(this); +} + + +void MIDIDeviceFrame::OnDeviceNewMIDIDevice(wxCommandEvent&) { + wxGetApp().OnNewMIDIDevice(this); +} + + +void MIDIDeviceFrame::OnDeviceOpenSong(wxCommandEvent&) { + wxString file = wxFileSelector( + wxT("Select a MIDI file"), wxT(""), wxT(""), wxT(""), + wxT( "MIDI Files (*.midi,*.mid,*.rmi)|*.midi;*.mid;*.rmi|") + wxT("All Files (*.*)|*.*"), + wxOPEN, this); + if (!file.empty()) { + audiere::MIDIStreamPtr stream = m_device->openStream(wxString2CStr(file)); + if (!stream) { + wxMessageBox( + wxT("Could not open MIDI file: ") + file, + wxT("Open MIDI File"), wxOK | wxCENTRE, this); + } + + new MIDIStreamFrame(this, wxT("MIDI File - ") + file, stream); + } +} + + +void MIDIDeviceFrame::OnDeviceCloseCurrentWindow(wxCommandEvent&) { + wxMDIChildFrame* frame = GetActiveChild(); + if (frame) { + frame->Close(); + } +} + + +void MIDIDeviceFrame::OnDeviceClose(wxCommandEvent&) { + Close(); +} + + +void MIDIDeviceFrame::OnHelpAbout(wxCommandEvent&) { + wxGetApp().ShowAboutDialog(this); +} diff --git a/examples/wxPlayer/MIDIDeviceFrame.h b/examples/wxPlayer/MIDIDeviceFrame.h new file mode 100755 index 0000000..eb1afc4 --- /dev/null +++ b/examples/wxPlayer/MIDIDeviceFrame.h @@ -0,0 +1,28 @@ +#ifndef ADR_MIDI_DEVICE_FRAME_H +#define ADR_MIDI_DEVICE_FRAME_H + + +#include <audiere.h> +#include "wx.h" + + +class MIDIDeviceFrame : public wxMDIParentFrame { +public: + MIDIDeviceFrame(audiere::MIDIDevicePtr device); + + void OnDeviceNewDevice(wxCommandEvent&); + void OnDeviceNewCDDevice(wxCommandEvent&); + void OnDeviceNewMIDIDevice(wxCommandEvent&); + void OnDeviceOpenSong(wxCommandEvent&); + void OnDeviceCloseCurrentWindow(wxCommandEvent&); + void OnDeviceClose(wxCommandEvent&); + void OnHelpAbout(wxCommandEvent&); + +private: + audiere::MIDIDevicePtr m_device; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/MIDIStreamFrame.cpp b/examples/wxPlayer/MIDIStreamFrame.cpp new file mode 100755 index 0000000..e412edc --- /dev/null +++ b/examples/wxPlayer/MIDIStreamFrame.cpp @@ -0,0 +1,104 @@ +#include "Commands.h" +#include "MIDIStreamFrame.h" + + +BEGIN_EVENT_TABLE(MIDIStreamFrame, wxMDIChildFrame) + EVT_BUTTON(MIDI_PLAY, MIDIStreamFrame::OnPlay) + EVT_BUTTON(MIDI_PAUSE, MIDIStreamFrame::OnPause) + EVT_BUTTON(MIDI_STOP, MIDIStreamFrame::OnStop) + + EVT_CHECKBOX(MIDI_REPEAT, MIDIStreamFrame::OnRepeat) + + EVT_COMMAND_SCROLL(MIDI_POS, MIDIStreamFrame::OnChangePos) + + EVT_TIMER(MIDI_UPDATE, MIDIStreamFrame::OnUpdateStatus) +END_EVENT_TABLE() + + +MIDIStreamFrame::MIDIStreamFrame( + wxMDIParentFrame* parent, + const wxString& title, + audiere::MIDIStreamPtr stream) +: wxMDIChildFrame(parent, -1, title) +{ + m_stream = stream; + + int f = wxEXPAND | wxALL; + + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add(new wxButton(this, MIDI_PLAY, wxT("Play")), 1, f, 4); + sizer->Add(new wxButton(this, MIDI_PAUSE, wxT("Pause")), 1, f, 4); + sizer->Add(new wxButton(this, MIDI_STOP, wxT("Stop")), 1, f, 4); + m_is_playing_label = new wxStaticText(this, -1, wxT("")); + sizer->Add(m_is_playing_label, 1, f, 4); + m_repeating = new wxCheckBox(this, MIDI_REPEAT, wxT("Repeating")); + sizer->Add(m_repeating, 1, f, 4); + m_length_pos_label = new wxStaticText(this, -1, wxT("")); + sizer->Add(m_length_pos_label, 1, f, 4); + m_pos = new wxSlider(this, MIDI_POS, 0, 0, 1000); + sizer->Add(m_pos, 1, f, 4); + + SetAutoLayout(true); + SetSizer(sizer); + + sizer->Fit(this); + sizer->SetSizeHints(this); + + // Create a timer to update the current position. + m_timer = new wxTimer(this, MIDI_UPDATE); + m_timer->Start(100); + + UpdateStatus(); +} + + +MIDIStreamFrame::~MIDIStreamFrame() { + m_timer->Stop(); + delete m_timer; +} + + +void MIDIStreamFrame::OnPlay(wxCommandEvent&) { + m_stream->play(); +} + + +void MIDIStreamFrame::OnPause(wxCommandEvent&) { + m_stream->pause(); +} + + +void MIDIStreamFrame::OnStop(wxCommandEvent&) { + m_stream->stop(); +} + + +void MIDIStreamFrame::OnRepeat(wxCommandEvent&) { + m_stream->setRepeat(m_repeating->GetValue()); +} + + +void MIDIStreamFrame::OnChangePos(wxScrollEvent&) { + float pos = m_pos->GetValue() / 1000.0f; + int len = m_stream->getLength(); + m_stream->setPosition(int(pos * len)); +} + +void MIDIStreamFrame::OnUpdateStatus(wxTimerEvent&) { + UpdateStatus(); +} + + +void MIDIStreamFrame::UpdateStatus() { + m_is_playing_label->SetLabel(m_stream->isPlaying() ? wxT("Playing") : wxT("Stopped")); + + int pos = m_stream->getPosition(); + int len = m_stream->getLength(); + + wxString label; + label.Printf(wxT("Pos/Len: %d / %d"), pos, len); + m_length_pos_label->SetLabel(label); + + float l = (len == 0 ? 0.0f : float(pos) / len); + m_pos->SetValue(int(l * 1000)); +} diff --git a/examples/wxPlayer/MIDIStreamFrame.h b/examples/wxPlayer/MIDIStreamFrame.h new file mode 100755 index 0000000..62bb03e --- /dev/null +++ b/examples/wxPlayer/MIDIStreamFrame.h @@ -0,0 +1,41 @@ +#ifndef ADR_MIDI_STREAM_FRAME_H +#define ADR_MIDI_STREAM_FRAME_H + + +#include <audiere.h> +#include "wx.h" + + +class MIDIStreamFrame : public wxMDIChildFrame { +public: + MIDIStreamFrame( + wxMDIParentFrame* parent, + const wxString& title, + audiere::MIDIStreamPtr stream); + ~MIDIStreamFrame(); + + void OnPlay(wxCommandEvent&); + void OnPause(wxCommandEvent&); + void OnStop(wxCommandEvent&); + + void OnRepeat(wxCommandEvent&); + void OnChangePos(wxScrollEvent&); + void OnUpdateStatus(wxTimerEvent&); + + void UpdateStatus(); + +private: + audiere::MIDIStreamPtr m_stream; + + wxTimer* m_timer; + + wxCheckBox* m_repeating; + wxStaticText* m_is_playing_label; + wxStaticText* m_length_pos_label; + wxSlider* m_pos; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/Makefile.am b/examples/wxPlayer/Makefile.am new file mode 100644 index 0000000..2317977 --- /dev/null +++ b/examples/wxPlayer/Makefile.am @@ -0,0 +1,43 @@ +INCLUDES = -I $(top_srcdir)/src + +SRC = \ + CDDeviceDialog.cpp \ + CDDeviceDialog.h \ + CDDeviceFrame.cpp \ + CDDeviceFrame.h \ + Commands.h \ + DeviceFrame.cpp \ + DeviceFrame.h \ + EditLoopPointsDialog.cpp \ + EditLoopPointsDialog.h \ + MIDIDeviceDialog.cpp \ + MIDIDeviceDialog.h \ + MIDIDeviceFrame.cpp \ + MIDIDeviceFrame.h \ + MIDIStreamFrame.cpp \ + MIDIStreamFrame.h \ + NewDeviceDialog.cpp \ + NewDeviceDialog.h \ + SoundEffectFrame.cpp \ + SoundEffectFrame.h \ + StreamFrame.cpp \ + StreamFrame.h \ + TagsDialog.cpp \ + wx.h \ + wxPlayer.cpp \ + wxPlayer.h + +if HAVE_WXWINDOWS + +bin_PROGRAMS = wxPlayer +wxPlayer_LDADD = $(top_builddir)/src/libaudiere.la +wxPlayer_CXXFLAGS = @WX_CPPFLAGS@ +wxPlayer_LDFLAGS = @WX_LIBS@ + +wxPlayer_SOURCES = $(SRC) + +else + +EXTRA_DIST = $(SRC) + +endif diff --git a/examples/wxPlayer/Makefile.in b/examples/wxPlayer/Makefile.in new file mode 100644 index 0000000..ce818bd --- /dev/null +++ b/examples/wxPlayer/Makefile.in @@ -0,0 +1,711 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +LIBOBJDIR = +@HAVE_WXWINDOWS_TRUE@bin_PROGRAMS = wxPlayer$(EXEEXT) +subdir = examples/wxPlayer +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am__wxPlayer_SOURCES_DIST = CDDeviceDialog.cpp CDDeviceDialog.h \ + CDDeviceFrame.cpp CDDeviceFrame.h Commands.h DeviceFrame.cpp \ + DeviceFrame.h EditLoopPointsDialog.cpp EditLoopPointsDialog.h \ + MIDIDeviceDialog.cpp MIDIDeviceDialog.h MIDIDeviceFrame.cpp \ + MIDIDeviceFrame.h MIDIStreamFrame.cpp MIDIStreamFrame.h \ + NewDeviceDialog.cpp NewDeviceDialog.h SoundEffectFrame.cpp \ + SoundEffectFrame.h StreamFrame.cpp StreamFrame.h \ + TagsDialog.cpp wx.h wxPlayer.cpp wxPlayer.h +am__objects_1 = wxPlayer-CDDeviceDialog.$(OBJEXT) \ + wxPlayer-CDDeviceFrame.$(OBJEXT) \ + wxPlayer-DeviceFrame.$(OBJEXT) \ + wxPlayer-EditLoopPointsDialog.$(OBJEXT) \ + wxPlayer-MIDIDeviceDialog.$(OBJEXT) \ + wxPlayer-MIDIDeviceFrame.$(OBJEXT) \ + wxPlayer-MIDIStreamFrame.$(OBJEXT) \ + wxPlayer-NewDeviceDialog.$(OBJEXT) \ + wxPlayer-SoundEffectFrame.$(OBJEXT) \ + wxPlayer-StreamFrame.$(OBJEXT) wxPlayer-TagsDialog.$(OBJEXT) \ + wxPlayer-wxPlayer.$(OBJEXT) +@HAVE_WXWINDOWS_TRUE@am_wxPlayer_OBJECTS = $(am__objects_1) +wxPlayer_OBJECTS = $(am_wxPlayer_OBJECTS) +@HAVE_WXWINDOWS_TRUE@wxPlayer_DEPENDENCIES = \ +@HAVE_WXWINDOWS_TRUE@ $(top_builddir)/src/libaudiere.la +DEFAULT_INCLUDES = -I. -I$(srcdir) +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(wxPlayer_SOURCES) +DIST_SOURCES = $(am__wxPlayer_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_LIBS = @EXTRA_LIBS@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +HAVE_AL_FALSE = @HAVE_AL_FALSE@ +HAVE_AL_TRUE = @HAVE_AL_TRUE@ +HAVE_DSOUND_FALSE = @HAVE_DSOUND_FALSE@ +HAVE_DSOUND_TRUE = @HAVE_DSOUND_TRUE@ +HAVE_DUMB_FALSE = @HAVE_DUMB_FALSE@ +HAVE_DUMB_TRUE = @HAVE_DUMB_TRUE@ +HAVE_FLAC_FALSE = @HAVE_FLAC_FALSE@ +HAVE_FLAC_TRUE = @HAVE_FLAC_TRUE@ +HAVE_LIBCDAUDIO_FALSE = @HAVE_LIBCDAUDIO_FALSE@ +HAVE_LIBCDAUDIO_TRUE = @HAVE_LIBCDAUDIO_TRUE@ +HAVE_OGG_FALSE = @HAVE_OGG_FALSE@ +HAVE_OGG_TRUE = @HAVE_OGG_TRUE@ +HAVE_OSS_FALSE = @HAVE_OSS_FALSE@ +HAVE_OSS_TRUE = @HAVE_OSS_TRUE@ +HAVE_SPEEX_FALSE = @HAVE_SPEEX_FALSE@ +HAVE_SPEEX_TRUE = @HAVE_SPEEX_TRUE@ +HAVE_WINMM_FALSE = @HAVE_WINMM_FALSE@ +HAVE_WINMM_TRUE = @HAVE_WINMM_TRUE@ +HAVE_WXWINDOWS_FALSE = @HAVE_WXWINDOWS_FALSE@ +HAVE_WXWINDOWS_TRUE = @HAVE_WXWINDOWS_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WORDS_BIGENDIAN = @WORDS_BIGENDIAN@ +WX_CONFIG = @WX_CONFIG@ +WX_CPPFLAGS = @WX_CPPFLAGS@ +WX_LIBS = @WX_LIBS@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +INCLUDES = -I $(top_srcdir)/src +SRC = \ + CDDeviceDialog.cpp \ + CDDeviceDialog.h \ + CDDeviceFrame.cpp \ + CDDeviceFrame.h \ + Commands.h \ + DeviceFrame.cpp \ + DeviceFrame.h \ + EditLoopPointsDialog.cpp \ + EditLoopPointsDialog.h \ + MIDIDeviceDialog.cpp \ + MIDIDeviceDialog.h \ + MIDIDeviceFrame.cpp \ + MIDIDeviceFrame.h \ + MIDIStreamFrame.cpp \ + MIDIStreamFrame.h \ + NewDeviceDialog.cpp \ + NewDeviceDialog.h \ + SoundEffectFrame.cpp \ + SoundEffectFrame.h \ + StreamFrame.cpp \ + StreamFrame.h \ + TagsDialog.cpp \ + wx.h \ + wxPlayer.cpp \ + wxPlayer.h + +@HAVE_WXWINDOWS_TRUE@wxPlayer_LDADD = $(top_builddir)/src/libaudiere.la +@HAVE_WXWINDOWS_TRUE@wxPlayer_CXXFLAGS = @WX_CPPFLAGS@ +@HAVE_WXWINDOWS_TRUE@wxPlayer_LDFLAGS = @WX_LIBS@ +@HAVE_WXWINDOWS_TRUE@wxPlayer_SOURCES = $(SRC) +@HAVE_WXWINDOWS_FALSE@EXTRA_DIST = $(SRC) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/wxPlayer/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign examples/wxPlayer/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +wxPlayer$(EXEEXT): $(wxPlayer_OBJECTS) $(wxPlayer_DEPENDENCIES) + @rm -f wxPlayer$(EXEEXT) + $(CXXLINK) $(wxPlayer_LDFLAGS) $(wxPlayer_OBJECTS) $(wxPlayer_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-CDDeviceDialog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-CDDeviceFrame.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-DeviceFrame.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-MIDIStreamFrame.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-NewDeviceDialog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-SoundEffectFrame.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-StreamFrame.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-TagsDialog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wxPlayer-wxPlayer.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +wxPlayer-CDDeviceDialog.o: CDDeviceDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-CDDeviceDialog.o -MD -MP -MF "$(DEPDIR)/wxPlayer-CDDeviceDialog.Tpo" -c -o wxPlayer-CDDeviceDialog.o `test -f 'CDDeviceDialog.cpp' || echo '$(srcdir)/'`CDDeviceDialog.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-CDDeviceDialog.Tpo" "$(DEPDIR)/wxPlayer-CDDeviceDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-CDDeviceDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CDDeviceDialog.cpp' object='wxPlayer-CDDeviceDialog.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-CDDeviceDialog.o `test -f 'CDDeviceDialog.cpp' || echo '$(srcdir)/'`CDDeviceDialog.cpp + +wxPlayer-CDDeviceDialog.obj: CDDeviceDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-CDDeviceDialog.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-CDDeviceDialog.Tpo" -c -o wxPlayer-CDDeviceDialog.obj `if test -f 'CDDeviceDialog.cpp'; then $(CYGPATH_W) 'CDDeviceDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/CDDeviceDialog.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-CDDeviceDialog.Tpo" "$(DEPDIR)/wxPlayer-CDDeviceDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-CDDeviceDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CDDeviceDialog.cpp' object='wxPlayer-CDDeviceDialog.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-CDDeviceDialog.obj `if test -f 'CDDeviceDialog.cpp'; then $(CYGPATH_W) 'CDDeviceDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/CDDeviceDialog.cpp'; fi` + +wxPlayer-CDDeviceFrame.o: CDDeviceFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-CDDeviceFrame.o -MD -MP -MF "$(DEPDIR)/wxPlayer-CDDeviceFrame.Tpo" -c -o wxPlayer-CDDeviceFrame.o `test -f 'CDDeviceFrame.cpp' || echo '$(srcdir)/'`CDDeviceFrame.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-CDDeviceFrame.Tpo" "$(DEPDIR)/wxPlayer-CDDeviceFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-CDDeviceFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CDDeviceFrame.cpp' object='wxPlayer-CDDeviceFrame.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-CDDeviceFrame.o `test -f 'CDDeviceFrame.cpp' || echo '$(srcdir)/'`CDDeviceFrame.cpp + +wxPlayer-CDDeviceFrame.obj: CDDeviceFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-CDDeviceFrame.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-CDDeviceFrame.Tpo" -c -o wxPlayer-CDDeviceFrame.obj `if test -f 'CDDeviceFrame.cpp'; then $(CYGPATH_W) 'CDDeviceFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/CDDeviceFrame.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-CDDeviceFrame.Tpo" "$(DEPDIR)/wxPlayer-CDDeviceFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-CDDeviceFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CDDeviceFrame.cpp' object='wxPlayer-CDDeviceFrame.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-CDDeviceFrame.obj `if test -f 'CDDeviceFrame.cpp'; then $(CYGPATH_W) 'CDDeviceFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/CDDeviceFrame.cpp'; fi` + +wxPlayer-DeviceFrame.o: DeviceFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-DeviceFrame.o -MD -MP -MF "$(DEPDIR)/wxPlayer-DeviceFrame.Tpo" -c -o wxPlayer-DeviceFrame.o `test -f 'DeviceFrame.cpp' || echo '$(srcdir)/'`DeviceFrame.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-DeviceFrame.Tpo" "$(DEPDIR)/wxPlayer-DeviceFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-DeviceFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='DeviceFrame.cpp' object='wxPlayer-DeviceFrame.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-DeviceFrame.o `test -f 'DeviceFrame.cpp' || echo '$(srcdir)/'`DeviceFrame.cpp + +wxPlayer-DeviceFrame.obj: DeviceFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-DeviceFrame.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-DeviceFrame.Tpo" -c -o wxPlayer-DeviceFrame.obj `if test -f 'DeviceFrame.cpp'; then $(CYGPATH_W) 'DeviceFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/DeviceFrame.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-DeviceFrame.Tpo" "$(DEPDIR)/wxPlayer-DeviceFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-DeviceFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='DeviceFrame.cpp' object='wxPlayer-DeviceFrame.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-DeviceFrame.obj `if test -f 'DeviceFrame.cpp'; then $(CYGPATH_W) 'DeviceFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/DeviceFrame.cpp'; fi` + +wxPlayer-EditLoopPointsDialog.o: EditLoopPointsDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-EditLoopPointsDialog.o -MD -MP -MF "$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Tpo" -c -o wxPlayer-EditLoopPointsDialog.o `test -f 'EditLoopPointsDialog.cpp' || echo '$(srcdir)/'`EditLoopPointsDialog.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Tpo" "$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='EditLoopPointsDialog.cpp' object='wxPlayer-EditLoopPointsDialog.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-EditLoopPointsDialog.o `test -f 'EditLoopPointsDialog.cpp' || echo '$(srcdir)/'`EditLoopPointsDialog.cpp + +wxPlayer-EditLoopPointsDialog.obj: EditLoopPointsDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-EditLoopPointsDialog.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Tpo" -c -o wxPlayer-EditLoopPointsDialog.obj `if test -f 'EditLoopPointsDialog.cpp'; then $(CYGPATH_W) 'EditLoopPointsDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/EditLoopPointsDialog.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Tpo" "$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-EditLoopPointsDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='EditLoopPointsDialog.cpp' object='wxPlayer-EditLoopPointsDialog.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-EditLoopPointsDialog.obj `if test -f 'EditLoopPointsDialog.cpp'; then $(CYGPATH_W) 'EditLoopPointsDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/EditLoopPointsDialog.cpp'; fi` + +wxPlayer-MIDIDeviceDialog.o: MIDIDeviceDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-MIDIDeviceDialog.o -MD -MP -MF "$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Tpo" -c -o wxPlayer-MIDIDeviceDialog.o `test -f 'MIDIDeviceDialog.cpp' || echo '$(srcdir)/'`MIDIDeviceDialog.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Tpo" "$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MIDIDeviceDialog.cpp' object='wxPlayer-MIDIDeviceDialog.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-MIDIDeviceDialog.o `test -f 'MIDIDeviceDialog.cpp' || echo '$(srcdir)/'`MIDIDeviceDialog.cpp + +wxPlayer-MIDIDeviceDialog.obj: MIDIDeviceDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-MIDIDeviceDialog.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Tpo" -c -o wxPlayer-MIDIDeviceDialog.obj `if test -f 'MIDIDeviceDialog.cpp'; then $(CYGPATH_W) 'MIDIDeviceDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/MIDIDeviceDialog.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Tpo" "$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-MIDIDeviceDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MIDIDeviceDialog.cpp' object='wxPlayer-MIDIDeviceDialog.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-MIDIDeviceDialog.obj `if test -f 'MIDIDeviceDialog.cpp'; then $(CYGPATH_W) 'MIDIDeviceDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/MIDIDeviceDialog.cpp'; fi` + +wxPlayer-MIDIDeviceFrame.o: MIDIDeviceFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-MIDIDeviceFrame.o -MD -MP -MF "$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Tpo" -c -o wxPlayer-MIDIDeviceFrame.o `test -f 'MIDIDeviceFrame.cpp' || echo '$(srcdir)/'`MIDIDeviceFrame.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Tpo" "$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MIDIDeviceFrame.cpp' object='wxPlayer-MIDIDeviceFrame.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-MIDIDeviceFrame.o `test -f 'MIDIDeviceFrame.cpp' || echo '$(srcdir)/'`MIDIDeviceFrame.cpp + +wxPlayer-MIDIDeviceFrame.obj: MIDIDeviceFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-MIDIDeviceFrame.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Tpo" -c -o wxPlayer-MIDIDeviceFrame.obj `if test -f 'MIDIDeviceFrame.cpp'; then $(CYGPATH_W) 'MIDIDeviceFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/MIDIDeviceFrame.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Tpo" "$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-MIDIDeviceFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MIDIDeviceFrame.cpp' object='wxPlayer-MIDIDeviceFrame.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-MIDIDeviceFrame.obj `if test -f 'MIDIDeviceFrame.cpp'; then $(CYGPATH_W) 'MIDIDeviceFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/MIDIDeviceFrame.cpp'; fi` + +wxPlayer-MIDIStreamFrame.o: MIDIStreamFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-MIDIStreamFrame.o -MD -MP -MF "$(DEPDIR)/wxPlayer-MIDIStreamFrame.Tpo" -c -o wxPlayer-MIDIStreamFrame.o `test -f 'MIDIStreamFrame.cpp' || echo '$(srcdir)/'`MIDIStreamFrame.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-MIDIStreamFrame.Tpo" "$(DEPDIR)/wxPlayer-MIDIStreamFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-MIDIStreamFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MIDIStreamFrame.cpp' object='wxPlayer-MIDIStreamFrame.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-MIDIStreamFrame.o `test -f 'MIDIStreamFrame.cpp' || echo '$(srcdir)/'`MIDIStreamFrame.cpp + +wxPlayer-MIDIStreamFrame.obj: MIDIStreamFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-MIDIStreamFrame.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-MIDIStreamFrame.Tpo" -c -o wxPlayer-MIDIStreamFrame.obj `if test -f 'MIDIStreamFrame.cpp'; then $(CYGPATH_W) 'MIDIStreamFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/MIDIStreamFrame.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-MIDIStreamFrame.Tpo" "$(DEPDIR)/wxPlayer-MIDIStreamFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-MIDIStreamFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MIDIStreamFrame.cpp' object='wxPlayer-MIDIStreamFrame.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-MIDIStreamFrame.obj `if test -f 'MIDIStreamFrame.cpp'; then $(CYGPATH_W) 'MIDIStreamFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/MIDIStreamFrame.cpp'; fi` + +wxPlayer-NewDeviceDialog.o: NewDeviceDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-NewDeviceDialog.o -MD -MP -MF "$(DEPDIR)/wxPlayer-NewDeviceDialog.Tpo" -c -o wxPlayer-NewDeviceDialog.o `test -f 'NewDeviceDialog.cpp' || echo '$(srcdir)/'`NewDeviceDialog.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-NewDeviceDialog.Tpo" "$(DEPDIR)/wxPlayer-NewDeviceDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-NewDeviceDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='NewDeviceDialog.cpp' object='wxPlayer-NewDeviceDialog.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-NewDeviceDialog.o `test -f 'NewDeviceDialog.cpp' || echo '$(srcdir)/'`NewDeviceDialog.cpp + +wxPlayer-NewDeviceDialog.obj: NewDeviceDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-NewDeviceDialog.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-NewDeviceDialog.Tpo" -c -o wxPlayer-NewDeviceDialog.obj `if test -f 'NewDeviceDialog.cpp'; then $(CYGPATH_W) 'NewDeviceDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/NewDeviceDialog.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-NewDeviceDialog.Tpo" "$(DEPDIR)/wxPlayer-NewDeviceDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-NewDeviceDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='NewDeviceDialog.cpp' object='wxPlayer-NewDeviceDialog.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-NewDeviceDialog.obj `if test -f 'NewDeviceDialog.cpp'; then $(CYGPATH_W) 'NewDeviceDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/NewDeviceDialog.cpp'; fi` + +wxPlayer-SoundEffectFrame.o: SoundEffectFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-SoundEffectFrame.o -MD -MP -MF "$(DEPDIR)/wxPlayer-SoundEffectFrame.Tpo" -c -o wxPlayer-SoundEffectFrame.o `test -f 'SoundEffectFrame.cpp' || echo '$(srcdir)/'`SoundEffectFrame.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-SoundEffectFrame.Tpo" "$(DEPDIR)/wxPlayer-SoundEffectFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-SoundEffectFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SoundEffectFrame.cpp' object='wxPlayer-SoundEffectFrame.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-SoundEffectFrame.o `test -f 'SoundEffectFrame.cpp' || echo '$(srcdir)/'`SoundEffectFrame.cpp + +wxPlayer-SoundEffectFrame.obj: SoundEffectFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-SoundEffectFrame.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-SoundEffectFrame.Tpo" -c -o wxPlayer-SoundEffectFrame.obj `if test -f 'SoundEffectFrame.cpp'; then $(CYGPATH_W) 'SoundEffectFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/SoundEffectFrame.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-SoundEffectFrame.Tpo" "$(DEPDIR)/wxPlayer-SoundEffectFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-SoundEffectFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SoundEffectFrame.cpp' object='wxPlayer-SoundEffectFrame.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-SoundEffectFrame.obj `if test -f 'SoundEffectFrame.cpp'; then $(CYGPATH_W) 'SoundEffectFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/SoundEffectFrame.cpp'; fi` + +wxPlayer-StreamFrame.o: StreamFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-StreamFrame.o -MD -MP -MF "$(DEPDIR)/wxPlayer-StreamFrame.Tpo" -c -o wxPlayer-StreamFrame.o `test -f 'StreamFrame.cpp' || echo '$(srcdir)/'`StreamFrame.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-StreamFrame.Tpo" "$(DEPDIR)/wxPlayer-StreamFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-StreamFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='StreamFrame.cpp' object='wxPlayer-StreamFrame.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-StreamFrame.o `test -f 'StreamFrame.cpp' || echo '$(srcdir)/'`StreamFrame.cpp + +wxPlayer-StreamFrame.obj: StreamFrame.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-StreamFrame.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-StreamFrame.Tpo" -c -o wxPlayer-StreamFrame.obj `if test -f 'StreamFrame.cpp'; then $(CYGPATH_W) 'StreamFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/StreamFrame.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-StreamFrame.Tpo" "$(DEPDIR)/wxPlayer-StreamFrame.Po"; else rm -f "$(DEPDIR)/wxPlayer-StreamFrame.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='StreamFrame.cpp' object='wxPlayer-StreamFrame.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-StreamFrame.obj `if test -f 'StreamFrame.cpp'; then $(CYGPATH_W) 'StreamFrame.cpp'; else $(CYGPATH_W) '$(srcdir)/StreamFrame.cpp'; fi` + +wxPlayer-TagsDialog.o: TagsDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-TagsDialog.o -MD -MP -MF "$(DEPDIR)/wxPlayer-TagsDialog.Tpo" -c -o wxPlayer-TagsDialog.o `test -f 'TagsDialog.cpp' || echo '$(srcdir)/'`TagsDialog.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-TagsDialog.Tpo" "$(DEPDIR)/wxPlayer-TagsDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-TagsDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='TagsDialog.cpp' object='wxPlayer-TagsDialog.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-TagsDialog.o `test -f 'TagsDialog.cpp' || echo '$(srcdir)/'`TagsDialog.cpp + +wxPlayer-TagsDialog.obj: TagsDialog.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-TagsDialog.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-TagsDialog.Tpo" -c -o wxPlayer-TagsDialog.obj `if test -f 'TagsDialog.cpp'; then $(CYGPATH_W) 'TagsDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/TagsDialog.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-TagsDialog.Tpo" "$(DEPDIR)/wxPlayer-TagsDialog.Po"; else rm -f "$(DEPDIR)/wxPlayer-TagsDialog.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='TagsDialog.cpp' object='wxPlayer-TagsDialog.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-TagsDialog.obj `if test -f 'TagsDialog.cpp'; then $(CYGPATH_W) 'TagsDialog.cpp'; else $(CYGPATH_W) '$(srcdir)/TagsDialog.cpp'; fi` + +wxPlayer-wxPlayer.o: wxPlayer.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-wxPlayer.o -MD -MP -MF "$(DEPDIR)/wxPlayer-wxPlayer.Tpo" -c -o wxPlayer-wxPlayer.o `test -f 'wxPlayer.cpp' || echo '$(srcdir)/'`wxPlayer.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-wxPlayer.Tpo" "$(DEPDIR)/wxPlayer-wxPlayer.Po"; else rm -f "$(DEPDIR)/wxPlayer-wxPlayer.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='wxPlayer.cpp' object='wxPlayer-wxPlayer.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-wxPlayer.o `test -f 'wxPlayer.cpp' || echo '$(srcdir)/'`wxPlayer.cpp + +wxPlayer-wxPlayer.obj: wxPlayer.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -MT wxPlayer-wxPlayer.obj -MD -MP -MF "$(DEPDIR)/wxPlayer-wxPlayer.Tpo" -c -o wxPlayer-wxPlayer.obj `if test -f 'wxPlayer.cpp'; then $(CYGPATH_W) 'wxPlayer.cpp'; else $(CYGPATH_W) '$(srcdir)/wxPlayer.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/wxPlayer-wxPlayer.Tpo" "$(DEPDIR)/wxPlayer-wxPlayer.Po"; else rm -f "$(DEPDIR)/wxPlayer-wxPlayer.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='wxPlayer.cpp' object='wxPlayer-wxPlayer.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wxPlayer_CXXFLAGS) $(CXXFLAGS) -c -o wxPlayer-wxPlayer.obj `if test -f 'wxPlayer.cpp'; then $(CYGPATH_W) 'wxPlayer.cpp'; else $(CYGPATH_W) '$(srcdir)/wxPlayer.cpp'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/examples/wxPlayer/NewDeviceDialog.cpp b/examples/wxPlayer/NewDeviceDialog.cpp new file mode 100755 index 0000000..e4a9a11 --- /dev/null +++ b/examples/wxPlayer/NewDeviceDialog.cpp @@ -0,0 +1,79 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include "NewDeviceDialog.h" + + +BEGIN_EVENT_TABLE(NewDeviceDialog, wxDialog) + EVT_BUTTON(-1, NewDeviceDialog::OnButton) +END_EVENT_TABLE() + + +NewDeviceDialog::NewDeviceDialog(wxWindow* parent) + : wxDialog(parent, -1, wxString(wxT("New Device"))) +{ + // size of text controls + static const wxSize size(300, 22); + + audiere::GetSupportedAudioDevices(m_devices); + // create vertical sizer + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + + m_device = new wxChoice(this, -1, wxDefaultPosition, size); + m_device->Append(wxT("autodetect: Choose default device")); + for (unsigned i = 0; i < m_devices.size(); ++i) { + m_device->Append((CStr2wxString(m_devices[i].name.c_str()) + wxT(": ") + CStr2wxString(m_devices[i].description.c_str()))); + } + m_device->SetSelection(0); + sizer->Add(m_device, 0, wxALIGN_CENTER | wxALL, 5); + + // create parameters box + m_parameters = new wxTextCtrl(this, -1, wxT(""), wxDefaultPosition, size); + sizer->Add(m_parameters, 0, wxALIGN_CENTER | wxALL, 5); + + // button bar + wxBoxSizer* buttonSizer = new wxBoxSizer(wxHORIZONTAL); + m_ok = new wxButton(this, wxID_OK, wxT("OK")); + buttonSizer->Add(m_ok, 0, wxALIGN_CENTER | wxALL, 5); + m_cancel = new wxButton(this, wxID_CANCEL, wxT("Cancel")); + buttonSizer->Add(m_cancel, 0, wxALIGN_CENTER | wxALL, 5); + sizer->Add(buttonSizer, 0, wxALIGN_CENTER | wxALL, 4); + + SetAutoLayout(true); + SetSizer(sizer); + + m_device->SetFocus(); + m_ok->SetDefault(); + + sizer->Fit(this); + sizer->SetSizeHints(this); +} + + +const std::string& NewDeviceDialog::getDevice() const { + return m_device_str; +} + + +const std::string& NewDeviceDialog::getParameters() const { + return m_parameters_str; +} + + +void NewDeviceDialog::OnButton(wxCommandEvent& event) { + if (event.GetEventObject() == m_ok) { + int value = m_device->GetSelection(); + if (value == 0) { + m_device_str = "autodetect"; + } else { + m_device_str = m_devices[value - 1].name; + } + + m_parameters_str = wxString2CStr(m_parameters->GetValue()); + EndModal(wxID_OK); + } else if (event.GetEventObject() == m_cancel) { + EndModal(wxID_CANCEL); + } +} diff --git a/examples/wxPlayer/NewDeviceDialog.h b/examples/wxPlayer/NewDeviceDialog.h new file mode 100755 index 0000000..9182049 --- /dev/null +++ b/examples/wxPlayer/NewDeviceDialog.h @@ -0,0 +1,35 @@ +#ifndef ADR_NEW_DEVICE_DIALOG_H +#define ADR_NEW_DEVICE_DIALOG_H + + +#include <vector> +#include <audiere.h> +#include "wx.h" + + +class NewDeviceDialog : public wxDialog { +public: + NewDeviceDialog(wxWindow* parent); + + const std::string& getDevice() const; + const std::string& getParameters() const; + +private: + void OnButton(wxCommandEvent& event); + + std::vector<audiere::AudioDeviceDesc> m_devices; + + wxChoice* m_device; + wxTextCtrl* m_parameters; + + wxButton* m_ok; + wxButton* m_cancel; + + std::string m_device_str; + std::string m_parameters_str; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/SoundEffectFrame.cpp b/examples/wxPlayer/SoundEffectFrame.cpp new file mode 100755 index 0000000..30c2c74 --- /dev/null +++ b/examples/wxPlayer/SoundEffectFrame.cpp @@ -0,0 +1,87 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include "Commands.h" +#include "SoundEffectFrame.h" + + +BEGIN_EVENT_TABLE(SoundEffectFrame, wxMDIChildFrame) + EVT_BUTTON(EFFECT_PLAY, SoundEffectFrame::OnPlay) + EVT_BUTTON(EFFECT_STOP, SoundEffectFrame::OnStop) + + EVT_COMMAND_SCROLL(STREAM_VOLUME, SoundEffectFrame::OnChangeVolume) + EVT_COMMAND_SCROLL(STREAM_PAN, SoundEffectFrame::OnChangePan) + EVT_COMMAND_SCROLL(STREAM_PITCH, SoundEffectFrame::OnChangePitch) +END_EVENT_TABLE() + + +SoundEffectFrame::SoundEffectFrame(wxMDIParentFrame* parent, const wxString& title, audiere::SoundEffectPtr effect) +: wxMDIChildFrame(parent, -1, title) +{ + m_effect = effect; + + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add( + new wxButton(this, EFFECT_PLAY, wxT("Play")), + 1, wxEXPAND | wxALL, 4); + sizer->Add( + new wxButton(this, EFFECT_STOP, wxT("Stop")), + 1, wxEXPAND | wxALL, 4); + m_vpp_label = new wxStaticText(this, -1, wxT("Volume - Pan - Pitch")); + sizer->Add(m_vpp_label, 1, wxEXPAND | wxALL, 4); + m_volume = new wxSlider(this, STREAM_VOLUME, 100, 0, 100); + sizer->Add(m_volume, 1, wxEXPAND | wxALL, 4); + m_pan = new wxSlider(this, STREAM_PAN, 0, -100, 100); + sizer->Add(m_pan, 1, wxEXPAND | wxALL, 4); + m_pitch = new wxSlider(this, STREAM_PITCH, 100, 50, 200); + sizer->Add(m_pitch, 1, wxEXPAND | wxALL, 4); + + UpdateVPPLabel(); + + SetAutoLayout(true); + SetSizer(sizer); + + sizer->Fit(this); + sizer->SetSizeHints(this); +} + + +void SoundEffectFrame::OnPlay(wxCommandEvent&) { + m_effect->play(); +} + + +void SoundEffectFrame::OnStop(wxCommandEvent&) { + m_effect->stop(); +} + + +void SoundEffectFrame::OnChangeVolume(wxScrollEvent&) { + m_effect->setVolume(m_volume->GetValue() / 100.0f); + UpdateVPPLabel(); +} + + +void SoundEffectFrame::OnChangePan(wxScrollEvent&) { + m_effect->setPan(m_pan->GetValue() / 100.0f); + UpdateVPPLabel(); +} + + +void SoundEffectFrame::OnChangePitch(wxScrollEvent&) { + m_effect->setPitchShift(m_pitch->GetValue() / 100.0f); + UpdateVPPLabel(); +} + + +void SoundEffectFrame::UpdateVPPLabel() { + wxString label; + label.Printf( + wxT("Vol: %1.2f Pan: %1.2f Pitch: %1.2f"), + m_volume->GetValue() / 100.0f, + m_pan->GetValue() / 100.0f, + m_pitch->GetValue() / 100.0f); + m_vpp_label->SetLabel(label); +} diff --git a/examples/wxPlayer/SoundEffectFrame.h b/examples/wxPlayer/SoundEffectFrame.h new file mode 100755 index 0000000..9b7c852 --- /dev/null +++ b/examples/wxPlayer/SoundEffectFrame.h @@ -0,0 +1,32 @@ +#ifndef ADR_SOUND_EFFECT_FRAME_H +#define ADR_SOUND_EFFECT_FRAME_H + + +#include <audiere.h> +#include "wx.h" + + +class SoundEffectFrame : public wxMDIChildFrame { +public: + SoundEffectFrame(wxMDIParentFrame* parent, const wxString& title, audiere::SoundEffectPtr effect); + + void OnPlay(wxCommandEvent&); + void OnStop(wxCommandEvent&); + void OnChangeVolume(wxScrollEvent&); + void OnChangePan(wxScrollEvent&); + void OnChangePitch(wxScrollEvent&); + void UpdateVPPLabel(); + +private: + audiere::SoundEffectPtr m_effect; + + wxStaticText* m_vpp_label; + wxSlider* m_volume; + wxSlider* m_pan; + wxSlider* m_pitch; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/StreamFrame.cpp b/examples/wxPlayer/StreamFrame.cpp new file mode 100755 index 0000000..5457b16 --- /dev/null +++ b/examples/wxPlayer/StreamFrame.cpp @@ -0,0 +1,223 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include <sstream> +#include "Commands.h" +#include "EditLoopPointsDialog.h" +#include "StreamFrame.h" +#include "TagsDialog.h" + + +BEGIN_EVENT_TABLE(StreamFrame, wxMDIChildFrame) + EVT_BUTTON(STREAM_PLAY, StreamFrame::OnPlay) + EVT_BUTTON(STREAM_STOP, StreamFrame::OnStop) + EVT_BUTTON(STREAM_RESET, StreamFrame::OnReset) + EVT_BUTTON(STREAM_VIEW_INFO, StreamFrame::OnViewInfo) + EVT_BUTTON(STREAM_EDIT_LOOP_POINTS, StreamFrame::OnEditLoopPoints) + EVT_BUTTON(STREAM_VIEW_TAGS, StreamFrame::OnViewTags) + + EVT_CHECKBOX(STREAM_REPEAT, StreamFrame::OnRepeat) + + EVT_COMMAND_SCROLL(STREAM_VOLUME, StreamFrame::OnChangeVolume) + EVT_COMMAND_SCROLL(STREAM_PAN, StreamFrame::OnChangePan) + EVT_COMMAND_SCROLL(STREAM_PITCH, StreamFrame::OnChangePitch) + EVT_COMMAND_SCROLL(STREAM_POS, StreamFrame::OnChangePos) + + EVT_TIMER(STREAM_UPDATE, StreamFrame::OnUpdateStatus) +END_EVENT_TABLE() + + +StreamFrame::StreamFrame( + wxMDIParentFrame* parent, + const wxString& title, + audiere::OutputStreamPtr stream, + audiere::SampleSourcePtr source, + audiere::LoopPointSourcePtr loop_source) +: wxMDIChildFrame(parent, -1, title) +{ + m_stream = stream; + m_source = source; + m_loop_source = loop_source; + m_stream_is_seekable = stream->isSeekable(); + m_stream_length = stream->getLength(); + + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add( + new wxButton(this, STREAM_PLAY, wxT("Play")), + 1, wxEXPAND | wxALL, 4); + sizer->Add( + new wxButton(this, STREAM_STOP, wxT("Stop")), + 1, wxEXPAND | wxALL, 4); + sizer->Add( + new wxButton(this, STREAM_RESET, wxT("Reset")), + 1, wxEXPAND | wxALL, 4); + m_playing_label = new wxStaticText(this, -1, wxT("Stopped")); + sizer->Add(m_playing_label, 1, wxEXPAND | wxALL, 4); + m_repeating = new wxCheckBox(this, STREAM_REPEAT, wxT("Repeating")); + sizer->Add(m_repeating, 1, wxEXPAND | wxALL, 4); + m_vpp_label = new wxStaticText(this, -1, wxT("Volume - Pan - Pitch")); + sizer->Add(m_vpp_label, 1, wxEXPAND | wxALL, 4); + m_volume = new wxSlider(this, STREAM_VOLUME, 100, 0, 100); + sizer->Add(m_volume, 1, wxEXPAND | wxALL, 4); + m_pan = new wxSlider(this, STREAM_PAN, 0, -100, 100); + sizer->Add(m_pan, 1, wxEXPAND | wxALL, 4); + m_pitch = new wxSlider(this, STREAM_PITCH, 100, 50, 200); + sizer->Add(m_pitch, 1, wxEXPAND | wxALL, 4); + m_length_pos_label = new wxStaticText(this, -1, wxT("Length - Pos")); + sizer->Add(m_length_pos_label, 1, wxEXPAND | wxALL, 4); + m_pos = new wxSlider(this, STREAM_POS, 0, 0, 1000); + sizer->Add(m_pos, 1, wxEXPAND | wxALL, 4); + + wxButton* infoButton = new wxButton( + this, STREAM_VIEW_INFO, wxT("View Info")); + sizer->Add(infoButton, 1, wxEXPAND | wxALL, 4); + + wxButton* editButton = new wxButton( + this, STREAM_EDIT_LOOP_POINTS, wxT("Edit Loop Points...")); + sizer->Add(editButton, 1, wxEXPAND | wxALL, 4); + if (!loop_source) { + editButton->Enable(false); + } + + wxButton* tagsButton = new wxButton( + this, STREAM_VIEW_TAGS, wxT("View Tags...")); + sizer->Add(tagsButton, 1, wxEXPAND | wxALL, 4); + + if (!m_stream_is_seekable) { + m_pos->Enable(false); + } + + UpdateVPPLabel(); + UpdateLengthPosLabel(); + + SetAutoLayout(true); + SetSizer(sizer); + + sizer->Fit(this); + sizer->SetSizeHints(this); + + // create a timer to update the current position + m_timer = new wxTimer(this, STREAM_UPDATE); + m_timer->Start(100); +} + + +StreamFrame::~StreamFrame() { + m_timer->Stop(); + delete m_timer; +} + + +void StreamFrame::OnPlay(wxCommandEvent&) { + m_stream->play(); +} + + +void StreamFrame::OnStop(wxCommandEvent&) { + m_stream->stop(); +} + + +void StreamFrame::OnReset(wxCommandEvent&) { + m_stream->reset(); +} + + +void StreamFrame::OnViewInfo(wxCommandEvent&) { + int channel_count, sample_rate; + audiere::SampleFormat format; + m_source->getFormat(channel_count, sample_rate, format); + + const char* format_name; + if (format == audiere::SF_U8) { + format_name = "SF_U8"; + } else if (format == audiere::SF_S16) { + format_name = "SF_S16"; + } else { + format_name = "Unknown"; + } + + std::stringstream ss; + ss << "Channel Count: " << channel_count << std::endl; + ss << "Sample Rate: " << sample_rate << std::endl; + ss << "Format: " << format_name << std::endl; + wxMessageBox(CStr2wxString(ss.str().c_str()), wxT("Stream Info"), wxOK, this); +} + + +void StreamFrame::OnEditLoopPoints(wxCommandEvent&) { + EditLoopPointsDialog(this, m_loop_source.get()).ShowModal(); +} + + +void StreamFrame::OnViewTags(wxCommandEvent&) { + TagsDialog(this, m_source.get()).ShowModal(); +} + + +void StreamFrame::OnRepeat(wxCommandEvent&) { + m_stream->setRepeat(m_repeating->GetValue()); +} + + +void StreamFrame::OnChangeVolume(wxScrollEvent&) { + m_stream->setVolume(m_volume->GetValue() / 100.0f); + UpdateVPPLabel(); +} + + +void StreamFrame::OnChangePan(wxScrollEvent&) { + m_stream->setPan(m_pan->GetValue() / 100.0f); + UpdateVPPLabel(); +} + + +void StreamFrame::OnChangePitch(wxScrollEvent&) { + m_stream->setPitchShift(m_pitch->GetValue() / 100.0f); + UpdateVPPLabel(); +} + + +void StreamFrame::OnChangePos(wxScrollEvent&) { + float pos = float(m_pos->GetValue()) / 1000; + m_stream->setPosition(int(pos * m_stream_length)); +} + + +void StreamFrame::OnUpdateStatus(wxTimerEvent&) { + if (m_stream_is_seekable) { + float pos = float(m_stream->getPosition()) / m_stream_length; + m_pos->SetValue(int(1000 * pos)); + } + UpdateLengthPosLabel(); + + // update the playing label + m_playing_label->SetLabel(m_stream->isPlaying() ? wxT("Playing") : wxT("Stopped")); +} + + +void StreamFrame::UpdateVPPLabel() { + wxString label; + label.Printf( + wxT("Vol: %1.2f Pan: %1.2f Pitch: %1.2f"), + m_volume->GetValue() / 100.0f, + m_pan->GetValue() / 100.0f, + m_pitch->GetValue() / 100.0f); + m_vpp_label->SetLabel(label); +} + + +void StreamFrame::UpdateLengthPosLabel() { + if (m_stream_is_seekable) { + wxString label; + label.Printf( + wxT("Pos/Len: %d / %d"), + m_stream->getPosition(), + m_stream_length); + m_length_pos_label->SetLabel(label); + } else { + m_length_pos_label->SetLabel(wxT("Unseekable Stream")); + } +} diff --git a/examples/wxPlayer/StreamFrame.h b/examples/wxPlayer/StreamFrame.h new file mode 100755 index 0000000..7c191d8 --- /dev/null +++ b/examples/wxPlayer/StreamFrame.h @@ -0,0 +1,60 @@ +#ifndef ADR_WX_STREAM_FRAME_H +#define ADR_WX_STREAM_FRAME_H + + +#include <audiere.h> +#include "wx.h" + + +class StreamFrame : public wxMDIChildFrame { +public: + StreamFrame( + wxMDIParentFrame* parent, + const wxString& title, + audiere::OutputStreamPtr stream, + audiere::SampleSourcePtr source, + audiere::LoopPointSourcePtr loop_source = 0); + ~StreamFrame(); + + void OnPlay(wxCommandEvent&); + void OnStop(wxCommandEvent&); + void OnReset(wxCommandEvent&); + void OnViewInfo(wxCommandEvent&); + void OnEditLoopPoints(wxCommandEvent&); + void OnViewTags(wxCommandEvent&); + + void OnRepeat(wxCommandEvent&); + void OnChangeVolume(wxScrollEvent&); + void OnChangePan(wxScrollEvent&); + void OnChangePitch(wxScrollEvent&); + void OnChangePos(wxScrollEvent&); + void OnUpdateStatus(wxTimerEvent&); + void UpdateVPPLabel(); + void UpdateLengthPosLabel(); + +private: + audiere::OutputStreamPtr m_stream; + audiere::SampleSourcePtr m_source; + + /// Only a valid pointer when the output stream is fed from it. + audiere::LoopPointSourcePtr m_loop_source; + + bool m_stream_is_seekable; + int m_stream_length; + + wxTimer* m_timer; + + wxStaticText* m_playing_label; + wxCheckBox* m_repeating; + wxStaticText* m_vpp_label; + wxSlider* m_volume; + wxSlider* m_pan; + wxSlider* m_pitch; + wxStaticText* m_length_pos_label; + wxSlider* m_pos; + + DECLARE_EVENT_TABLE() +}; + + +#endif diff --git a/examples/wxPlayer/TagsDialog.cpp b/examples/wxPlayer/TagsDialog.cpp new file mode 100755 index 0000000..4071704 --- /dev/null +++ b/examples/wxPlayer/TagsDialog.cpp @@ -0,0 +1,64 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include <algorithm> +#include "TagsDialog.h" + + +BEGIN_EVENT_TABLE(TagsDialog, wxDialog) + EVT_CLOSE(TagsDialog::OnClose) + EVT_BUTTON(-1, TagsDialog::OnButton) +END_EVENT_TABLE() + + +TagsDialog::TagsDialog( + wxWindow* parent, + audiere::SampleSourcePtr source) +: wxDialog(parent, -1, wxString(wxT("View Tags")), wxDefaultPosition, + wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER) +{ + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + m_tags = new wxListBox(this, -1); + m_tags->SetFocus(); + + std::vector<std::string> tags; + { + for (int i = 0; i < source->getTagCount(); ++i) { + std::string tag = source->getTagType(i); + tag += ": "; + tag += source->getTagKey(i); + tag += "="; + tag += source->getTagValue(i); + tags.push_back(tag.c_str()); + } + } + std::sort(tags.begin(), tags.end()); + { + for (size_t i = 0; i < tags.size(); ++i) { + m_tags->Append(CStr2wxString(tags[i].c_str())); + } + } + sizer->Add(m_tags, 1, wxADJUST_MINSIZE | wxGROW | wxALIGN_CENTER | wxALL, 1); + + m_close = new wxButton(this, wxID_CANCEL, wxT("Close")); + m_close->SetDefault(); + sizer->Add(m_close, 0, wxALIGN_CENTER | wxALL, 1); + + SetAutoLayout(true); + SetSizer(sizer); + + sizer->Fit(this); + sizer->SetSizeHints(this); +} + + +void TagsDialog::OnButton(wxCommandEvent& event) { + EndModal(0); +} + + +void TagsDialog::OnClose(wxCloseEvent& event) { + EndModal(0); +} diff --git a/examples/wxPlayer/wx.h b/examples/wxPlayer/wx.h new file mode 100755 index 0000000..222669c --- /dev/null +++ b/examples/wxPlayer/wx.h @@ -0,0 +1,24 @@ +#ifndef ADR_WX_H +#define ADR_WX_H + + +#ifdef _MSC_VER + #pragma warning(disable : 4786) + #include <windows.h> + #ifdef CreateDialog + #undef CreateDialog + #endif +#endif + +#include <wx/wx.h> + +#if defined(wxUSE_UNICODE) && wxUSE_UNICODE + #define CStr2wxString(x) wxString((const char *)x, wxConvUTF8) + #define wxString2CStr(x) x.mb_str(wxConvUTF8).data() +#else + #define CStr2wxString(x) wxString((const char *)x) + #define wxString2CStr(x) x +#endif + + +#endif diff --git a/examples/wxPlayer/wxPlayer.cpp b/examples/wxPlayer/wxPlayer.cpp new file mode 100644 index 0000000..c639e96 --- /dev/null +++ b/examples/wxPlayer/wxPlayer.cpp @@ -0,0 +1,89 @@ +#ifdef _MSC_VER +#pragma warning(disable : 4786) +#endif + + +#include <audiere.h> +#include "CDDeviceDialog.h" +#include "CDDeviceFrame.h" +#include "DeviceFrame.h" +#include "MIDIDeviceDialog.h" +#include "MIDIDeviceFrame.h" +#include "NewDeviceDialog.h" +#include "wxPlayer.h" + + +IMPLEMENT_APP(wxPlayer) + + +bool wxPlayer::OnInit() { + bool result = (TryDevice("autodetect") || TryDevice("null")); + if (!result) { + wxMessageBox(wxT("Could not open output device"), wxT("wxPlayer")); + } + return result; +} + + +bool wxPlayer::TryDevice(const std::string& name, const std::string& parameters) { + if (audiere::AudioDevicePtr device = audiere::OpenDevice(name.c_str(), parameters.c_str())) { + (new DeviceFrame(device.get()))->Show(true); + return true; + } else { + return false; + } +} + + +void wxPlayer::OnNewDevice(wxWindow* parent) { + NewDeviceDialog dialog(parent); + if (dialog.ShowModal() == wxID_OK) { + bool result = TryDevice( + dialog.getDevice().c_str(), + dialog.getParameters().c_str()); + if (!result) { + wxMessageBox(wxT("Error opening new device"), wxT("New Device"), + wxOK | wxICON_ERROR, parent); + } + } +} + + +void wxPlayer::OnNewCDDevice(wxWindow* parent) { + CDDeviceDialog dialog(parent); + if (dialog.ShowModal() == wxID_OK) { + audiere::CDDevicePtr device = audiere::OpenCDDevice(dialog.getName().c_str()); + if (!device) { + wxMessageBox(wxT("Error opening CD device"), wxT("New CD Device"), + wxOK | wxICON_ERROR, parent); + return; + } + + (new CDDeviceFrame(device))->Show(true); + } +} + + +void wxPlayer::OnNewMIDIDevice(wxWindow* parent) { + MIDIDeviceDialog dialog(parent); + if (dialog.ShowModal() == wxID_OK) { + audiere::MIDIDevicePtr device = audiere::OpenMIDIDevice(dialog.getName().c_str()); + if (!device) { + wxMessageBox(wxT("Error opening MIDI device"), wxT("New MIDI Device"), + wxOK | wxICON_ERROR, parent); + return; + } + + (new MIDIDeviceFrame(device))->Show(true); + } +} + + +void wxPlayer::ShowAboutDialog(wxWindow* parent) { + wxString message = + wxT("wxPlayer\n") + wxT("Copyright (c) Chad Austin 2002-2004\n\n") + wxT("Audiere Version: "); + message += CStr2wxString(audiere::GetVersion()); + wxMessageBox(message, wxT("About wxPlayer"), wxOK | wxCENTRE, parent); +} diff --git a/examples/wxPlayer/wxPlayer.h b/examples/wxPlayer/wxPlayer.h new file mode 100755 index 0000000..f0309cc --- /dev/null +++ b/examples/wxPlayer/wxPlayer.h @@ -0,0 +1,24 @@ +#ifndef ADR_WX_PLAYER_H +#define ADR_WX_PLAYER_H + + +#include <string> +#include "wx.h" + + +class wxPlayer : public wxApp { +public: + bool OnInit(); + bool TryDevice(const std::string& name, const std::string& parameters = ""); + + void OnNewDevice(wxWindow* parent); + void OnNewCDDevice(wxWindow* parent); + void OnNewMIDIDevice(wxWindow* parent); + void ShowAboutDialog(wxWindow* parent); +}; + + +DECLARE_APP(wxPlayer) + + +#endif |