Changed to single libpd

This commit is contained in:
BERTHAUT Florent 2020-07-17 17:43:52 +02:00
parent cacb0f5f51
commit 24051ef4bb
5 changed files with 20 additions and 15 deletions

View file

@ -4,16 +4,9 @@
script/source = "extends Control script/source = "extends Control
var gdpd = load(\"res://addons/gdpd/bin/gdpd.gdns\") var gdpd = load(\"res://addons/gdpd/bin/gdpd.gdns\")
var patch #var patch
func _ready(): func _ready():
#initialize pd
patch = gdpd.new()
#retrieve
var inps = patch.get_available_input_devices()
var outs = patch.get_available_output_devices()
patch.init_devices(inps[0], outs[0])
#the patch path should be the absolute one #the patch path should be the absolute one
_load_patch(ProjectSettings.globalize_path(\"res://patch1.pd\")) _load_patch(ProjectSettings.globalize_path(\"res://patch1.pd\"))
@ -25,6 +18,15 @@ func _load_patch(pd_patch) :
var patch_name = pd_patch.split(\"/\")[-1] var patch_name = pd_patch.split(\"/\")[-1]
var patch_dir = pd_patch.trim_suffix(patch_name) var patch_dir = pd_patch.trim_suffix(patch_name)
#initialize pd
var patch = gdpd.new()
#retrieve
var inps = patch.get_available_input_devices()
var outs = patch.get_available_output_devices()
patch.init_devices(inps[0], outs[0])
#load patch #load patch
patch.openfile(patch_name, patch_dir) patch.openfile(patch_name, patch_dir)
" "

View file

@ -1,7 +1,7 @@
[general] [general]
singleton=false singleton=false
load_once=true load_once=false
symbol_prefix="godot_" symbol_prefix="godot_"
reloadable=true reloadable=true
@ -13,6 +13,6 @@ OSX.64="res://addons/gdpd/bin/osx/libgdpd.dylib"
[dependencies] [dependencies]
X11.64=[] X11.64=[ ]
Windows.64=[ ] Windows.64=[ ]
OSX.64=[ ] OSX.64=[ ]

View file

@ -156,7 +156,7 @@ int Gdpd::start() {
void Gdpd::stop() { void Gdpd::stop() {
m_audio.stopStream(); m_audio.stopStream();
m_audio.closeStream(); m_audio.closeStream();
m_pd.closePatch(m_patch); m_pd.clear();
m_pd.computeAudio(false); m_pd.computeAudio(false);
print("Stopped"); print("Stopped");
} }
@ -181,13 +181,16 @@ void Gdpd::openfile(godot::String baseStr, godot::String dirStr) {
std::string dirS(dirWs.begin(), dirWs.end()); std::string dirS(dirWs.begin(), dirWs.end());
//libpd_openfile(baseS.c_str(), dirS.c_str()); //libpd_openfile(baseS.c_str(), dirS.c_str());
m_patch = m_pd.openPatch(baseS.c_str(), dirS.c_str()); //m_patch = m_pd.openPatch(baseS.c_str(), dirS.c_str());
m_pd.openPatch(baseS.c_str(), dirS.c_str());
print("Opened patch"); print("Opened patch");
} }
void Gdpd::closefile() { void Gdpd::closefile(godot::String baseStr) {
m_pd.closePatch(m_patch); std::wstring baseWs = baseStr.unicode_str();
std::string baseS(baseWs.begin(), baseWs.end());
m_pd.closePatch(baseS.c_str());
} }
void Gdpd::subscribe(String symbStr) { void Gdpd::subscribe(String symbStr) {

View file

@ -48,7 +48,7 @@ public:
int start(); int start();
void stop(); void stop();
void openfile(String basename, String dirname); void openfile(String basename, String dirname);
void closefile(); void closefile(String basename);
bool has_message(); bool has_message();
Array get_next(); Array get_next();
int blocksize(); int blocksize();

Binary file not shown.