public void CtorTest(string filename) { var inputFilepath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "midi", filename); var sequence = new Sequence(inputFilepath); var sequencer = new Sequencer(sequence); Assert.That(sequencer.Interval, Is.GreaterThan(0)); Assert.That(sequencer.LoopBeginTick, Is.GreaterThanOrEqualTo(0)); Assert.That(sequencer.Sequence, Is.EqualTo(sequence)); Assert.That(sequencer.Tempo, Is.Not.Negative); Assert.That(sequencer.TempoFactor, Is.GreaterThanOrEqualTo(0)); }
public bool Load(string path, Guid device) { try { _seq = new Sequence(path); _sr = new Sequencer(_seq); _lastPath = path; _sr.OnTrackEvent += sr_OnTrackEvent; _sr.SequenceEnd += sr_SequenceEnd; _sr.TempoChanged += sr_TempoChanged; return true; } catch (Exception e) { #if DEBUG throw (e); #endif Console.WriteLine(e); return false; } }
public void Unload() { _seq = null; if (_sr != null) { _sr.OnTrackEvent -= sr_OnTrackEvent; _sr.SequenceEnd -= sr_SequenceEnd; _sr.TempoChanged -= sr_TempoChanged; _sr.Stop(); _sr = null; } if (_midi != null) { _midi.Close(); _midi = null; } }
public void ApplyToSequencer(Sequencer sequencer) { if (sequencer != null) sequencer.TempoFactor = this.trackBar_tempo.Value / 100.0f; }