Re: [seq24-users] Midi Clock Sync patch (slave seq24 to external sequencers)
Brought to you by:
rcbuse
|
From: Kevin M. <ke...@su...> - 2009-07-01 02:15:00
|
Idea to fix the current code (while keeping the 2 tick delay)... add another boolean. STOP would set it instead of setting m_usemidiclock to false (because we need our code in the update loop to keep servicing the song pointer.) the CLOCK conditional would check for the new boolean instead... START/CONTINUE would also use the new boolean... Idea to fix the delay... maybe reorder the conditionals... however this might have other side effects... this is kinda of a can of worms, and the original code (with the modifications below) was working, let me know if that original code is missing a feature, and I will develop it to where you need. I'm interested in getting this fixed and done with. :-) I feel like the current solution is maybe going down a wrong path... or something... I'm not really sure what it's trying to do differently, other than it being different.? let me know... :) --- kevin meinert | http://www.subatomicglue.com On Tue, Jun 30, 2009 at 8:54 PM, Alex <x37...@gm...> wrote: > Yeah, the 707 sending a 'stop' message does not cause seq24 to stop as > it should. start and continue work for me.. and if i press stop on > seq24 the sequence will stop.. > this is my first test with the seq24 slave to midi clock syncing.. > > -Alex > > On Tue, Jun 30, 2009 at 5:17 PM, Kevin Meinert<ke...@su...> > wrote: > > > > With the latest bazaar revision... > > Stop on my yamaha rm1x no longer causes seq24 to stop... (I can't get > > seq24 to stop using the rm1x now). > > > > the back button on the rm1x rests the song pointer to the beginning > (while > > sitll running) > > the play button on the rm1x does start the sequence in seq24 > > > > (Same with x0xb0x. Start on x0xb0x, starts the seq24. Stop does > > nothing... Start again on x0xb0x, and the sequence resets on seq24 (but > > continues to run. > > I cannot stop seq24...) > > > > > > is there something wrong with using this code? It's updated to the > newer > > ideas you've put on the list... let me know if I've missed one. > > > > // Obey MidiTimeClock: > > if (ev.get_status() == EVENT_MIDI_START) > > { > > if (!m_midiclockrunning) > > { > > stop(); > > start( false ); > > m_midiclockrunning = true; > > m_usemidiclock = true; > > m_midiclocktick = 0; > > m_midiclockpos = 0; > > } > > } > > // midi continue: start from current pos. > > else if (ev.get_status() == EVENT_MIDI_CONTINUE) > > { > > if (!m_midiclockrunning) > > { > > m_midiclockrunning = true; > > start( false ); > > //m_usemidiclock = true; > > } > > } > > else if (ev.get_status() == EVENT_MIDI_STOP) > > { > > // no harm stopping again, if there's a stuck > note, > > it could be useful to reissue... > > //if (m_midiclockrunning) > > //{ > > // do nothing, just let the system pause > > // since we're not getting ticks after the > stop, > > the song wont advance > > // when start is recieved, we'll reset the > > position, or > > // when continue is recieved, we wont > > m_midiclockrunning = false; > > all_notes_off(); > > //} > > } > > else if (ev.get_status() == EVENT_MIDI_CLOCK) > > { > > if (m_midiclockrunning) > > m_midiclocktick += 8; > > } > > // not tested (todo: test it!) > > else if (ev.get_status() == EVENT_MIDI_SONG_POS) > > { > > unsigned char a, b; > > ev.get_data( &a, &b ); > > m_midiclockpos = ((int)a << 7) && (int)b; > > } > > > > --- > > kevin meinert | http://www.subatomicglue.com > > > > > > On Fri, Jun 26, 2009 at 4:09 PM, Alex <x37...@gm...> wrote: > >> > >> Yeah, I'll check it out soon.. > >> I have a 707 which sends midi clock messages out even when the > >> sequence isn't "running" > >> > >> -Alex > >> > >> On Fri, Jun 26, 2009 at 9:29 AM, Guido Scholz< > gui...@ba...> > >> wrote: > >> > Am Thu, 25. Jun 2009 um 18:37:43 -0700 schrieb Alex: > >> > > >> > Hi Alex, > >> > > >> >> > MIDI Clock: > >> >> > * if not running, start running > >> > > >> >> This is incorrect. Masters may send clock messages even if slaves > >> >> shouldn't be syncing... before a start or continue message is sent or > >> >> after a stop message is sent. > >> > > >> > Sorry, my description was too short. The current implementation does > >> > something like this: > >> > > >> > MIDI Clock: > >> > * if not running, but prepared to run by "Start" or "Continue" then > >> > start running > >> > > >> > This should comply to the text below (as far as I understand): > >> > > >> >> "A master stops the slave simultaneously by sending a MIDI Stop > >> >> message. The master may then continue to send MIDI Clocks at the rate > >> >> of its tempo, but the slave should ignore these, and not advance its > >> >> "song position". Of course, the slave may use these continuing MIDI > >> >> Clocks to ascertain what the master's tempo is at all times. " > >> > > >> > > >> >> MIDI sync in for seq24, awesome! > >> > > >> > Are you able to run tests of the current code with your hardware? > >> > > >> > Guido > >> > > >> > -- > >> > http://www.bayernline.de/~gscholz/<http://www.bayernline.de/%7Egscholz/> > >> > http://www.lug-burghausen.org/ > >> > > >> > -----BEGIN PGP SIGNATURE----- > >> > Version: GnuPG v1.4.6 (GNU/Linux) > >> > > >> > iD8DBQFKRPdPk6cKJms5yBsRAgx7AJ4y2V+VR/9SzTagYMWF+yr/Q9cWCwCfUlwq > >> > 3gjrKWhG9r4hDU3biWSgsKQ= > >> > =q1/X > >> > -----END PGP SIGNATURE----- > >> > > >> > > >> > > ------------------------------------------------------------------------------ > >> > > >> > _______________________________________________ > >> > seq24-users mailing list > >> > seq...@li... > >> > https://lists.sourceforge.net/lists/listinfo/seq24-users > >> > > >> > > >> > >> > >> > ------------------------------------------------------------------------------ > >> _______________________________________________ > >> seq24-users mailing list > >> seq...@li... > >> https://lists.sourceforge.net/lists/listinfo/seq24-users > > > > > |