Sha256: 0f19e3ed05350900ed303535bddcf37dcbc90a246cb6fd02e264501157ef6820

Contents?: true

Size: 970 Bytes

Versions: 15

Compression:

Stored size: 970 Bytes

Contents

#include "beeps/ruby/processor.h"


#include "defs.h"


RUCY_DEFINE_VALUE_FROM_TO(Beeps::SquareWave)

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

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


static
VALUE alloc(VALUE klass)
{
	return new_type<Beeps::SquareWave>(klass);
}

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

static
VALUE frequency(VALUE self)
{
	CHECK;
	return to<float>(THIS->frequency());
}


static Class cSquareWave;

void
Init_square_wave ()
{
	Module mBeeps = rb_define_module("Beeps");

	cSquareWave = mBeeps.define_class("SquareWave", Beeps::processor_class());
	rb_define_alloc_func(cSquareWave, alloc);
	rb_define_method(cSquareWave, "frequency=", RUBY_METHOD_FUNC(set_frequency), 1);
	rb_define_method(cSquareWave, "frequency", RUBY_METHOD_FUNC(frequency), 0);
}


namespace Beeps
{


	Class
	square_wave_class ()
	{
		return cSquareWave;
	}


}// Beeps

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
beeps-0.1.29 .doc/ext/beeps/square_wave.cpp
beeps-0.1.28 .doc/ext/beeps/square_wave.cpp
beeps-0.1.27 .doc/ext/beeps/square_wave.cpp
beeps-0.1.26 .doc/ext/beeps/square_wave.cpp
beeps-0.1.25 .doc/ext/beeps/square_wave.cpp
beeps-0.1.24 .doc/ext/beeps/square_wave.cpp
beeps-0.1.23 .doc/ext/beeps/square_wave.cpp
beeps-0.1.22 .doc/ext/beeps/square_wave.cpp
beeps-0.1.21 .doc/ext/beeps/square_wave.cpp
beeps-0.1.20 .doc/ext/beeps/square_wave.cpp
beeps-0.1.18 .doc/ext/beeps/square_wave.cpp
beeps-0.1.16 .doc/ext/beeps/square_wave.cpp
beeps-0.1.15 .doc/ext/beeps/square_wave.cpp
beeps-0.1.14 .doc/ext/beeps/square_wave.cpp
beeps-0.1.13 .doc/ext/beeps/square_wave.cpp