zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 776086af41fe7229fdfa1f41845fdf95c2d2bd0a
parent 480371d1c0c35ccc5eb9d29d17b99f8f99f9be33
Author: paulnasca <paulnasca>
Date:   Wed, 26 May 2004 18:42:22 +0000

*** empty log message ***

Diffstat:
Msrc/Effects/EffectMgr.C | 1+
Msrc/Misc/Master.C | 2+-
Msrc/Seq/MIDIEvents.C | 12++++++++++++
Msrc/Seq/MIDIFile.C | 22+++++++++++++++-------
Msrc/Seq/Sequencer.C | 8++++++--
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);