예제 #1
0
        public int TickPosition(JQuery element, AlphaTabApi context, int tickPosition)
        {
            if (context.Player == null)
            {
                return(0);
            }

            if (tickPosition.IsTruthy())
            {
                context.Player.TickPosition = tickPosition;
            }

            return(context.Player.TickPosition);
        }
예제 #2
0
        public PlaybackRange PlaybackRange(JQuery element, AlphaTabApi context, PlaybackRange playbackRange)
        {
            if (context.Player == null)
            {
                return(null);
            }

            if (playbackRange.IsTruthy())
            {
                context.Player.PlaybackRange = playbackRange;
            }

            return(context.Player.PlaybackRange);
        }
예제 #3
0
        public double PlaybackSpeed(JQuery element, AlphaTabApi context, double playbackSpeed)
        {
            if (context.Player == null)
            {
                return(0);
            }

            if (playbackSpeed.IsTruthy())
            {
                context.Player.PlaybackSpeed = playbackSpeed;
            }

            return(context.Player.PlaybackSpeed);
        }
예제 #4
0
        public float MetronomeVolume(JQuery element, AlphaTabApi context, float metronomeVolume)
        {
            if (context.Player == null)
            {
                return(0);
            }

            if (metronomeVolume.IsTruthy())
            {
                context.Player.MetronomeVolume = metronomeVolume;
            }

            return(context.Player.MetronomeVolume);
        }
예제 #5
0
        public bool PlaybackRange(JQuery element, AlphaTabApi context, bool loop)
        {
            if (context.Player == null)
            {
                return(false);
            }

            if (loop.IsTruthy())
            {
                context.Player.IsLooping = loop;
            }

            return(context.Player.IsLooping);
        }
예제 #6
0
        public object Exec(Element element, string method, string[] args)
        {
            if (Script.Write <bool>("untyped __js__(\"typeof(method) != 'string'\")"))
            {
                args   = new[] { method };
                method = "init";
            }

            if (method[0] == '_' || method == "Exec")
            {
                return(null);
            }

            var         jElement = new JQuery(element);
            AlphaTabApi context  = (AlphaTabApi)jElement.Data("alphaTab");

            if (method == "destroy" && !context.IsTruthy())
            {
                return(null);
            }
            if (method != "init" && !context.IsTruthy())
            {
                throw new Error("alphaTab not initialized");
            }

            var apiMethod = Script.Write <object>("untyped __js__(\"this[method]\")");

            if (apiMethod.IsTruthy())
            {
                var realArgs = Script.Write <string[]>("untyped __js__(\"[ jElement, context ].concat(args)\")");
                return(Script.Write <object>("untyped apiMethod.apply(this, realArgs)"));
            }
            else
            {
                Logger.Error("Api", "Method '" + method + "' does not exist on jQuery.alphaTab");
                return(null);
            }
        }
예제 #7
0
 public void TrackVolume(JQuery element, AlphaTabApi context, object tracks, float volume)
 {
     context.SetTrackVolume(tracks, volume);
 }
예제 #8
0
 public void SoloTrack(JQuery element, AlphaTabApi context, object tracks, bool solo)
 {
     context.SetTrackSolo(tracks, solo);
 }
예제 #9
0
 public void MuteTrack(JQuery element, AlphaTabApi context, object tracks, bool mute)
 {
     context.SetTrackMute(tracks, mute);
 }
예제 #10
0
 public void LoadSoundFont(JQuery element, AlphaTabApi context, object value)
 {
     context.LoadSoundFont(value);
 }
예제 #11
0
 public void Stop(JQuery element, AlphaTabApi context)
 {
     context.Stop();
 }
예제 #12
0
 public void Print(JQuery element, AlphaTabApi context, string width)
 {
     context.Print(width);
 }
예제 #13
0
 public void Tex(JQuery element, AlphaTabApi context, string tex)
 {
     context.Tex(tex);
 }
예제 #14
0
 public Settings CursorOptions(JQuery element, AlphaTabApi context, object options)
 {
     return(PlayerOptions(element, context, options));
 }
예제 #15
0
 public IAlphaSynth Player(JQuery element, AlphaTabApi context)
 {
     return(context.Player);
 }
예제 #16
0
 public void DownloadMidi(JQuery element, AlphaTabApi context, object tracks, float volume)
 {
     context.DownloadMidi();
 }
예제 #17
0
 public void Destroy(JQuery element, AlphaTabApi context)
 {
     element.RemoveData("alphaTab");
     context.Destroy();
 }
예제 #18
0
 public void PlayPause(JQuery element, AlphaTabApi context)
 {
     context.PlayPause();
 }
예제 #19
0
 public AlphaTabApi Api(JQuery element, AlphaTabApi context)
 {
     return(context);
 }
예제 #20
0
 public IScoreRenderer Renderer(JQuery element, AlphaTabApi context)
 {
     return(context.Renderer);
 }