So I feel like I have to document the changes so that other developers will know what's what and can possibly also contribute at some point towards the 2.0 effort.
Currently, tempo track has been implemented. The way it works is, that tempo track inherits automation track, and tempo pattern inherits automation pattern, and most of the meat of the code is actually in automation track & automation pattern. The way it works is, there's two "cache" maps: they cache both the BPM and FPT (frames per tick) values at each position (tick) of the project. This is done with a QMap that maps tick values to BPM/FPT values. Whenever a tempo pattern is edited, moved or deleted, these cache maps are updated to reflect the changes. The tempo track is never processed (or played) the same way other automation tracks are. Instead, the song playback function just looks up the tempo for the current position from the cached maps. There's still some things to do here - currently, the tempo widget doesn't work properly, as it doesn't show the actual current tempo while playing the song. Next, I'm going to focus on dBV-scale controls, then probably the instrument API changes. Oh and sample tracks. Those will also get done soon. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net _______________________________________________ LMMS-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lmms-devel
