Sha256: f10955d2e6696ffe1a2198c747999c6a9602d5befe623c4cb71aed6dece0e822

Contents?: true

Size: 1.6 KB

Versions: 8

Compression:

Stored size: 1.6 KB

Contents

#include "beeps/ruby/generator.h"


#include "beeps/ruby/processor.h"
#include "defs.h"


RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Beeps::Oscillator)

#define THIS  to<Beeps::Oscillator*>(self)

#define CHECK RUCY_CHECK_OBJ(Beeps::Oscillator, self)


static
RUCY_DEF_ALLOC(alloc, klass)
{
	return value(new Beeps::RubyProcessor<Beeps::Oscillator>, klass);
}
RUCY_END

static
RUCY_DEF1(set_type, type)
{
	CHECK;

	THIS->set_type((Beeps::Oscillator::Type) to<uint>(type));
	return type;
}
RUCY_END

static
RUCY_DEF0(get_type)
{
	CHECK;

	return value(THIS->type());
}
RUCY_END

static
RUCY_DEF1(set_frequency, frequency)
{
	CHECK;

	THIS->set_frequency(to<float>(frequency));
	return frequency;
}
RUCY_END

static
RUCY_DEF0(get_frequency)
{
	CHECK;

	return value(THIS->frequency());
}
RUCY_END


static Class cOscillator;

void
Init_beeps_oscillator ()
{
	Module mBeeps = define_module("Beeps");

	cOscillator = mBeeps.define_class("Oscillator", Beeps::processor_class());
	cOscillator.define_alloc_func(alloc);
	cOscillator.define_method("type=", set_type);
	cOscillator.define_method("type",  get_type);
	cOscillator.define_method("frequency=", set_frequency);
	cOscillator.define_method("frequency",  get_frequency);
	cOscillator.define_const("NONE",     Beeps::Oscillator::NONE);
	cOscillator.define_const("SINE",     Beeps::Oscillator::SINE);
	cOscillator.define_const("TRIANGLE", Beeps::Oscillator::TRIANGLE);
	cOscillator.define_const("SQUARE",   Beeps::Oscillator::SQUARE);
	cOscillator.define_const("SAWTOOTH", Beeps::Oscillator::SAWTOOTH);
}


namespace Beeps
{


	Class
	oscillator_class ()
	{
		return cOscillator;
	}


}// Beeps

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
beeps-0.1.40 ext/beeps/oscillator.cpp
beeps-0.1.39 ext/beeps/oscillator.cpp
beeps-0.1.38 ext/beeps/oscillator.cpp
beeps-0.1.37 ext/beeps/oscillator.cpp
beeps-0.1.36 ext/beeps/oscillator.cpp
beeps-0.1.35 ext/beeps/oscillator.cpp
beeps-0.1.34 ext/beeps/oscillator.cpp
beeps-0.1.33 ext/beeps/oscillator.cpp