示例#1
0
        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;
            }
        }
示例#2
0
        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();
        }