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:
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