Hi all!
here is a new experimental toy for audio-lovers :
https://github.com/ghoulsblade/love-pd-audio
An audio module for lua / love2d (win.dll/linux.so/mac?) using puredata for interactive audio manipulation/generation.
warning, still experimental. Bugs are likely to creep up as we test the different functionalities. See also github page for list of known issues.
PureData files should make it possible to play midi files using sampled instruments, do realtime audio-generation and modification with configurable effect pipes like reverb etc,
as well as all do advanced audio feedback like modifying music dynamically based on game happenings, and using the current point in the music to customise sound effects to fit in better.
PureData is a tool to combine effects and generators in a visual way, usable by audio artists without any experience in text-based programming. The combinations are saved as *.pd files, which can be played in löve2D using this module. Signals can be sent and received to make the music interactive and/or tweak game elements based on the audio.
Some examples from MarioGalaxy or similar games that should be possible to realise using PureData:
* music speed and mood adapts to the speed of a player balancing/moving on some big round object
* time-limited power-up music becomes faster and more panicked as time runs out
* sound effects (gui:character-select/level-select, ingame jump-on-buttons) are adjusted to fit the currently playing notes in the music
* music instruments are modified when player enters/exits water, also reverb etc..
* bonus level with music being played/advanced as player collects a row of items
* enemy noises adjusted depending on distance to player
* music adjusted based on player hitpoints and current ingame mood/area (fight/peaceful/cave/plains/water/...)
* synching player steps or other game elements to music rythm or midi notes
Binaries for win(.dll) and ubuntu/debian(.so) are up now, see github page above for api and example code and download links.
Some more complex examples for pd files and using them in löve will be added here as we make them.
love-pd-audio module for interactive audio with PureData
- ghoulsblade
- Party member
- Posts: 111
- Joined: Sun Oct 31, 2010 6:11 pm
love-pd-audio module for interactive audio with PureData
Last edited by ghoulsblade on Tue Sep 11, 2012 8:45 pm, edited 1 time in total.
love-android - gamejams
Re: love-pd-audio module for interactive audio with PureData
Do I have to download OpenAL from your github?
lf = love.filesystem
ls = love.sound
la = love.audio
lp = love.physics
lt = love.thread
li = love.image
lg = love.graphics
ls = love.sound
la = love.audio
lp = love.physics
lt = love.thread
li = love.image
lg = love.graphics
- ghoulsblade
- Party member
- Posts: 111
- Joined: Sun Oct 31, 2010 6:11 pm
Re: love-pd-audio module for interactive audio with PureData
the OpenAL32.dll ? no, that's the one from love 0.8 32bit windows binary.
love-android - gamejams
Re: love-pd-audio module for interactive audio with PureData
What's seems to be the problem with getting a dylib? There isn't none inside OSX distro package of puredata. Only a large amont of other audio dylibs.
I tried to compile your sources but I will need first the osx binary right? I got this error
EDITED: makefile is requesting OpenAL but only a AL folder is available. I renamed dir. I got a long list of undefined symbos. Give up, this (C++/compile) is not for me, lol
I tried to compile your sources but I will need first the osx binary right? I got this error
Code: Select all
make -f Makefile
g++ -DHAVE_UNISTD_H -DUSEAPI_DUMMY -I./include -DHAVE_LIBDL -O3 -arch x86_64 -arch i386 -g -c -o lovepdaudio.o lovepdaudio.cpp
lovepdaudio.cpp:104:63: error: OpenAL/alext.h: No such file or directory
lovepdaudio.cpp:104:63: error: OpenAL/alext.h: No such file or directory
lipo: can't figure out the architecture type of: /var/folders/ow/ow26RRQaFhOwBJMxRcKOJE+++TI/-Tmp-//ccQt3bVG.out
make: *** [lovepdaudio.o] Error 1
Code: Select all
make -f Makefile
g++ -DHAVE_UNISTD_H -DUSEAPI_DUMMY -I./include -DHAVE_LIBDL -O3 -arch x86_64 -arch i386 -g -c -o lovepdaudio.o lovepdaudio.cpp
cc -o bin/lovepdaudio.dylib lovepdaudio.o -arch x86_64 -arch i386 -dynamiclib -ldl -lm
Undefined symbols:
"_libpd_getdollarzero", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_getdollarzero(lua_State*) in lovepdaudio.o
"_libpd_aftertouch", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
"operator delete(void*)", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_alGetBufferi", referenced from:
cLuaAudioStream::update() in lovepdaudio.o
"_alGetError", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_alGenBuffers", referenced from:
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
"_lua_pushcclosure", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
"___gxx_personality_v0", referenced from:
cLuaAudioStream::setSource(unsigned int)in lovepdaudio.o
cLuaAudioStream::rewindAtomic() in lovepdaudio.o
cLuaAudioStream::getFormat(int, int) constin lovepdaudio.o
L_helloworld(lua_State*) in lovepdaudio.o
ParamLUData(lua_State*, int) in lovepdaudio.o
ParamInt(lua_State*, int)in lovepdaudio.o
PushLUData(lua_State*, void*)in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
_luaopen_lovepdaudio in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_clear_search_path(lua_State*)in lovepdaudio.o
PushInt(lua_State*, int)in lovepdaudio.o
ParamFloat(lua_State*, int) in lovepdaudio.o
ParamString(lua_State*, int) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_symbol(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_to_search_path(lua_State*) in lovepdaudio.o
GetMyAudio() in lovepdaudio.o
PCallWithErrFuncWrapper(lua_State*, int, int)in lovepdaudio.o
cLuaAudioStream::streamAtomic(unsigned int, cLuaAudioDecoder*)in lovepdaudio.o
cLuaAudioStream::isStopped() const in lovepdaudio.o
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
cLuaAudioStream::resumePlayback() in lovepdaudio.o
cLuaAudioStream::~cLuaAudioStream()in lovepdaudio.o
cLuaAudioStream::~cLuaAudioStream()in lovepdaudio.o
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bind(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_openfile(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_float(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_float(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bang(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_blocksize(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_arraysize(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_message(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_list(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_symbol(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_unbind(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_getdollarzero(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_closefile(lua_State*) in lovepdaudio.o
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
lua_libpd_hook(char const*, char const*, ...)in lovepdaudio.o
callback_libpd_noteonhook(int, int, int)in lovepdaudio.o
callback_libpd_symbolhook(char const*, char const*)in lovepdaudio.o
callback_libpd_floathook(char const*, float)in lovepdaudio.o
callback_libpd_printhook(char const*)in lovepdaudio.o
callback_libpd_banghook(char const*)in lovepdaudio.o
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_start_message(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
L_PureDataPlayer_Update(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
cLuaAudioDecoder::isFinished() in lovepdaudio.o
cLuaAudioDecoder::getBuffer() const in lovepdaudio.o
cLuaAudioDecoder::decode() in lovepdaudio.o
cLuaAudioDecoder::getChannels() in lovepdaudio.o
cLuaAudioDecoder::getBits() in lovepdaudio.o
cLuaAudioDecoder::getSampleRate() in lovepdaudio.o
cLuaAudioDecoder_Dummy::isFinished() in lovepdaudio.o
cLuaAudioDecoder_Dummy::getBuffer() const in lovepdaudio.o
cLuaAudioDecoder_Dummy::decode() in lovepdaudio.o
cLuaAudioDecoder_Dummy::getChannels() in lovepdaudio.o
cLuaAudioDecoder_Dummy::getBits() in lovepdaudio.o
cLuaAudioDecoder_Dummy::getSampleRate() in lovepdaudio.o
cLuaAudioDecoder_LibPD::getBuffer() const in lovepdaudio.o
cLuaAudioDecoder_LibPD::getChannels() in lovepdaudio.o
cLuaAudioDecoder_LibPD::getBits() in lovepdaudio.o
cLuaAudioDecoder_LibPD::getSampleRate() in lovepdaudio.o
cLuaAudioDecoder_LibPD::decode() in lovepdaudio.o
CIE in lovepdaudio.o
"_lua_pushlightuserdata", referenced from:
PushLUData(lua_State*, void*)in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bind(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_openfile(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_add_float", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_float(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_blocksize", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_blocksize(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_bind", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bind(lua_State*) in lovepdaudio.o
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)", referenced from:
ParamString(lua_State*, int) in lovepdaudio.o
"_libpd_printhook", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_printhook(char const*))
"_lua_pcall", referenced from:
PCallWithErrFuncWrapper(lua_State*, int, int)in lovepdaudio.o
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_alDeleteBuffers", referenced from:
cLuaAudioStream::~cLuaAudioStream()in lovepdaudio.o
cLuaAudioStream::~cLuaAudioStream()in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
"_lua_tolstring", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_lua_type", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_lua_touserdata", referenced from:
ParamLUData(lua_State*, int) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_unbind(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_getdollarzero(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_closefile(lua_State*) in lovepdaudio.o
L_PureDataPlayer_Update(lua_State*) in lovepdaudio.o
"_libpd_finish_list", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_list(lua_State*) in lovepdaudio.o
"_libpd_finish_message", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_message(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_pitchbend", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
"_libpd_sysrealtime", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
"_lua_settop", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_libpd_controlchange", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
"operator new[](unsigned long)", referenced from:
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_alSourcePlay", referenced from:
cLuaAudioStream::playAtomic() in lovepdaudio.o
"_alBufferData", referenced from:
cLuaAudioStream::streamAtomic(unsigned int, cLuaAudioDecoder*)in lovepdaudio.o
"_libpd_banghook", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_banghook(char const*))
"_alGetSourcef", referenced from:
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::update() in lovepdaudio.o
"_alGetSourcei", referenced from:
cLuaAudioStream::isStopped() const in lovepdaudio.o
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_PureDataPlayer_Update(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_start_message", referenced from:
L_test02(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_start_message(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_alGenSources", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_libpd_add_to_search_path", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_to_search_path(lua_State*) in lovepdaudio.o
"_libpd_programchange", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
"_lua_pushinteger", referenced from:
PushInt(lua_State*, int)in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_float(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bang(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_blocksize(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_arraysize(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_message(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_list(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_symbol(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_getdollarzero(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_start_message(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
"_alSourceUnqueueBuffers", referenced from:
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
"_luaL_checknumber", referenced from:
ParamFloat(lua_State*, int) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_float(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_float(lua_State*) in lovepdaudio.o
"_alcGetError", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_alcCreateContext", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:
ParamString(lua_State*, int) in lovepdaudio.o
"_libpd_float", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_float(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_floathook(char const*, float))
"_libpd_symbol", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_symbol(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_symbolhook(char const*, char const*))
"_libpd_midibyte", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage", referenced from:
ParamString(lua_State*, int) in lovepdaudio.o
"_luaL_openlib", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_libpd_openfile", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_openfile(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_symbolhook", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_symbolhook(char const*, char const*))
"operator new(unsigned long)", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_process_short", referenced from:
cLuaAudioDecoder_LibPD::decode() in lovepdaudio.o
"_libpd_clear_search_path", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_clear_search_path(lua_State*)in lovepdaudio.o
"_luaL_checkinteger", referenced from:
ParamInt(lua_State*, int)in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_start_message(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_init_audio", referenced from:
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_alcOpenDevice", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_libpd_bang", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bang(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_banghook(char const*))
"_libpd_add_symbol", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_symbol(lua_State*) in lovepdaudio.o
"_lua_getfield", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_luaL_checklstring", referenced from:
ParamString(lua_State*, int) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_init", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
"_alcMakeContextCurrent", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_lua_setfield", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
"_libpd_noteon", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_noteonhook(int, int, int))
"vtable for __cxxabiv1::__class_type_info", referenced from:
typeinfo for cLuaAudioDecoderin lovepdaudio.o
"_libpd_unbind", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_unbind(lua_State*) in lovepdaudio.o
"_alSourcef", referenced from:
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
"_alcGetString", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_alSourcei", referenced from:
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
"vtable for __cxxabiv1::__si_class_type_info", referenced from:
typeinfo for cLuaAudioDecoder_LibPDin lovepdaudio.o
typeinfo for cLuaAudioDecoder_Dummyin lovepdaudio.o
"_alSourceQueueBuffers", referenced from:
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
"_libpd_closefile", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_closefile(lua_State*) in lovepdaudio.o
"_lua_gettop", referenced from:
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_sysex", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
"_lua_pushstring", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_libpd_arraysize", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_arraysize(lua_State*) in lovepdaudio.o
"_libpd_noteonhook", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_noteonhook(int, int, int))
"_alSourceStop", referenced from:
cLuaAudioStream::stopAtomic() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
"_libpd_floathook", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_floathook(char const*, float))
"_libpd_polyaftertouch", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Undefined symbols:
"_libpd_getdollarzero", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_getdollarzero(lua_State*) in lovepdaudio.o
"_libpd_aftertouch", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
"operator delete(void*)", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_alGetBufferi", referenced from:
cLuaAudioStream::update() in lovepdaudio.o
"_alGetError", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_alGenBuffers", referenced from:
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
"_lua_pushcclosure", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
"___gxx_personality_v0", referenced from:
___gxx_personality_v0$non_lazy_ptr in lovepdaudio.o
(maybe you meant: ___gxx_personality_v0$non_lazy_ptr)
"_lua_pushlightuserdata", referenced from:
PushLUData(lua_State*, void*)in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bind(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_openfile(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_add_float", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_float(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_blocksize", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_blocksize(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_bind", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bind(lua_State*) in lovepdaudio.o
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)", referenced from:
ParamString(lua_State*, int) in lovepdaudio.o
"_libpd_printhook", referenced from:
_libpd_printhook$non_lazy_ptr in lovepdaudio.o
(maybe you meant: _libpd_printhook$non_lazy_ptr, callback_libpd_printhook(char const*))
"_lua_pcall", referenced from:
PCallWithErrFuncWrapper(lua_State*, int, int)in lovepdaudio.o
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_alDeleteBuffers", referenced from:
cLuaAudioStream::~cLuaAudioStream()in lovepdaudio.o
cLuaAudioStream::~cLuaAudioStream()in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
"_lua_tolstring", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_lua_type", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_lua_touserdata", referenced from:
ParamLUData(lua_State*, int) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_unbind(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_getdollarzero(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_closefile(lua_State*) in lovepdaudio.o
L_PureDataPlayer_Update(lua_State*) in lovepdaudio.o
"_libpd_finish_list", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_list(lua_State*) in lovepdaudio.o
"_libpd_finish_message", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_message(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_pitchbend", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
"_libpd_sysrealtime", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
"_lua_settop", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_libpd_controlchange", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
"operator new[](unsigned long)", referenced from:
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_alSourcePlay", referenced from:
cLuaAudioStream::playAtomic() in lovepdaudio.o
"_libpd_banghook", referenced from:
_libpd_banghook$non_lazy_ptr in lovepdaudio.o
(maybe you meant: _libpd_banghook$non_lazy_ptr, callback_libpd_banghook(char const*))
"_alBufferData", referenced from:
cLuaAudioStream::streamAtomic(unsigned int, cLuaAudioDecoder*)in lovepdaudio.o
"_alGetSourcef", referenced from:
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::update() in lovepdaudio.o
"_alGetSourcei", referenced from:
cLuaAudioStream::isStopped() const in lovepdaudio.o
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_PureDataPlayer_Update(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_start_message", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_start_message(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_alGenSources", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_libpd_add_to_search_path", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_to_search_path(lua_State*) in lovepdaudio.o
"_libpd_programchange", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
"_lua_pushinteger", referenced from:
PushInt(lua_State*, int)in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_float(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bang(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_blocksize(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_arraysize(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_message(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_finish_list(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_symbol(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_getdollarzero(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_start_message(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
"_alSourceUnqueueBuffers", referenced from:
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
"_luaL_checknumber", referenced from:
ParamFloat(lua_State*, int) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_float(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_float(lua_State*) in lovepdaudio.o
"_alcGetError", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_alcCreateContext", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:
ParamString(lua_State*, int) in lovepdaudio.o
"_libpd_float", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_float(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_floathook(char const*, float), _libpd_floathook$non_lazy_ptr )
"_libpd_symbol", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_symbol(lua_State*) in lovepdaudio.o
(maybe you meant: _libpd_symbolhook$non_lazy_ptr, callback_libpd_symbolhook(char const*, char const*))
"_libpd_midibyte", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage", referenced from:
__ZNSs4_Rep20_S_empty_rep_storageE$non_lazy_ptr in lovepdaudio.o
(maybe you meant: __ZNSs4_Rep20_S_empty_rep_storageE$non_lazy_ptr)
"_luaL_openlib", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_libpd_openfile", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_openfile(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_symbolhook", referenced from:
_libpd_symbolhook$non_lazy_ptr in lovepdaudio.o
(maybe you meant: _libpd_symbolhook$non_lazy_ptr, callback_libpd_symbolhook(char const*, char const*))
"operator new(unsigned long)", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
cLuaAudioStream::cLuaAudioStream(cLuaAudioDecoder*, int)in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_process_short", referenced from:
cLuaAudioDecoder_LibPD::decode() in lovepdaudio.o
"_libpd_clear_search_path", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_clear_search_path(lua_State*)in lovepdaudio.o
"_luaL_checkinteger", referenced from:
ParamInt(lua_State*, int)in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_start_message(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_controlchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysrealtime(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_midibyte(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_aftertouch(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_pitchbend(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_programchange(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_init_audio", referenced from:
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_alcOpenDevice", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_libpd_bang", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_bang(lua_State*) in lovepdaudio.o
(maybe you meant: _libpd_banghook$non_lazy_ptr, callback_libpd_banghook(char const*))
"_libpd_add_symbol", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_add_symbol(lua_State*) in lovepdaudio.o
"_lua_getfield", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_luaL_checklstring", referenced from:
ParamString(lua_State*, int) in lovepdaudio.o
L_test02(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_init", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
"_alcMakeContextCurrent", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_lua_setfield", referenced from:
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
RegisterLibPD(lua_State*) in lovepdaudio.o
"_libpd_noteon", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_noteon(lua_State*) in lovepdaudio.o
(maybe you meant: callback_libpd_noteonhook(int, int, int), _libpd_noteonhook$non_lazy_ptr )
"vtable for __cxxabiv1::__class_type_info", referenced from:
typeinfo for cLuaAudioDecoderin lovepdaudio.o
"_libpd_unbind", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_unbind(lua_State*) in lovepdaudio.o
"_alSourcef", referenced from:
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
"_alcGetString", referenced from:
_luaopen_lovepdaudio in lovepdaudio.o
"_alSourcei", referenced from:
cLuaAudioStream::playAtomic() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
"vtable for __cxxabiv1::__si_class_type_info", referenced from:
typeinfo for cLuaAudioDecoder_LibPDin lovepdaudio.o
typeinfo for cLuaAudioDecoder_Dummyin lovepdaudio.o
"_alSourceQueueBuffers", referenced from:
cLuaAudioStream::update() in lovepdaudio.o
cLuaAudioStream::playAtomic() in lovepdaudio.o
"_libpd_closefile", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_closefile(lua_State*) in lovepdaudio.o
"_lua_gettop", referenced from:
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
L_CreatePureDataPlayer(lua_State*) in lovepdaudio.o
"_libpd_sysex", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_sysex(lua_State*) in lovepdaudio.o
"_lua_pushstring", referenced from:
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
LuaPCall_StrStr(lua_State*, char const*, char const*, char const*)in lovepdaudio.o
"_libpd_arraysize", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_arraysize(lua_State*) in lovepdaudio.o
"_libpd_noteonhook", referenced from:
_libpd_noteonhook$non_lazy_ptr in lovepdaudio.o
(maybe you meant: callback_libpd_noteonhook(int, int, int), _libpd_noteonhook$non_lazy_ptr )
"_alSourceStop", referenced from:
cLuaAudioStream::stopAtomic() in lovepdaudio.o
cLuaAudioStream::stopAtomic() in lovepdaudio.o
"_libpd_floathook", referenced from:
_libpd_floathook$non_lazy_ptr in lovepdaudio.o
(maybe you meant: callback_libpd_floathook(char const*, float), _libpd_floathook$non_lazy_ptr )
"_libpd_polyaftertouch", referenced from:
RegisterLibPD(lua_State*)::cTempClass::LUABIND_libpd_polyaftertouch(lua_State*) in lovepdaudio.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/ow/ow26RRQaFhOwBJMxRcKOJE+++TI/-Tmp-//cczLsaXN.out (No such file or directory)
make: *** [bin/lovepdaudio.dylib] Error 1
- ghoulsblade
- Party member
- Posts: 111
- Joined: Sun Oct 31, 2010 6:11 pm
Re: love-pd-audio module for interactive audio with PureData
i didn't get to test the mac part yet, i added -llua -lopenal -lpd to the makefile part for mac, and a note in the readme :
* see https://love2d.org/sdk/love-osx-frameworks.zip for required mac libs (openal missing?), you'll also need to compile https://github.com/libpd/libpd
* see https://love2d.org/sdk/love-osx-frameworks.zip for required mac libs (openal missing?), you'll also need to compile https://github.com/libpd/libpd
love-android - gamejams
Re: love-pd-audio module for interactive audio with PureData
Ah interesting. OSX frameworks were silently updated. Some months ago was missing two of them. I complained about that once (viewtopic.php?f=4&t=9139)But I had already love osx frameworks installed. OpenAL library framework could be get here if is the right one. (well installed for me a openal.framework).ghoulsblade wrote:i didn't get to test the mac part yet, i added -llua -lopenal -lpd to the makefile part for mac, and a note in the readme :
* see https://love2d.org/sdk/love-osx-frameworks.zip for required mac libs (openal missing?), you'll also need to compile https://github.com/libpd/libpd
http://connect.creativelabs.com/openal/ ... Items.aspx
http://connect.creativelabs.com/openal/ ... er_OSX.dmg
About libpd I didn't found a ready framework installer. And I will need to check this better later because it requires Jack that I think I uninstalled because something I didn't like. Well If I didn't succeed it's ok. I was only to see your project working. Thanks for the help ghoulsblade.
EDITED: I compiled a dylib for libpd. It's that useful for you or anyone?
- ghoulsblade
- Party member
- Posts: 111
- Joined: Sun Oct 31, 2010 6:11 pm
Re: love-pd-audio module for interactive audio with PureData
weekend jam test of love-pd-audio successfully completed,
5 tracks of different instruments being mixed randomly,
sound effects for shots, explosions and powerups are adjusted to fit the current notes of the music,
activating shield by rightclick causes an underwater-like effect on all audio.
Download (windows exe,76mb) : http://ghoulsblade.schattenkind.net/muc ... X-v0.5.zip
MiniLudumDare entry : http://www.ludumdare.com/compo/minild-3 ... &uid=13111
MiniGameJam wiki page : http://gamedevmuc.de/wiki/index.php/PureDataJam
5 tracks of different instruments being mixed randomly,
sound effects for shots, explosions and powerups are adjusted to fit the current notes of the music,
activating shield by rightclick causes an underwater-like effect on all audio.
Download (windows exe,76mb) : http://ghoulsblade.schattenkind.net/muc ... X-v0.5.zip
MiniLudumDare entry : http://www.ludumdare.com/compo/minild-3 ... &uid=13111
MiniGameJam wiki page : http://gamedevmuc.de/wiki/index.php/PureDataJam
love-android - gamejams
Re: love-pd-audio module for interactive audio with PureData
I see great possibilities for interactive audio applications!
But the most interesting part for game development should be the possibility to implement custom audio filters since the standard love.audio module does not support this. Maybe you want to consider setting up a little tutorial for adding a little filter to a playing source
But the most interesting part for game development should be the possibility to implement custom audio filters since the standard love.audio module does not support this. Maybe you want to consider setting up a little tutorial for adding a little filter to a playing source
- ghoulsblade
- Party member
- Posts: 111
- Joined: Sun Oct 31, 2010 6:11 pm
Re: love-pd-audio module for interactive audio with PureData
Hmm, it's not currently possible to filter löve-audio output.
But good idea, i'll have to look into it, maybe i can make it possible without overly dirty hacks that would make it version dependent.
So far if you want to apply audio-filters to some audio, the audio has to be added to the pd part.
A little background on the why and how :
The löve audio api doesn't allow streaming realtime generated audio data.
The löve audio api is designed for pre-generated audio, and that would be far too much delay for "interactive".
I cannot really extend the existing audio system in the löve.exe from a lua module i think.
Except for a dirty hack replacing it entirely, but that would suck for future löve versions.
Currently the module has it's own independent audio system, also using openal and based on the löve sourcecode, but not connecting to audio system of the running löve.
Maybe i could make a Stream class that inherits from the löve one if i use the löve headers,
but potential problems include delay being too large (löve is designed for pre-generated audio) and the löve.exe not exporting the symbols.
One weird idea would be using the löve audio-output as audio-input for pure-data, that would allow processing before being output on the speakers, but i can't think of a way to do that at the moment.
But good idea, i'll have to look into it, maybe i can make it possible without overly dirty hacks that would make it version dependent.
So far if you want to apply audio-filters to some audio, the audio has to be added to the pd part.
A little background on the why and how :
The löve audio api doesn't allow streaming realtime generated audio data.
The löve audio api is designed for pre-generated audio, and that would be far too much delay for "interactive".
I cannot really extend the existing audio system in the löve.exe from a lua module i think.
Except for a dirty hack replacing it entirely, but that would suck for future löve versions.
Currently the module has it's own independent audio system, also using openal and based on the löve sourcecode, but not connecting to audio system of the running löve.
Maybe i could make a Stream class that inherits from the löve one if i use the löve headers,
but potential problems include delay being too large (löve is designed for pre-generated audio) and the löve.exe not exporting the symbols.
One weird idea would be using the löve audio-output as audio-input for pure-data, that would allow processing before being output on the speakers, but i can't think of a way to do that at the moment.
love-android - gamejams
Re: love-pd-audio module for interactive audio with PureData
I see the problem.. Well, I will definitly watch for future developments of your project Maybe the maintainers get inspired and add a few basic built-in effects (reverb, frequency pass).
Who is online
Users browsing this forum: No registered users and 1 guest