00001
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00033
00034 #ifndef GROOVX_VISX_TCLPKG_SOUND_CC_UTC20050628171009_DEFINED
00035 #define GROOVX_VISX_TCLPKG_SOUND_CC_UTC20050628171009_DEFINED
00036
00037 #include "visx/tclpkg-sound.h"
00038
00039 #include "nub/objfactory.h"
00040
00041 #include "tcl/objpkg.h"
00042 #include "tcl/pkg.h"
00043 #include "tcl/interp.h"
00044
00045 #include "rutz/fstring.h"
00046
00047 #include "visx/sound.h"
00048
00049 #include <exception>
00050
00051 #include "rutz/trace.h"
00052 #include "rutz/debug.h"
00053 GVX_DBG_REGISTER
00054
00055 extern "C"
00056 int Sound_Init(Tcl_Interp* interp)
00057 {
00058 GVX_TRACE("Sound_Init");
00059
00060 tcl::interpreter intp(interp);
00061 GVX_PKG_CREATE(pkg, interp, "Sound", "4.$Revision: 10065 $");
00062
00063 pkg->inherit_pkg("io");
00064 tcl::def_basic_type_cmds<Sound>(pkg, SRC_POS);
00065
00066 nub::obj_factory::instance().register_creator(&Sound::make);
00067
00068 pkg->def_action("play", &Sound::play, SRC_POS);
00069 pkg->def_action("forceLoad", &Sound::forceLoad, SRC_POS);
00070 pkg->def_get_set("file", &Sound::getFile, &Sound::setFile, SRC_POS);
00071
00072 const rutz::fstring ok_file(GROOVX_AUDIO_DIR "/saw50_500Hz_300ms.au");
00073 const rutz::fstring err_file(GROOVX_AUDIO_DIR "/saw50_350Hz_2x120ms.au");
00074
00075 static int OK = -1;
00076 static int ERR = -1;
00077
00078 nub::ref<Sound> ok_sound(Sound::makeFrom(ok_file.c_str()));
00079 Sound::setOkSound(ok_sound);
00080 OK = ok_sound.id();
00081 pkg->link_var_const("Sound::ok", OK);
00082
00083 nub::ref<Sound> err_sound(Sound::makeFrom(err_file.c_str()));
00084 Sound::setErrSound(err_sound);
00085 ERR = err_sound.id();
00086 pkg->link_var_const("Sound::err", ERR);
00087
00088 GVX_PKG_RETURN(pkg);
00089 }
00090
00091 static const char __attribute__((used)) vcid_groovx_visx_tclpkg_sound_cc_utc20050628171009[] = "$Id: tclpkg-sound.cc 10065 2007-04-12 05:54:56Z rjpeters $ $HeadURL: file:
00092 #endif // !GROOVX_VISX_TCLPKG_SOUND_CC_UTC20050628171009_DEFINED