Sha256: 0cc4b880c7bf4d29c285f9800682b6843e142fa2d69ca6e55015c3b0a4189ffb

Contents?: true

Size: 903 Bytes

Versions: 15

Compression:

Stored size: 903 Bytes

Contents

#include "beeps/ruby/processor.h"


#include "defs.h"


RUCY_DEFINE_VALUE_FROM_TO(Beeps::SineWave)

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

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


static
RUCY_DEF_ALLOC(alloc, klass)
{
	return new_type<Beeps::SineWave>(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 cSineWave;

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

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


namespace Beeps
{


	Class
	sine_wave_class ()
	{
		return cSineWave;
	}


}// Beeps

Version data entries

15 entries across 15 versions & 1 rubygems

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