Sha256: d5be3a09ecb87ab4177b2fb9aa286dd77cb9689f8459571f79901efc212cbd39
Contents?: true
Size: 1.32 KB
Versions: 3
Compression:
Stored size: 1.32 KB
Contents
#include "beeps/signals.h" #include <boost/scoped_ptr.hpp> #include "Stk.h" #include "beeps/beeps.h" #include "beeps/exception.h" namespace Beeps { struct Signals::Data { boost::scoped_ptr<stk::StkFrames> frames; };// Signals::Data Signals::Signals (float seconds, uint channels) { if (seconds <= 0 || channels <= 0) return; self->frames.reset(new stk::StkFrames(seconds * sampling_rate(), channels)); } Signals::~Signals () { } Signals Signals::copy () const { Signals t; if (self->frames) t.self->frames.reset(new stk::StkFrames(*self->frames)); return t; } float Signals::seconds () const { double sec = samples() / (double) sampling_rate(); return (float) sec; } uint Signals::samples () const { Data* p = self.get(); return p ? p->frames->frames() : 0; } uint Signals::channels () const { Data* p = self.get(); return p ? p->frames->channels() : 0; } stk::StkFrames* Signals::frames () { Data* p = self.get(); return p ? p->frames.get() : NULL; } const stk::StkFrames* Signals::frames () const { return const_cast<Signals*>(this)->frames(); } Signals::operator bool () const { const stk::StkFrames* f = frames(); return f && f->frames() > 0 && f->channels() > 0; } bool Signals::operator ! () const { return !operator bool(); } }// Beeps
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
beeps-0.1.12 | src/signals.cpp |
beeps-0.1.11 | src/signals.cpp |
beeps-0.1.10 | src/signals.cpp |