class MyMenuPlugin : MenuPlugin
{
	public:
		MyMenuPlugin();

		GetID();
		GetName();
		GetHelp();
		Execute(doc);
}

MyMenuPlugin::MyMenuPlugin()
{
	super();
}

MyMenuPlugin::GetID()
{
	// be sure to use a unique ID obtained from www.plugincafe.com
	return 900143;
	// be sure to use a unique ID obtained from www.plugincafe.com
}

MyMenuPlugin::GetHelp()
{
	return "Generates a 440Hz Sound file";
}

MyMenuPlugin::GetName()
{
	return "Generate 440Hz Sound";
}


MyMenuPlugin::Execute(doc)
{
	var KHZ = 44100.0;
	var fn = new(Filename);	if (!fn) return FALSE;
	var bs = new(BaseSound); if (!bs) return FALSE;
	var i,samples = KHZ*4;

	SetMousePointer(MOUSE_BUSY);
	if (!bs->Init(samples,2,FALSE,TRUE)) return FALSE;

	var l_arr = bs->GetSamples(0); if (!l_arr) return FALSE;

	for (i=0; i<samples; i++)
	{
		l_arr[i] = 32768.0*sin(400.0*float(i)/KHZ*PI);
	}

	bs->SetSamples(0,l_arr);

	SetMousePointer(MOUSE_NORMAL);
	if (!fn->FileSelect("Save Sound",TRUE)) return FALSE;

	bs->Save(fn);
}



main()
{
	Register(MyMenuPlugin);
}
