Sha256: e10c68575ae37723cf8a1596d77fd6de8924066f2f251ef9341951bb089f3017

Contents?: true

Size: 1 KB

Versions: 3

Compression:

Stored size: 1 KB

Contents

#include "beeps/ruby/processor.h"


#include <rucy.h>
#include "beeps/exception.h"
#include "defs.h"


using namespace Rucy;


RUCY_DEFINE_VALUE_FROM_TO(Beeps::SawtoothWave)

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

#define CHECK RUCY_CHECK_OBJECT(Beeps::SawtoothWave, self)


static
RUCY_DEF_ALLOC(alloc, klass)
{
	return new_type<Beeps::SawtoothWave>(klass);
}
RUCY_END

static
RUCY_DEF1(set_frequency, frequency)
{
	CHECK;
	THIS->set_frequency(frequency.as_f(true));
	return self;
}
RUCY_END

static
RUCY_DEF0(frequency)
{
	CHECK;
	return to<float>(THIS->frequency());
}
RUCY_END


static Class cSawtoothWave;

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

	cSawtoothWave = mBeeps.define_class("SawtoothWave", Beeps::processor_class());
	cSawtoothWave.define_alloc_func(alloc);
	cSawtoothWave.define_method("frequency=", set_frequency);
	cSawtoothWave.define_method("frequency",      frequency);
}


namespace Beeps
{


	Class
	sawtooth_wave_class ()
	{
		return cSawtoothWave;
	}


}// Beeps

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
beeps-0.1.12 ext/beeps/sawtooth_wave.cpp
beeps-0.1.11 ext/beeps/sawtooth_wave.cpp
beeps-0.1.10 ext/beeps/sawtooth_wave.cpp