Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #36322

Re: Play "subset of recorded notes during record".

Newsgroups comp.lang.javascript
Date 2019-04-06 05:30 -0700
References <25b44a76-4d39-45cc-9063-a23c064f1187@googlegroups.com> <369c0322-e463-41ac-b36d-1d984c3c0326@googlegroups.com>
Message-ID <0cdac358-e23d-4cad-9330-40601cfff5db@googlegroups.com> (permalink)
Subject Re: Play "subset of recorded notes during record".
From Jonas Thörnvall <jonas.thornvall@gmail.com>

Show all headers | View raw


Den lördag 6 april 2019 kl. 14:24:00 UTC+2 skrev Jonas Thörnvall:
> Den lördag 6 april 2019 kl. 13:33:58 UTC+2 skrev Jonas Thörnvall:
> > function PlaylistGen() {
> >  if (mode=="Play"){
> >   waitEv = new Array();
> >   for (var i = 0; i < track[0].midiMess.length; i++) {
> >     //Generate waitlist used in play
> >     if (i > 0) {
> >       waitEv[i] = track[0].midiMess[i].time - track[0].midiMess[i - 1].time;
> >     } else {
> >       waitEv[0] = track[0].midiMess[i].time
> >     }
> >   }
> >  } else is (mode=="Record"){
> > //////////////////////
> > }
> > }
> > 
> > midiMess.time is the "recorded" time for an event **to be played**. Using a startpoint we can find an offset, to next event "note" to be played.
> > 
> > In mode play all recorded notes are played and that is no problem.
> > I have all recorded notes from all tracks downmixed on a single track to be played. 
> > 
> > But during recording of a time range "in bars", i need to set same boundary for ***playup*** as for recording to be able to play to what is already recorded.
> > 
> > So find "what subset of notes to playup" and what time to start play first note, depends upon "start bar-end bar" recording. 
> > 
> > Start bar, is time zero for the played up notes. So i need to find the notes in range between start and end and get the first notes waitEv to have synced playup with the bars i will record....
> > 
> > That will be hard especially after some Campari. 
> > 
> > If RS is startrec offset and RE stoprec offset is end and clock is
> > clock = clock + rs; This TIME will be reocrded for message
> > 
> > How do i select subset for playup  and how do i set the conditions for notes to playup, and set the first waitEv[].
> > 
> > Of you go and find the conditon for else is (mode==record)....
> > Yeah this will be awkward...
> > 
> > I think it is a bit beyond your logical capabilities ;)
> 
> Seem like a good start
> 
> }  else if (mode=="Record"){ 
>        if (track[0].midiMess[i].time>rs && track[0].midiMess[i].time<re) {}
> }

Have not tested but this is what my brain told me.

function PlaylistGen() {
 if (mode=="Play"){
  var k=0;
  waitEv = new Array();
  for (var i = 0; i < track[0].midiMess.length; i++) {
    //Generate waitlist used in play
    if (i > 0) {
      waitEv[i] = track[0].midiMess[i].time - track[0].midiMess[i - 1].time;
    } else {
      waitEv[0] = track[0].midiMess[i].time;
    }
  }
 }  else if (mode=="Record"){ 
       if (track[0].midiMess[i].time>rs && track[0].midiMess[i].time<re) {
        if (k > 0) {
        waitEv[k] = track[0].midiMess[i].time - track[0].midiMess[i - 1].time;
        } else {
          waitEv[0] = track[0].midiMess[i].time;
       }
       k++;
   }
} 
}

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Play "subset of recorded notes during record". Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-04-06 04:33 -0700
  Re: Play "subset of recorded notes during record". Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-04-06 05:23 -0700
    Re: Play "subset of recorded notes during record". Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-04-06 05:30 -0700
      Re: Play "subset of recorded notes during record". Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-04-06 05:38 -0700

csiph-web