Hi

yay! My proof-of-concept is ready.

in branches/poslen_changes, muse can exactly align wave events (not
parts atm.)

i've tried this out with a sine wave, which i duplicated into two
tracks. in one of the tracks, i moved the sine wave about half a phase,
and due to the interference it was almost quiet :)
(-> it works.)

i'm not aware of any breakage i might have introduced. the code is a bit
crappy and dirty at the moment but that's easy to clean.


please note that while using this branch should be perfectly fine,
saving and loading files will currently drop the subtick information!


Tim, please have a look at my changes.

i basically did the following:
- create a struct XTick { unsigned tick; float subtick; }
  with 0<=subtick<1 (that's why using float is okay here)
- adapt Pos and PosLen so they store their position in XTicks, not
  in unsigned integers any more. Add compatibility functions to not
  confuse old code.
- change MidiEditor::raster* to use XTicks, adapt all code to make it
  still work.
- change WaveEvent, WavePart to be aligned in (x)TICKS, not FRAMES.
- change Wave{Edit,Canvas} to use the XTicks properly.


what needs to be done:
- ask the user whether he wants the whole song in TICKS or FRAMES mode
- tim's time scale changes
- proper saving/reading of xticks



by concept, theoretical also wave *parts* (not events), and also midi
events/parts can be subtick-aligned. IMHO we shall change the code to
support this sooner or later.

the current state might break when changing tempo, because:
- the duration in audio frames of a wave event will now change (because
  it's ticks, not frames. and this is intended, because the
  wave-restretch will handle this one day)
- but wave-restretch doesn't exist yet, so the audio event data may be
  too short or too long for the actual demanded length

this can result in clipped audio (in case of a higher tempo) or playing
back noise (lower tempo)


greetings
flo

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to