basic audio generation
This commit is contained in:
parent
45932442a4
commit
87db64f5f9
@ -48,6 +48,18 @@
|
||||
#undef __class__
|
||||
#define __class__ "MainWindows"
|
||||
|
||||
static const char* const l_applEventPlay = "appl-play";
|
||||
static const char* const l_applEventBlit = "appl-Blit";
|
||||
static const char* const l_applEventJump = "appl-Jump";
|
||||
static const char* const l_applEventHit = "appl-Hit";
|
||||
static const char* const l_applEventPowerUp = "appl-PowerUp";
|
||||
static const char* const l_applEventExplosion = "appl-Explosion";
|
||||
static const char* const l_applEventLaser = "appl-Laser";
|
||||
static const char* const l_applEventPick = "appl-Pick";
|
||||
static const char* const l_applEventRandom = "appl-Random";
|
||||
static const char* const l_applEventMutant = "appl-Mutant";
|
||||
|
||||
|
||||
MainWindows::MainWindows(void)
|
||||
{
|
||||
APPL_DEBUG("CREATE WINDOWS ... ");
|
||||
@ -69,25 +81,42 @@ MainWindows::MainWindows(void)
|
||||
|
||||
mySizerVert2 = new ewol::SizerVert();
|
||||
mySizerHori->SubWidgetAdd(mySizerVert2);
|
||||
myButton = new ewol::Button("Play");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventPlay);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendY(true);
|
||||
mySizerVert2->SubWidgetAdd(mySpacer);
|
||||
|
||||
myButton = new ewol::Button("BLIP/SELECT");
|
||||
myButton = new ewol::Button("Blip/Select");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventBlit);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
myButton = new ewol::Button("JUMP");
|
||||
myButton = new ewol::Button("Jump");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventJump);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
myButton = new ewol::Button("HIT/HURT");
|
||||
myButton = new ewol::Button("Hit/Hurt");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventHit);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
myButton = new ewol::Button("POWER UP");
|
||||
myButton = new ewol::Button("Power up");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventPowerUp);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
myButton = new ewol::Button("EXPLOSION");
|
||||
myButton = new ewol::Button("Explosion");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventExplosion);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
myButton = new ewol::Button("LASER/SHOOT");
|
||||
myButton = new ewol::Button("Laser/Shoot");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventLaser);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
myButton = new ewol::Button("PICKUP/COIN");
|
||||
myButton = new ewol::Button("Pick up/Coin");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventPick);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
|
||||
myButton = new ewol::Button("Random");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventRandom);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
myButton = new ewol::Button("Mutant");
|
||||
myButton->RegisterOnEvent(this, ewolEventButtonPressed, l_applEventMutant);
|
||||
mySizerVert2->SubWidgetAdd(myButton);
|
||||
|
||||
mySizerVert2 = new ewol::SizerVert();
|
||||
mySizerHori->SubWidgetAdd(mySizerVert2);
|
||||
@ -98,37 +127,67 @@ MainWindows::MainWindows(void)
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("HP FILTER CUTOFF SWEEP");
|
||||
myLabel = new ewol::Label("HP filter cutoff sweep");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("HP FILTER CUTOFF");
|
||||
myLabel = new ewol::Label("HP filter cutoff");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("LP FILTER RESONANCE");
|
||||
myLabel = new ewol::Label("LP filter resonance");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("LP FILTER CUTOFF SWEEP");
|
||||
myLabel = new ewol::Label("LP filter cutoff sweep");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("LP FILTER CUTOFF");
|
||||
myLabel = new ewol::Label("LP filter cutoff");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySpacer = new ewol::Spacer();
|
||||
@ -137,16 +196,28 @@ MainWindows::MainWindows(void)
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("PHASER SWEEP");
|
||||
myLabel = new ewol::Label("Phaser sweep");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("PHASER OFFSET");
|
||||
myLabel = new ewol::Label("Phaser offset");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
|
||||
@ -156,9 +227,15 @@ MainWindows::MainWindows(void)
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("REPEAT SPEED");
|
||||
myLabel = new ewol::Label("Repeat speed");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
|
||||
@ -168,16 +245,28 @@ MainWindows::MainWindows(void)
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("DUTY SWEEP");
|
||||
myLabel = new ewol::Label("Duty sweep");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("SQUARE DUTY");
|
||||
myLabel = new ewol::Label("Square duty");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySpacer = new ewol::Spacer();
|
||||
@ -186,16 +275,28 @@ MainWindows::MainWindows(void)
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("CHANGE SPEED");
|
||||
myLabel = new ewol::Label("Change speed");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("CHANGE AMOUNT");
|
||||
myLabel = new ewol::Label("Change amount");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
|
||||
@ -206,44 +307,80 @@ MainWindows::MainWindows(void)
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("VIBRATO SPEED");
|
||||
myLabel = new ewol::Label("Vibrato speed");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("VIBRATO DEPTH");
|
||||
myLabel = new ewol::Label("Vibrato depth");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("DELTA SLIDE");
|
||||
myLabel = new ewol::Label("Delta slide");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("SLIDE");
|
||||
myLabel = new ewol::Label("Slide");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("MIN FREQUENCY");
|
||||
myLabel = new ewol::Label("Min frequency");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("START FREQUENCY");
|
||||
myLabel = new ewol::Label("Start frequency");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySpacer = new ewol::Spacer();
|
||||
@ -252,30 +389,54 @@ MainWindows::MainWindows(void)
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("DECAY TIME");
|
||||
myLabel = new ewol::Label("Decay time");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("SUSTAIN PUNCH");
|
||||
myLabel = new ewol::Label("Sustain punch");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("SUSTAIN TIME");
|
||||
myLabel = new ewol::Label("Sustain time");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori2 = new ewol::SizerHori();
|
||||
mySizerVert2->SubWidgetAdd(mySizerHori2);
|
||||
myLabel = new ewol::Label("ATTACK TIME");
|
||||
myLabel = new ewol::Label("Attack time");
|
||||
mySizerHori2->SubWidgetAdd(myLabel);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->SetExpendX(true);
|
||||
mySizerHori2->SubWidgetAdd(mySpacer);
|
||||
mySlider = new ewol::Slider();
|
||||
mySlider->SetMinSize(300);
|
||||
mySlider->SetMin(0);
|
||||
mySlider->SetMax(100);
|
||||
mySizerHori2->SubWidgetAdd(mySlider);
|
||||
|
||||
mySizerHori = new ewol::SizerHori();
|
||||
@ -293,11 +454,6 @@ MainWindows::MainWindows(void)
|
||||
(void)myMenu->Add(idMenuFile, "Save", "icon/Save.svg", ednMsgGuiSave, "current");
|
||||
(void)myMenu->Add(idMenuFile, "Save As ...", "", ednMsgGuiSaveAs);
|
||||
*/
|
||||
|
||||
m_widgetLabelFileName = new ewol::Label("FileName");
|
||||
m_widgetLabelFileName->SetExpendX(true);
|
||||
m_widgetLabelFileName->SetFillY(true);
|
||||
mySizerHori->SubWidgetAdd(m_widgetLabelFileName);
|
||||
|
||||
// Generic event ...
|
||||
//RegisterMultiCast(ednMsgGuiSaveAs);
|
||||
@ -324,7 +480,27 @@ const char *const ednEventPopUpFileSaveAs = "edn-mainWindows-saveAsSelected";
|
||||
void MainWindows::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data)
|
||||
{
|
||||
ewol::Windows::OnReceiveMessage(CallerObject, eventId, data);
|
||||
|
||||
if (eventId == l_applEventPlay) {
|
||||
generator::PlaySample();
|
||||
} else if (eventId == l_applEventBlit) {
|
||||
generator::GenerateBasicBlipSelect();
|
||||
} else if (eventId == l_applEventJump) {
|
||||
generator::GenerateBasicJump();
|
||||
} else if (eventId == l_applEventHit) {
|
||||
generator::GenerateBasicHitHurt();
|
||||
} else if (eventId == l_applEventPowerUp) {
|
||||
generator::GenerateBasicPowerUp();
|
||||
} else if (eventId == l_applEventExplosion) {
|
||||
generator::GenerateBasicExplosion();
|
||||
} else if (eventId == l_applEventLaser) {
|
||||
generator::GenerateBasicLaserShoot();
|
||||
} else if (eventId == l_applEventPick) {
|
||||
generator::GenerateBasicPickUpCoin();
|
||||
} else if (eventId == l_applEventRandom) {
|
||||
generator::GenerateBasicRandom();
|
||||
} else if (eventId == l_applEventMutant) {
|
||||
generator::GenerateBasicMutate();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,6 @@ class MainWindows : public ewol::Windows
|
||||
{
|
||||
private:
|
||||
int32_t m_currentSavingAsIdBuffer;
|
||||
ewol::Label* m_widgetLabelFileName;
|
||||
public:
|
||||
// Constructeur
|
||||
MainWindows(void);
|
||||
|
@ -343,7 +343,7 @@ void ResetSample(bool restart)
|
||||
}
|
||||
}
|
||||
|
||||
void PlaySample()
|
||||
void generator::PlaySample(void)
|
||||
{
|
||||
ResetSample(false);
|
||||
playing_sample=true;
|
||||
@ -534,24 +534,24 @@ void SynthSample(int length, float* buffer, FILE* file)
|
||||
|
||||
|
||||
//lets use SDL in stead
|
||||
static void SDLAudioCallback(int16_t *stream, int32_t len)
|
||||
void generator::GenerateAudio(int16_t * bufferInterlace, int32_t nbSample, int32_t nbChannels)
|
||||
{
|
||||
if (playing_sample) {
|
||||
float fbuf[len];
|
||||
memset(fbuf, 0, sizeof(int32_t));
|
||||
SynthSample(len, fbuf, NULL);
|
||||
while (len--) {
|
||||
float f = fbuf[len];
|
||||
float fbuf[nbSample];
|
||||
memset(fbuf, 0, sizeof(float));
|
||||
SynthSample(nbSample, fbuf, NULL);
|
||||
while (nbSample--) {
|
||||
float f = fbuf[nbSample];
|
||||
if (f < -1.0) {
|
||||
f = -1.0;
|
||||
}
|
||||
if (f > 1.0) {
|
||||
f = 1.0;
|
||||
}
|
||||
stream[len] = (int16_t)(f * 32767);
|
||||
for (int32_t iii=0; iii<nbChannels; iii++) {
|
||||
bufferInterlace[nbSample*nbChannels+iii] = (int16_t)(f * 32767);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
memset(stream, 0, len*sizeof(int16_t));
|
||||
}
|
||||
}
|
||||
|
||||
@ -594,7 +594,7 @@ bool ExportWAV(char* filename)
|
||||
file_sampleswritten=0;
|
||||
filesample=0.0f;
|
||||
fileacc=0;
|
||||
PlaySample();
|
||||
generator::PlaySample();
|
||||
while(playing_sample) {
|
||||
SynthSample(256, NULL, foutput);
|
||||
}
|
||||
@ -615,7 +615,7 @@ bool ExportWAV(char* filename)
|
||||
|
||||
|
||||
// pickup/coin
|
||||
void GenerateBasicPickUpCoin(void)
|
||||
void generator::GenerateBasicPickUpCoin(void)
|
||||
{
|
||||
ResetParams();
|
||||
p_base_freq=0.4f+frnd(0.5f);
|
||||
@ -631,7 +631,7 @@ void GenerateBasicPickUpCoin(void)
|
||||
}
|
||||
|
||||
|
||||
void GenerateBasicLaserShoot(void)
|
||||
void generator::GenerateBasicLaserShoot(void)
|
||||
{
|
||||
ResetParams();
|
||||
wave_type=rnd(2);
|
||||
@ -673,7 +673,7 @@ void GenerateBasicLaserShoot(void)
|
||||
}
|
||||
|
||||
|
||||
void GenerateBasicExplosion(void)
|
||||
void generator::GenerateBasicExplosion(void)
|
||||
{
|
||||
ResetParams();
|
||||
wave_type=3;
|
||||
@ -711,7 +711,7 @@ void GenerateBasicExplosion(void)
|
||||
}
|
||||
|
||||
|
||||
void GenerateBasicPowerUp(void)
|
||||
void generator::GenerateBasicPowerUp(void)
|
||||
{
|
||||
ResetParams();
|
||||
if(rnd(1)) {
|
||||
@ -738,7 +738,7 @@ void GenerateBasicPowerUp(void)
|
||||
}
|
||||
|
||||
|
||||
void GenerateBasicHitHurt(void)
|
||||
void generator::GenerateBasicHitHurt(void)
|
||||
{
|
||||
ResetParams();
|
||||
wave_type=rnd(2);
|
||||
@ -760,7 +760,7 @@ void GenerateBasicHitHurt(void)
|
||||
}
|
||||
|
||||
|
||||
void GenerateBasicJump(void)
|
||||
void generator::GenerateBasicJump(void)
|
||||
{
|
||||
ResetParams();
|
||||
wave_type=0;
|
||||
@ -780,7 +780,7 @@ void GenerateBasicJump(void)
|
||||
}
|
||||
|
||||
|
||||
void GenerateBasicBlipSelect(void)
|
||||
void generator::GenerateBasicBlipSelect(void)
|
||||
{
|
||||
ResetParams();
|
||||
wave_type=rnd(1);
|
||||
@ -795,7 +795,7 @@ void GenerateBasicBlipSelect(void)
|
||||
PlaySample();
|
||||
}
|
||||
|
||||
void GenerateBasicRandom(void)
|
||||
void generator::GenerateBasicRandom(void)
|
||||
{
|
||||
p_base_freq=pow(frnd(2.0f)-1.0f, 2.0f);
|
||||
if(rnd(1)) {
|
||||
@ -840,7 +840,7 @@ void GenerateBasicRandom(void)
|
||||
}
|
||||
|
||||
|
||||
void GenerateBasicMutate(void)
|
||||
void generator::GenerateBasicMutate(void)
|
||||
{
|
||||
if(rnd(1)) p_base_freq+=frnd(0.1f)-0.05f;
|
||||
// if(rnd(1)) p_freq_limit+=frnd(0.1f)-0.05f;
|
||||
@ -867,4 +867,313 @@ void GenerateBasicMutate(void)
|
||||
if(rnd(1)) p_arp_mod+=frnd(0.1f)-0.05f;
|
||||
|
||||
PlaySample();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void generator::SetWaveType(int32_t newVal)
|
||||
{
|
||||
wave_type = newVal;
|
||||
}
|
||||
|
||||
int32_t generator::GetWaveType(void)
|
||||
{
|
||||
return wave_type;
|
||||
}
|
||||
|
||||
void generator::SetBaseFreq(float newVal)
|
||||
{
|
||||
p_base_freq = newVal;
|
||||
}
|
||||
|
||||
float generator::GetBaseFreq(void)
|
||||
{
|
||||
return p_base_freq;
|
||||
}
|
||||
|
||||
void generator::SetFreqLimit(float newVal)
|
||||
{
|
||||
p_freq_limit = newVal;
|
||||
}
|
||||
|
||||
float generator::GetFreqLimit(void)
|
||||
{
|
||||
return p_freq_limit;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetFreqRamp(float newVal)
|
||||
{
|
||||
p_freq_ramp = newVal;
|
||||
}
|
||||
|
||||
float generator::GetFreqRamp(void)
|
||||
{
|
||||
return p_freq_ramp;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetFreqDRamp(float newVal)
|
||||
{
|
||||
p_freq_dramp = newVal;
|
||||
}
|
||||
|
||||
float generator::GetFreqDRamp(void)
|
||||
{
|
||||
return p_freq_dramp;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetDuty(float newVal)
|
||||
{
|
||||
p_duty = newVal;
|
||||
}
|
||||
|
||||
float generator::GetDuty(void)
|
||||
{
|
||||
return p_duty;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetDutyRamp(float newVal)
|
||||
{
|
||||
p_duty_ramp = newVal;
|
||||
}
|
||||
|
||||
float generator::GetDutyRamp(void)
|
||||
{
|
||||
return p_duty_ramp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void generator::SetVibStrength(float newVal)
|
||||
{
|
||||
p_vib_strength = newVal;
|
||||
}
|
||||
|
||||
float generator::GetVibStrength(void)
|
||||
{
|
||||
return p_vib_strength;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetVibSpeed(float newVal)
|
||||
{
|
||||
p_vib_speed = newVal;
|
||||
}
|
||||
|
||||
float generator::GetVibSpeed(void)
|
||||
{
|
||||
return p_vib_speed;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetVibDelay(float newVal)
|
||||
{
|
||||
p_vib_delay = newVal;
|
||||
}
|
||||
|
||||
float generator::GetVibDelay(void)
|
||||
{
|
||||
return p_vib_delay;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void generator::SetEnvAttack(float newVal)
|
||||
{
|
||||
p_env_attack = newVal;
|
||||
}
|
||||
|
||||
float generator::GetEnvAttack(void)
|
||||
{
|
||||
return p_env_attack;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetEnvSustain(float newVal)
|
||||
{
|
||||
p_env_sustain = newVal;
|
||||
}
|
||||
|
||||
float generator::GetEnvSustain(void)
|
||||
{
|
||||
return p_env_sustain;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetEnvDecay(float newVal)
|
||||
{
|
||||
p_env_decay = newVal;
|
||||
}
|
||||
|
||||
float generator::GetEnvDecay(void)
|
||||
{
|
||||
return p_env_decay;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetEnvPunch(float newVal)
|
||||
{
|
||||
p_env_punch = newVal;
|
||||
}
|
||||
|
||||
float generator::GetEnvPunch(void)
|
||||
{
|
||||
return p_env_punch;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void generator::SetFilterOn(bool newVal)
|
||||
{
|
||||
filter_on = newVal;
|
||||
}
|
||||
|
||||
bool generator::GetFilterOn(void)
|
||||
{
|
||||
return filter_on;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetLPFResonance(float newVal)
|
||||
{
|
||||
p_lpf_resonance = newVal;
|
||||
}
|
||||
|
||||
float generator::GetLPFResonance(void)
|
||||
{
|
||||
return p_lpf_resonance;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetLPFFreq(float newVal)
|
||||
{
|
||||
p_lpf_freq = newVal;
|
||||
}
|
||||
|
||||
float generator::GetLPFFreq(void)
|
||||
{
|
||||
return p_lpf_freq;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetLPFRamp(float newVal)
|
||||
{
|
||||
p_lpf_ramp = newVal;
|
||||
}
|
||||
|
||||
float generator::GetLPFRamp(void)
|
||||
{
|
||||
return p_lpf_ramp;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetHPFFreq(float newVal)
|
||||
{
|
||||
p_hpf_freq = newVal;
|
||||
}
|
||||
|
||||
float generator::GetHPFFreq(void)
|
||||
{
|
||||
return p_hpf_freq;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetHPFRamp(float newVal)
|
||||
{
|
||||
p_hpf_ramp = newVal;
|
||||
}
|
||||
|
||||
float generator::GetHPFRamp(void)
|
||||
{
|
||||
return p_hpf_ramp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void generator::SetPhaseOffset(float newVal)
|
||||
{
|
||||
p_pha_offset = newVal;
|
||||
}
|
||||
|
||||
float generator::GetPhaseOffset(void)
|
||||
{
|
||||
return p_pha_offset;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetPhaseRamp(float newVal)
|
||||
{
|
||||
p_pha_ramp = newVal;
|
||||
}
|
||||
|
||||
float generator::GetPhaseRamp(void)
|
||||
{
|
||||
return p_pha_ramp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void generator::SetRepeatSpeed(float newVal)
|
||||
{
|
||||
p_repeat_speed = newVal;
|
||||
}
|
||||
|
||||
float generator::GetRepeatSpeed(void)
|
||||
{
|
||||
return p_repeat_speed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void generator::SetArpSpeed(float newVal)
|
||||
{
|
||||
p_arp_speed = newVal;
|
||||
}
|
||||
|
||||
float generator::GetArpSpeed(void)
|
||||
{
|
||||
return p_arp_speed;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetArpMod(float newVal)
|
||||
{
|
||||
p_arp_mod = newVal;
|
||||
}
|
||||
|
||||
float generator::GetArpMod(void)
|
||||
{
|
||||
return p_arp_mod;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetMasterVolume(float newVal)
|
||||
{
|
||||
master_vol = newVal;
|
||||
}
|
||||
|
||||
float generator::GetMasterVolume(void)
|
||||
{
|
||||
return master_vol;
|
||||
}
|
||||
|
||||
|
||||
void generator::SetSoundVolume(float newVal)
|
||||
{
|
||||
sound_vol = newVal;
|
||||
}
|
||||
|
||||
float generator::GetSoundVolume(void)
|
||||
{
|
||||
return sound_vol;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -27,7 +27,73 @@
|
||||
#define __GENERATOR_H__
|
||||
|
||||
namespace generator {
|
||||
void PlaySample(void);
|
||||
|
||||
void GenerateAudio(int16_t * bufferInterlace, int32_t nbSample, int32_t nbChannels);
|
||||
void GenerateBasicPickUpCoin(void);
|
||||
void GenerateBasicLaserShoot(void);
|
||||
void GenerateBasicExplosion(void);
|
||||
void GenerateBasicPowerUp(void);
|
||||
void GenerateBasicHitHurt(void);
|
||||
void GenerateBasicJump(void);
|
||||
void GenerateBasicBlipSelect(void);
|
||||
void GenerateBasicRandom(void);
|
||||
void GenerateBasicMutate(void);
|
||||
void SetWaveType(int32_t newVal);
|
||||
int32_t GetWaveType(void);
|
||||
void SetBaseFreq(float newVal);
|
||||
float GetBaseFreq(void);
|
||||
void SetFreqLimit(float newVal);
|
||||
float GetFreqLimit(void);
|
||||
void SetFreqRamp(float newVal);
|
||||
float GetFreqRamp(void);
|
||||
void SetFreqDRamp(float newVal);
|
||||
float GetFreqDRamp(void);
|
||||
void SetDuty(float newVal);
|
||||
float GetDuty(void);
|
||||
void SetDutyRamp(float newVal);
|
||||
float GetDutyRamp(void);
|
||||
void SetVibStrength(float newVal);
|
||||
float GetVibStrength(void);
|
||||
void SetVibSpeed(float newVal);
|
||||
float GetVibSpeed(void);
|
||||
void SetVibDelay(float newVal);
|
||||
float GetVibDelay(void);
|
||||
void SetEnvAttack(float newVal);
|
||||
float GetEnvAttack(void);
|
||||
void SetEnvSustain(float newVal);
|
||||
float GetEnvSustain(void);
|
||||
void SetEnvDecay(float newVal);
|
||||
float GetEnvDecay(void);
|
||||
void SetEnvPunch(float newVal);
|
||||
float GetEnvPunch(void);
|
||||
void SetFilterOn(bool newVal);
|
||||
bool GetFilterOn(void);
|
||||
void SetLPFResonance(float newVal);
|
||||
float GetLPFResonance(void);
|
||||
void SetLPFFreq(float newVal);
|
||||
float GetLPFFreq(void);
|
||||
void SetLPFRamp(float newVal);
|
||||
float GetLPFRamp(void);
|
||||
void SetHPFFreq(float newVal);
|
||||
float GetHPFFreq(void);
|
||||
void SetHPFRamp(float newVal);
|
||||
float GetHPFRamp(void);
|
||||
void SetPhaseOffset(float newVal);
|
||||
float GetPhaseOffset(void);
|
||||
void SetPhaseRamp(float newVal);
|
||||
float GetPhaseRamp(void);
|
||||
void SetRepeatSpeed(float newVal);
|
||||
float GetRepeatSpeed(void);
|
||||
void SetArpSpeed(float newVal);
|
||||
float GetArpSpeed(void);
|
||||
void SetArpMod(float newVal);
|
||||
float GetArpMod(void);
|
||||
void SetMasterVolume(float newVal);
|
||||
float GetMasterVolume(void);
|
||||
void SetSoundVolume(float newVal);
|
||||
float GetSoundVolume(void);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -34,6 +34,8 @@
|
||||
#include <Gui/MainWindows.h>
|
||||
#include <unistd.h>
|
||||
#include <globalMsg.h>
|
||||
#include <ewol/Audio/audio.h>
|
||||
#include <appl/generator.h>
|
||||
|
||||
MainWindows * basicWindows = NULL;
|
||||
|
||||
@ -76,7 +78,11 @@ void APP_Init(void)
|
||||
}
|
||||
// create the specific windows
|
||||
ewol::DisplayWindows(basicWindows);
|
||||
|
||||
// set basic random sound
|
||||
generator::GenerateBasicRandom();
|
||||
// initialize output audio :
|
||||
ewol::audio::Init();
|
||||
ewol::audio::AddCallbackOutput(&generator::GenerateAudio);
|
||||
// add files
|
||||
APPL_INFO("show list of files : ");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user