View Single Post
Old 31 October 2016, 14:07   #33
meynaf
68k wisdom
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon (France)
Age: 44
Posts: 2,369
Quote:
Originally Posted by Toni Wilen View Post
Perhaps non-zero address + zero length look more sane. (Address can be freely changed, unpause happens only when length becomes non-zero)
Yes, as long as setting normal size to zero immediately stops playing.


Quote:
Originally Posted by Toni Wilen View Post
Note that most important feature for me is that each stream can function completely separately, there can be multiple users at the same time without side-effects and without need for single driver software, for example some program(s) can use it via AHI while some other program can access it directly without danger of conflicts by using hardware allocation bits as documented.

Thats why only global setting is stream on/off and play on/off bit masks (can be used to start/stop multiple streams at the exact same time). Do you really need other global options?
The only global option that's really needed is the ability to run/stop separate streams in sync.
Most 'global' options are perfectly fine at the stream scope.

One thing that doesn't go well with trackers is the replay frequency. Using Hz isn't precise enough to play exactly like Amiga periods.
A stream "base frequency" value, along with a period, would do the trick : we'd then use (3546895, per) for Amiga hw, (44100, 1) for cd-like, etc (iow the replay freq wouldn't be an int but a fraction).


Quote:
Originally Posted by Toni Wilen View Post
There is already "latch" operation, one access to create atomically copy of stream's current parameters, another access to write it back atomically.
Fine, if of course it doesn't trigger sample restarts when the sample size hasn't been written.


Quote:
Originally Posted by Toni Wilen View Post
Does it help if multiple streams (hopefully those that you allocated..) can be latched/written back simultaneously? (using new global bit mask register)
Yes this is ok.
meynaf is offline  
 
Page generated in 0.05191 seconds with 9 queries