public void DoAction(string s) { switch (s) { case Common.StartAction: mplayer.Start(); break; case Common.StopAction: mplayer.Start(); break; case Common.MainAAction: mplayer.GotoSection(StyleSections.MainA, false); break; case Common.MainBAction: mplayer.GotoSection(StyleSections.MainB, false); break; case Common.FillInABAction: mplayer.GotoSection(StyleSections.FillInAB, true); break; case Common.FillInBAAction: mplayer.GotoSection(StyleSections.FillInBA, true); break; case Common.EndingBAction: mplayer.GotoSection(StyleSections.EndingB, false); break; default: new ApplicationException("Action " + s + " not implemented!"); break; } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); SetContentView(Resource.Layout.ActivityMain); Android.Support.V4.App.FragmentManager fm = SupportFragmentManager; playFragment = (PlayFragment)fm.FindFragmentById(Resource.Layout.FragmentPlay); if (playFragment == null) { playFragment = new PlayFragment(); Android.Support.V4.App.FragmentTransaction ft = fm.BeginTransaction(); ft.Add(Resource.Id.main_container, playFragment); ft.Commit(); } toolbarFragment = (ToolBarFragment)fm.FindFragmentById(Resource.Layout.FragmentToolBar); if (toolbarFragment == null) { toolbarFragment = new ToolBarFragment(); Android.Support.V4.App.FragmentTransaction ft = fm.BeginTransaction(); ft.Add(Resource.Id.toolbar_container, toolbarFragment); ft.Commit(); } chordRecognizer = new ChordRecognizer(); MIDIStyle midiStyle = new MIDIStyle(); midiStyle.LoadStyle("ddd"); mplayer = new MIDIPlayer(/*this,*/ midiStyle); mplayer.OnTactEvent += (object sender, OnTactEventArgs e) => playFragment.SetTempoAndTact(e.CurrentTempo, e.CurrentTact); mplayer.OnChordChangeEvent += () => OnChordChanged(); mplayer.OnSectionChangeEvent += () => OnSectionChanged(); mplayer.Tracks = midiStyle.MidiSection.Tracks; mplayer.Start(); }