commit 776086af41fe7229fdfa1f41845fdf95c2d2bd0a
parent 480371d1c0c35ccc5eb9d29d17b99f8f99f9be33
Author: paulnasca <paulnasca>
Date: Wed, 26 May 2004 18:42:22 +0000
*** empty log message ***
Diffstat:
5 files changed, 35 insertions(+), 10 deletions(-)
diff --git a/src/Effects/EffectMgr.C b/src/Effects/EffectMgr.C
@@ -54,6 +54,7 @@ void EffectMgr::defaults(){
* Change the effect
*/
void EffectMgr::changeeffect(int nefx_){
+ cleanup();
if (nefx==nefx_) return;
nefx=nefx_;
for (int i=0;i<SOUND_BUFFER_SIZE;i++){
diff --git a/src/Misc/Master.C b/src/Misc/Master.C
@@ -71,7 +71,6 @@ Master::Master(){
};
void Master::defaults(){
- ShutUp();
volume=1.0;
setPvolume(80);
setPkeyshift(64);
@@ -100,6 +99,7 @@ void Master::defaults(){
};
sysefx[0]->changeeffect(1);
+ ShutUp();
};
/*
diff --git a/src/Seq/MIDIEvents.C b/src/Seq/MIDIEvents.C
@@ -22,6 +22,7 @@
#include "MIDIEvents.h"
#include <stdlib.h>
+#include <stdio.h>
MIDIEvents::MIDIEvents(){
};
@@ -38,6 +39,8 @@ void MIDIEvents::writeevent(list *l,event *ev){
if (l->current!=NULL) l->current->next=tmp;
else l->first=tmp;
l->current=tmp;
+ printf("Wx%x ",l->current);
+ printf("-> %d \n",l->current->ev.deltatime);
l->size++;
};
@@ -48,6 +51,15 @@ void MIDIEvents::readevent(list *l,event *ev){
};
*ev=l->current->ev;
l->current=l->current->next;
+
+ //test
+ if (l->current!=NULL) {
+// ev->deltatime=10000;
+// printf("Rx%d\n",l->current->ev.deltatime);
+ printf("Rx%x ",l->current);
+ printf("-> %d (next=%x) \n",l->current->ev.deltatime,l->current->next);
+ };
+
};
diff --git a/src/Seq/MIDIFile.C b/src/Seq/MIDIFile.C
@@ -131,19 +131,19 @@ int MIDIFile::parsetrack(int ntrack){
while(!midieof){
unsigned int msgdeltatime=getvarint32();
- printf("MSGDELTATIME = %d\n",msgdeltatime);
+/// printf("MSGDELTATIME = %d\n",msgdeltatime);
dt+=msgdeltatime;
int msg=peekbyte();
- printf("raw msg=0x%x ",msg);
+/// printf("raw msg=0x%x ",msg);
if (msg<0x80) {
msg=lastmsg;
} else {
lastmsg=msg;
getbyte();
};
- printf("msg=0x%x\n",msg);
+/// printf("msg=0x%x\n",msg);
unsigned int mtype,mlength;
@@ -211,6 +211,7 @@ void MIDIFile::parsenoteoff(char ntrack,char chan,unsigned int dt){
unsigned char note;
note=getbyte();
+ unsigned char noteoff_velocity=getbyte();//unused by zynaddsubfx
if (chan>=NUM_MIDI_CHANNELS) return;
me->tmpevent.deltatime=convertdt(dt);
@@ -219,13 +220,13 @@ void MIDIFile::parsenoteoff(char ntrack,char chan,unsigned int dt){
me->tmpevent.par2=0;
me->tmpevent.channel=chan;
+ printf("Note off:%d \n",note);
///test
- ntrack=0;
+// ntrack=0;
me->writeevent(&me->miditrack[ntrack].record,&me->tmpevent);
- printf("Note off:%d ",note);
};
@@ -234,6 +235,9 @@ void MIDIFile::parsenoteon(char ntrack,char chan,unsigned int dt){
note=getbyte();
vel=getbyte();
+// printf("ntrack=%d\n",ntrack);
+ printf("[dt %d ] Note on:%d %d\n",dt,note,vel);
+
if (chan>=NUM_MIDI_CHANNELS) return;
me->tmpevent.deltatime=convertdt(dt);
@@ -243,7 +247,6 @@ void MIDIFile::parsenoteon(char ntrack,char chan,unsigned int dt){
me->tmpevent.channel=chan;
me->writeevent(&me->miditrack[ntrack].record,&me->tmpevent);
- printf("[dt %d ] Note on:%d %d\n",dt,note,vel);
};
@@ -291,8 +294,9 @@ void MIDIFile::parsemetaevent(unsigned char mtype,unsigned char mlength){
unsigned int MIDIFile::convertdt(unsigned int dt){
double result=dt;
+ printf("DT=%d\n",dt);
- return((int) (result*30.0));
+ return((int) (result*5.0));
};
@@ -311,6 +315,7 @@ unsigned char MIDIFile::getbyte(){
return(0);
};
+/// printf("(%d) ",midifile[midifilek]);
return(midifile[midifilek++]);
};
@@ -344,6 +349,8 @@ unsigned int MIDIFile::getvarint32(){
unsigned long result=0;
unsigned char b;
+/// printf("\n[start]");
+
if ((result = getbyte()) & 0x80) {
result &= 0x7f;
do {
@@ -351,6 +358,7 @@ unsigned int MIDIFile::getvarint32(){
result = (result << 7) + (b & 0x7f);
}while (b & 0x80);
}
+/// printf("[end - result= %d]\n",result);
return result;
};
diff --git a/src/Seq/Sequencer.C b/src/Seq/Sequencer.C
@@ -78,12 +78,12 @@ int Sequencer::importmidifile(char *filename){
void Sequencer::startplay(){
if (play!=0) return;
- play=1;
for (int i=0;i<NUM_MIDI_TRACKS;i++) resettime(&playtime[i]);
for (int i=0;i<NUM_MIDI_TRACKS;i++){
rewindlist(&miditrack[i].track);
};
+ play=1;
};
void Sequencer::stopplay(){
@@ -97,6 +97,9 @@ int Sequencer::getevent(char ntrack,int *midich, int *type,int *par1, int *par2)
*type=0;
if (play==0) return(-1);
+ //test
+// if (ntrack!=0) return(-1);
+
updatecounter(&playtime[ntrack]);
// printf("%g %g\n",nextevent[ntrack].time,playtime[ntrack].abs);
@@ -107,7 +110,7 @@ int Sequencer::getevent(char ntrack,int *midich, int *type,int *par1, int *par2)
// printf("********************************\n");
- if (ntrack==1) printf("_ %.2f %.2f\n",nextevent[ntrack].time/0.32*80.0,playtime[ntrack].abs/0.32*80.0);
+/// if (ntrack==1) printf("_ %f %.2f\n",nextevent[ntrack].time,playtime[ntrack].abs);
*type=nextevent[ntrack].ev.type;
*par1=nextevent[ntrack].ev.par1;
@@ -116,6 +119,7 @@ int Sequencer::getevent(char ntrack,int *midich, int *type,int *par1, int *par2)
double dt=nextevent[ntrack].ev.deltatime*0.0001;
+ printf("zzzzzzzzzzzzzz[%d] %d\n",ntrack,nextevent[ntrack].ev.deltatime);
nextevent[ntrack].time+=dt;
// printf("%f - %d %d \n",nextevent[ntrack].time,par1,par2);