zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit cbc1092e05786a20ba296ef87441c6fc9520064a
parent 8157b0723235226ee21250edc57daeec8b3eedb3
Author: fundamental <mark.d.mccurry@gmail.com>
Date:   Tue, 15 Dec 2009 15:17:25 -0500

Nio: Added callbacks for enabling/disabling output

Diffstat:
Msrc/Nio/AudioOut.cpp | 2+-
Msrc/Nio/OutMgr.cpp | 2+-
Msrc/UI/NioUI.cpp | 20++++++++++++++++++++
Msrc/UI/NioUI.h | 2+-
4 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/Nio/AudioOut.cpp b/src/Nio/AudioOut.cpp @@ -62,7 +62,7 @@ const Stereo<Sample> AudioOut::getNext() outBuf.pop(); if(outBuf.size()+manager->getRunning()<4) manager->requestSamples(); - if(true) + if(false) cout << "AudioOut "<< outBuf.size()<< '+' << manager->getRunning() << endl; pthread_mutex_unlock(&outBuf_mutex); } diff --git a/src/Nio/OutMgr.cpp b/src/Nio/OutMgr.cpp @@ -79,7 +79,7 @@ void *OutMgr::outputThread() --numRequests; pthread_mutex_lock(&mutex); - if(true) { + if(false) { cout << "Status: "; cout << managedOuts.size() << "-"; cout << unmanagedOuts.size(); diff --git a/src/UI/NioUI.cpp b/src/UI/NioUI.cpp @@ -1,4 +1,7 @@ #include "NioUI.h" +#include "../Nio/OutMgr.h" +#include "../Nio/AudioOut.h" +#include <cstdio> Pack::Pack(int x, int y, int w, int h) :Fl_Pack(x,y,w,h), @@ -9,6 +12,23 @@ Pack::Pack(int x, int y, int w, int h) b1.selection_color(fl_rgb_color(0,255,0)); b2.selection_color(fl_rgb_color(0,255,0)); b3.selection_color(fl_rgb_color(0,255,0)); + b1.callback(nioToggle, (void *)"NULL"); + b2.callback(nioToggle, (void *)"ALSA"); + b3.callback(nioToggle, (void *)"OSS"); +} + +void Pack::nioToggle(Fl_Widget *w, void *name) +{ + bool val = static_cast<Fl_Button *>(w)->value(); + printf("test=%s %s\n",(const char *)name, (val?"enabling":"disableing")); + w->active(); + AudioOut *out = sysOut->getOut((const char *) name); + if(!out) + return; + if(val) + out->Start(); + else + out->Stop(); } NioUI::NioUI() diff --git a/src/UI/NioUI.h b/src/UI/NioUI.h @@ -13,7 +13,7 @@ class Pack : public Fl_Pack Pack(int x, int y, int w, int h); private: Fl_Light_Button b1,b2,b3; - static void nioTogglei(Fl_Widget *wid, void *name); + static void nioToggle(Fl_Widget *w, void *name); }; class NioUI : public Fl_Window