Author Topic: BASS_ChannelSetPosition with .mod not updating tempo  (Read 115 times)

bananaboy

  • Posts: 2
Hi,

I'm playing a 4 channel ProTracker .mod in a demo I'm working on. The .mod starts at one tempo and then changes to a faster tempo during the second pattern. I'm trying to call BASS_ChannelSetPosition for debugging to skip sections. I call BASS_ChannelPlay and then skip to a pattern in the order table which plays after the tempo changes, but the tempo is not updated so the mod still plays slowly.

Is this expected behaviour? Is there some way to get bass to scan previous patterns to detect if the tempo was changed?

Thanks,
Sam

Ian @ un4seen

  • Administrator
  • Posts: 21329
Are you currently using the BASS_POS_MUSIC_ORDER seek mode? If so, BASS_ChannelSetPosition will jump to the new position without processing any commands that may have come before it (the new position might not even be in the normal playback sequence). If you use the time-based BASS_POS_BYTE seek mode instead then it will process the commands up to the requested position. Note you need use the BASS_MUSIC_PRESCAN flag in the BASS_MusicLoad call to enable that.

bananaboy

  • Posts: 2
Thanks for the reply! I see, that makes sense. I am using BASS_POS_MUSIC_ORDER. I'm syncing based on order/row of the mod so I don't want to use the byte seek mode. I've worked around the problem by forcing the tempo when I set the position. This is actually an MS-DOS demo but I'm doing a bunch of development under Windows (because of better debugging tools) and this feature is just so I can skip parts of the demo quickly so the hack is fine for my purposes.

Thanks again!