whomper Posted March 24, 2007 Report Share Posted March 24, 2007 When Logic and Seq3 are playing together, say Seq3 is in slave mode, if Logic is played not from the song beginning, a 5 steps delay happens between the two.Example: Logic is at location 10, then Seq is at location 5/15 and step A1.5 and not A1.1.Only if a start from the actual beginning, both of them are in exact sync.If I place Logic at any given location and hit play, Seq3 starts immediately, but starting from location **.5Strangely enough, the 16 LED sequence are in sync with Logic, but the Song is not, meaning Seq3 is not in sync between the 16 LEDs and the Song position when Seq3 is in slave mode.Any ideas?Whomper Quote Link to comment Share on other sites More sharing options...
whomper Posted March 24, 2007 Author Report Share Posted March 24, 2007 Well, after some more checking it seems like a display only problem, where the right LCD is "not in sync" while presenting song pos with the sound or the LED sequence.Whomper Quote Link to comment Share on other sites More sharing options...
whomper Posted March 24, 2007 Author Report Share Posted March 24, 2007 In Seq2 there was a repeat action of 16 times, but in Seq3 I see only 15 times repeat.Any reason for that?Whomper Quote Link to comment Share on other sites More sharing options...
TK. Posted March 24, 2007 Report Share Posted March 24, 2007 Yes, I'm aware of this issue - the reason is, that for a proper synchronisation the internal song/step and clock divider counters have to be prepared for the next step, so that the correct step is played with the next incoming MIDI clock. Since Logic can send more song positions in addition (e.g. while scrubbing the song position pointer over the arranger window), I found it more useful to prepare, but not to execute the next step, just to save some CPU time and to prevent unnecessary delays (in worst case, a MIDI In buffer overflow could happen)Therefore the LCD and LEDs will show the scenario before the actual selected song position - just waiting for the first clock so that the engine will properly update all variables.Btw.: the receive handler for the song position pointer is not able to recalculate all parameters, especially the progression parameters and the clock dividers - this is too difficult, as there is no simple "formula" which allows to determine exactly such variables based on the song position. You will find a lot of inconsistencies here... :-/ Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
TK. Posted March 24, 2007 Report Share Posted March 24, 2007 This is clearly a bug and I will fix this soon. Did you (or anybody else) find other issues which are worth for being fixed in the first "service pack"?Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
whomper Posted March 24, 2007 Author Report Share Posted March 24, 2007 After some more testing, the issue is even trickier; although the song plays in good sync, the fact that the LCD shows a permanent offset also influences when patterns play.Imaging an offset of 5 steps, which is a constant one BTW and there is no catchup. As the LEDs play in sync with Logic, the LCD shows a positive delta of 5 steps and thus plays the last 5 steps of the patterns which should switch to before they actually start (5 steps before to be exact).A1 - 1..15, A2 - 10-15, A2 1-15.From usability standpoint, it would be great to scrub Logic's arrange and see how it translates to SEQ3 song structures.Erez Quote Link to comment Share on other sites More sharing options...
TK. Posted March 24, 2007 Report Share Posted March 24, 2007 ok, got it! The whole synchronisation is not working properly anymore, seems that I messed up something during the "last quick changes" this week.I will check this and propably release a testing build todayBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
TK. Posted March 24, 2007 Report Share Posted March 24, 2007 Ok, I think I found the location which needs to be improved.Could you please try the following: open seq_core.inc, search for "SEQ_CORE_Reset", and replace all lines between SEQ_CORE_Reset and SEQ_CORE_Reset_NotMaster by:SEQ_CORE_Reset ;; play off events of all tracks call SEQ_CORE_Hlp_PlayAllOffEvnts ;; init the reference counters SET_BSR SEQ_BASE setf SEQ_CLK_TICK_CTR, BANKED setf SEQ_CLK_STEP_CTR, BANKED BIFSET SEQ_CFG0, SEQ_CFG0_BPM_CLK_SLAVE, BANKED, rgoto SEQ_CORE_Reset_NotMasterSEQ_CORE_Reset_Master ;; clear all sequencer requests (i.E. a stop event!) clrf SEQ_REQ, BANKED ;; cancel all requested clocks (only relevant for master mode) clrf SEQ_CLK_REQ_CTR, BANKED movlw 3 movwf SEQ_SENT_CLK_CTR, BANKEDSEQ_CORE_Reset_NotMaster[/code]For the slave the "clock counter reset" has to be done at a different place, so that it works in all cases. But for a first try this works okIt would be interesting if this works with your Logic version? (I'm using PC v5.5)Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
TK. Posted March 24, 2007 Report Share Posted March 24, 2007 While reviewing the code, I noticed that the song position parser can be realized on a much more robust way by moving it into the NotifyRx handler of MIOS (which will be triggered immediately on received events)For a quick test, I scrubbed over the arrange window of Logic at various BPM rates, and the sequencer always got in sync with Logic again - so I think that it's working stable now :)The release candidate can be downloaded from this location:http://www.ucapps.de/tmp/midibox_seq_v3_0a_rc1.zipPlease note: I also added the "x16 loop action", which means, that songs have to be overworked."jump pos" is shifted to x16"jump song" is shifted to "jump pos""mixer map" is shifted to "jump song"So - songs have to be adapted if they are using these actions! Just increment the action by oneBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
whomper Posted March 24, 2007 Author Report Share Posted March 24, 2007 Thanks for the quick patch!I have tested it, and the seq still always starts at step 5 of the pattern. Is there a setting I might need to tweak?Thanks for the x16!Whomper Quote Link to comment Share on other sites More sharing options...
TK. Posted March 24, 2007 Report Share Posted March 24, 2007 This should also work now (step position counter was divided by 4 on incoming song position messages from Logic)-> http://www.ucapps.de/tmp/midibox_seq_v3_0a_rc3.zipBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
whomper Posted March 25, 2007 Author Report Share Posted March 25, 2007 Thanks!From preliminary testing, it works like a charm!Whomper Quote Link to comment Share on other sites More sharing options...
whomper Posted March 25, 2007 Author Report Share Posted March 25, 2007 Now that the slave mode synchronizers correctly, there is one issue I had noticed; when switching patterns, the first step or two does not play right after the switch, rather only after a full pattern cycle is finished, then all plays correctly.Whomper Quote Link to comment Share on other sites More sharing options...
TK. Posted March 26, 2007 Report Share Posted March 26, 2007 Thanks for testing! I wasn't able to reproduce this yet, but I will try this again with different sequencers after my holiday. So, a new release candidate can be expected in ca. 2 weeksBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
whomper Posted March 27, 2007 Author Report Share Posted March 27, 2007 As the ratio of patterns vs. songs is in favor of patterns (i.e. you get tons of patterns, but only 16 songs, or 32 in a future revision with 512 backstick) It would be great if there will be an option to assign other banksticks in the format section to Song as well. That way, the user will have the choice for more songs in favor of patterns.Whomper Quote Link to comment Share on other sites More sharing options...
whomper Posted March 27, 2007 Author Report Share Posted March 27, 2007 Another issue that is worth testing is as follows:Pat A1; track 1 is 32 steps. Song 1 has Pat A1 looping x 16.If I start Logic at measure 2, Pat A1 starts playing from Step 1 instead of step 17.Whomper Quote Link to comment Share on other sites More sharing options...
whomper Posted March 27, 2007 Author Report Share Posted March 27, 2007 Copy:When using copy with pattern that has more than 16 steps, there is no way to set the right boundary as the rightmost rotary is #16.Paste:I have copied an 8 step sequence from a track that is 16 steps long, extended the length to 32 and hit paste, the track length reverts to 16 steps although I have copied only part of it. There should be a difference between copying a part of a pattern, by which only the relevant steps with their associated info like volume should be copied to the scenario where I had requested to copy an entire track.Whomper Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 28, 2007 Report Share Posted March 28, 2007 If you start it at measure 3 or 4, does the track play from step 1 or step 17? Quote Link to comment Share on other sites More sharing options...
whomper Posted April 3, 2007 Author Report Share Posted April 3, 2007 When changing a pattern in one of the groups per any given Pos, if the cursor is left on the pattern change (i.e. it blinks) and the Seq starts playing (Start button or slave seq), then the entire group is empties from start position till song end.Whomper Quote Link to comment Share on other sites More sharing options...
stryd_one Posted April 3, 2007 Report Share Posted April 3, 2007 Hey whomper I think it's awesome that you're giving these bug reports for v3, but it might be best to put them all in the same thread, so that when TK returns he can see them all quickly and easily :) Quote Link to comment Share on other sites More sharing options...
TK. Posted April 8, 2007 Report Share Posted April 8, 2007 Hi Whomper,I combined all your postings, because this simplifies the answering.Now I only need to write a single posting, in which I can refer to a new release candidate!I found a way to reproduce the pattern switching issue in song mode - I just used the record function of Logic, which sends a new song position, and then starts to record all incoming MIDI events. The root cause was found out very quickly, and it should work now (please try it out)Multiple Song BankSticks: I checked this, but there is too much code which would have to be changed. Wouldn't it be better for your workflow, if you would be able to switch patterns directly from Logic? For example via CC?This would allow you to embedd the chains of patterns directly into a Logic Song.Copy issue: fixedPaste issue: the current behaviour was a special request by dcer10 (see MBSEQ V3 talk thread, where errors where reported and commented in the past). I prefer the current implementation, and a variation which would allow to switch back to the old behaviour would be too complicated, therefore I would say: so long everybody knows that all track parameters are copied, it should be manageable, and it is only a documentation issue.I wasn't able to reproduce the "pattern delete" issue. There is no function available which is able to clear any song position, there is especially no function which would clear multiple positions (from start position till song end)Could it be that you switched to an empty song by accident?If not: could you please give me some step-by-step instructions how to reproduce this?Here the new release candidate:http://www.ucapps.de/tmp/midibox_seq_v3_1_rc1.zipI changed the version number from 3.0 to 3.1, since a 64k Song BankStick is supported now.The random generator has been enhanced as well, it now allows to specifiy individual "intensities" for all parameter and trigger layersPlease note: the CHANGELOG.txt describes a way, how to initialize the upper half of the 64k bankstick without loosing the previous content of the lower 32k half.Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
whomper Posted April 8, 2007 Author Report Share Posted April 8, 2007 Hi TK,I have uploaded the new ROM and played a bit with it. Here's what I found:Pattern switching:Now a 32 step pattern when switched always starts at step 17. If I play Logic at least a measure before, when the times come and the pattern switches (from B2 to B4 which is the 32 steps pattern) it plays from step 17. When playing at the position of the switch, there is no issue and B4 plays from step 1. it does not matter if I had played the seq 1 or 2 measures before the swtich, or even 4.A new issue had now creeped, which is the switched pattern does not play in sync. it is delayed by a step or so, so perhaps it plays from step 16 and not 17.Copy:Seems to be ok.Multi bank sticks:As I am fond of Seq song logic, I will probably opt for 64K bankstick just for the Songs.As for pattern delete:Could not reproduce with a new song. Will try some more with my main one after I log my patterns to paper :-)Can you also have a look at the memory load/save issue I am having, logged in the troubleshooting section?Thanks,Whomper Quote Link to comment Share on other sites More sharing options...
TK. Posted April 9, 2007 Report Share Posted April 9, 2007 The remaining "step offset" issue is related to the way, how MBSEQ calculates the step positions based on the incoming song pointer, which is sent by Logic. It cannot be 100% accurate, since the song mode of MBSEQ works with 1 measure (16 step) resolution, and the track lengths can vary from 1..32 steps.This means for example: if your song consists of1: 1 x A12: 2 x A2where A1 and A2 is a 32 step pattern, the song position will be calculated correctly for the first measure, for the second measure the sequencer will start at A2, step 17, and for the third measure the sequencer will start at A2, step 1This might be an unexpected behaviour, but there is no proper solution for thisOnly workaround is to ensure, that a song always uses "even loops" (2x, 4x, 6x, ...) when it plays 32 step tracks.The initial position of tracks with != 16 steps where not calculated correctly in v3_1rc1, but I improved this in v3_1rc2But I fear that this is all what I can dohttp://www.ucapps.de/tmp/midibox_seq_v3_1_rc2.zipSysEx dump (load/save) issue: the format has been changed, the bankstick is now selected with the 7th byte of the SysEx request. This is documented in the updated http://www.ucapps.de/mios/mios_backup.txtThe example in CHANGELOG.txt is working, this is what I tried out yesterdayBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
whomper Posted April 10, 2007 Author Report Share Posted April 10, 2007 Thanks TK,Version 3.1 fixes my issue that was both pattern shift in slave mode and pattern shift when there where different divisions between the two patterns.Whomper Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.