#123

midi : first beat skipped when changing pattern via midi

    • Created on: Wed, Mar 24 2010 (about 2 years ago)
    • Reported by: thijz
    • Assigned to: -
    • Milestone: 0.9.6
    • Type: defect
    • Resolution: -
    • Version: -
    • Severity: -
    • Keywords: -
    • Type: -
    • Resolution: -
    • Version: -
    • Status: Fixed
    • Priority: High (2)
    • Component: hydrogen
    • Estimate: None/Small/Medium/Large None
    • Severity: -
    • Keywords: select pattern
    • Type: defect
    • Resolution: -
    • Version: -
    • Severity: -
    • Keywords: select next pattern midi
    detected in 0.9.5 svn1649M
    steps to reproduce :
    set hydro to pattern mode, create 2 patterns, define 2 midi triggers that each select one of the patterns.
    press play, select pattern1 (via midi) > pattern plays
    now select pattern 2 (via midi) while hydro is playing
    >> if you do this the first beat of the newly selected pattern2 is skipped
    if you select pattern 1 again the first beat of pattern1 is skipped

    remark : the SELECT_NEXT_PATTERN needs to be defined in the actions.cpp (is not in the 0.9.5 sources > needs to be copied from an older action.cpp)

    >> IMPORTANT : this is in non-stacked mode !
  • Followers
     
    Ico-users thijz 
     
    Attachments
    No attachments
    Associations
     
    No associations
    Activity
     
    User picture

          on Nov 14, 2010 @ 08:30pm UTC * By thijz

    Priority changed from Normal (3) to High (2)
    hi guys
    just raised the severity level on this one after some extended testing in our rehearsal room this weekend.
    it has become clear that for live usage (controlling pattern selection by the drummer using drumpads) this one is absolutely blocking :-(
    currently you can use select_next in stacked mode where it works as intended, but for our live setup we are working in pattern mode and we need to be able to enable/disable a pattern instantly (be it in stacked mode or non-stacked mode)
    User picture

          on Dec 29, 2010 @ 08:05pm UTC * By thijz

    Milestone changed from 0.9.5 to 1.0
    is probably solved wit the select_next_pattern_promptly action (by Wolke)
    User picture

          on Jan 17, 2011 @ 01:58pm UTC * By thijz

    some more info about this : i found a dirty workaround
    - create a pattern and set the resolution rather high (32 or 64)
    - create a simple pattern (kick + snare)
    - move the note that is on the '1' just 1 step further in the pattern (to the next possible position that is allowed by the resolution)
    - use the lead/lag setting to configure a lead that compensates for the fact that the not has been moved 1 step (this is trial end error : adjust the lead/lag value while the pattern loops and trust your ears to find the right value)
    - if you now play this pattern it sounds totally normal
    - repeat the test done to trigger this issue (switch between this pattern and another using select_next) and you will notice that the first beat of this modified pattern is no longer skipped

    i know, i know it's a VERY dirty work around but it works, and maybe this is also helpful info for fixing this bug ?
    User picture

          on Jun 15, 2011 @ 08:44am UTC * By thijz

    retested on the undo branch today and the issue is also present there :-(
    (in non-stacked mode > did not test stacked mode)
    User picture

          on Jul 15, 2011 @ 11:29am UTC * By thijz

    Type set to defect
    Milestone changed from 1.0 to 0.9.6
    User picture

          on Jul 15, 2011 @ 11:30am UTC * By thijz

    Description changed from detected in 0.9.5 svn1649M ... to detected in 0.9.5 svn1649M ...
    User picture

          on Jul 24, 2011 @ 10:26am UTC * By thijz

    Summary changed from first beat skipped when changing pattern via midi to midi : first beat skipped when changing pattern via midi
    User picture

          on Oct 24, 2011 @ 07:20am UTC * By wolke

    hi thijs,
    i am working on bugs. so i try to understand if this is a bug, or an enhancement question. only to understand right what you mean with skipped notes, one more questions here.

    in normal pattern mode hydrogen switch promptly to the next pattern. if you select an new pattern. it is normal that notes which are in position (e.g. 1) cannot be played because you are already on position x in the moment you select the new pattern. and here is my question. happens this skipping of notes also in the next cycle from the currently selected pattern?

    because if not, in this case everything works as expected and we need some brainstorming about an mixed pattern mode which work like stacked mode but without stacking.
    stacked mode select the pattern all time in the next cycle independent on which transport position you are.
    maybe if i am understand your problem right would be this what you need. normal pattern mode which activate the new assigned pattern exactly to the next cycle.

    greetings wolke
    User picture

          on Oct 24, 2011 @ 07:36am UTC * By wolke

    ahh ok i got it its a bug.
    my scenario:
    crate two patterns
    use two note keys e.g. 60&61 and assign them to midi action selext_next_pattern.
    note key 60 to selext_next_pattern par 0
    note key 61 to selext_next_pattern par 1
    switch ing in stacked mode workes as expected but in normal mode the first beat of the new selected pattern will dropped into the NEXT cycle. imo this is a bug.
    User picture

          on Oct 24, 2011 @ 08:03am UTC * By wolke

    Status changed from New to Accepted
    User picture

          on Oct 24, 2011 @ 08:05am UTC * By wolke

    Status changed from Accepted to Fixed
    fixed in rev.2353
    User picture

          on Nov 15, 2011 @ 10:03am UTC * By thijz

    Status changed from Fixed to New
    bug is still present in rev 2376 :-(

    can be tested very easily :
    -use the config as described above (by Wolke)
    -make sure that bothe patterns have a note 'on the 1' (the first note in the bar)
    -assign midi keys to 'select_next_pattern 0' and 'select_next_pattern 1'
    -press play in hydrogen (manually)
    -hit midi key 1 > pattern 0 plays
    -hit midi key 2 > pattern 1 plays
    when you press one of the midi keys you will hear that the first note of the pattern that is linked to that midi key is NOT played. It works both ways 0>1 or 1>0, but it is always the first note of the newly selected pattern that will not play.
    User picture

          on Nov 15, 2011 @ 10:10am UTC * By thijz

    some more info : you dont even have to switch between patterns.
    if you press the midi key that is assigned to the pattern that is already playing, you will hear that the first note is skipped.
    in the terminal window i get this message every time a note is skipped :

    (E) InstrumentList::get idx 54 out of [0;16]
    or
    (E) InstrumentList::get idx 56 out of [0;16]

    depending on the midi key i press

    i just noticed that i even get these error messages when the transport is not running ??
    User picture

          on Dec 26, 2011 @ 03:14pm UTC * By wolke

    Status changed from New to Fixed
    changeset 2423. recommit my changes from changeset 2353 and close this bug as fixed.
    Time Expenditure
    Loading