Example #1
0
 public ExecuteRom(Func <Label, U8> handlerListAdd, LiveQueue queue, Label execContinue, Label _)
 {
     _liveQueue           = queue;
     _executeLoopContinue = execContinue;
     _opExecuteRom        = handlerListAdd(LabelFor(Handler));
     _ptrRomStart         = Ptr.New(NES.zp, "VRamQueue_ExecuteRom_ptrRomStart");
 }
 public Pause(Func <Label, U8> handlerListAdd, LiveQueue queue, Label _, Label execBreak)
 {
     _liveQueue        = queue;
     _executeLoopBreak = execBreak;
     _pauseCount       = VByte.New(NES.ram, "VRamQueue_pauseCount");
     _opPause          = handlerListAdd(LabelFor(Handler));
 }
Example #3
0
        public SpotifireServer(string password = null)
        {
            if (Instance != null)
                throw new InvalidOperationException("Can't have 2 servers!");
            Instance = this;

            this.password = password;
            this.spotify = Spotify.CreateSession(Program.applicationKey, Program.cacheLocation, Program.settingsLocation, Program.userAgent);
            this.spotify.SetPrefferedBitrate(sp_bitrate.BITRATE_320k);

            this.spotify.LoginComplete += new SessionEventHandler(spotify_LoginComplete);
            this.spotify.LogoutComplete += new SessionEventHandler(spotify_LogoutComplete);
            this.spotify.MusicDeliver += new MusicDeliveryEventHandler(spotify_MusicDeliver);
            this.spotify.EndOfTrack += new SessionEventHandler(spotify_EndOfTrack);

            this.spotify.StartPlayback += new SessionEventHandler(spotify_StartPlayback);
            this.spotify.StopPlayback += new SessionEventHandler(spotify_StopPlayback);

            this.playQueue = new LiveQueue<ITrack>();

            this.messageQueue = new Queue<ClientAction>();
            this.messageLock = new AutoResetEvent(false);
            this.messageThread = new Thread(new ThreadStart(MessageThread));
            this.messageThread.IsBackground = true;
            this.messageThread.Start();

            player = new BASSPlayer();
        }
Example #4
0
 public Increment(Func <Label, U8> handlerListAdd, LiveQueue queue)
 {
     //TODO: add a way to store multiple op IDs, one per callback
     _liveQueue = queue;
     _opHoriz   = handlerListAdd(LabelFor(Handler_Horiz));
     _opVert    = handlerListAdd(LabelFor(Handler_Vert));
 }
 public Increment(Func <Label, U8> handlerListAdd, LiveQueue queue, Label execContinue, Label _)
 {
     _liveQueue           = queue;
     _executeLoopContinue = execContinue;
     _opHoriz             = handlerListAdd(LabelFor(Handler_Horiz));
     _opVert = handlerListAdd(LabelFor(Handler_Vert));
 }
Example #6
0
        public void Setup(int length, params Option[] options)
        {
            _done = VByte.New(Ram, $"{nameof(VRamQueue)}{nameof(_done)}");
            //_handlerAddress = VWord.New(ram, "VRamQueue_handlerAddress");
            _executeLoopContinue = Labels.New();
            _executeLoopBreak    = Labels.New();

            _liveQueue = LiveQueue.New(Zp, Ram, Ram, length, $"{nameof(VRamQueue)}{nameof(_liveQueue)}", Op.Stop);

            _options = options ?? Array.Empty <Option>();

            OptionModules();
        }
        //TODO: this doesn't have to be aligned to a page, so allow scenes to use this directly with their ram refs
        public void Setup(U16 pageStart, U8 length)
        {
            _done = VByte.New(Ram, $"{nameof(VRamQueue)}{nameof(_done)}");
            _executeLoopContinue = Labels.New();
            _executeLoopBreak    = Labels.New();

            var VRAM = Ram.Allocate(Addr(pageStart), Addr((U16)(pageStart + 0xFF)), "VRAM");

            _ops = new List <VRamQueueOp>();
            _ops.Add(new NOP());
            _opHandlers = new List <Label>();
            _liveQueue  = LiveQueue.New(Zp, Ram, VRAM, length, $"{nameof(VRamQueue)}{nameof(_liveQueue)}", Op <Stop>()?.Id ?? 255);
        }
Example #8
0
        //TODO: this doesn't have to be aligned to a page, so allow scenes to use this directly with their ram refs
        public void SetupAligned(U16 pageStart, U8 length, params Option[] options)
        {
            _done = VByte.New(Ram, $"{nameof(VRamQueue)}{nameof(_done)}");
            //_handlerAddress = VWord.New(ram, "VRamQueue_handlerAddress");
            _executeLoopContinue = Labels.New();
            _executeLoopBreak    = Labels.New();

            var VRAM = Ram.Allocate(Addr(pageStart), Addr((U16)(pageStart + 0xFF)), "VRAM");

            _liveQueue = LiveQueue.New(Zp, Ram, VRAM, length, $"{nameof(VRamQueue)}{nameof(_liveQueue)}", Op.Stop);

            _options = options ?? Array.Empty <Option>();

            OptionModules();
        }
Example #9
0
        public SpotifireServer(string password = null)
        {
            if (Instance != null)
                throw new InvalidOperationException("Can't have 2 servers!");
            Instance = this;

            this.password = password;
            this.spotify = Spotify.CreateSession(Program.applicationKey, Program.cacheLocation, Program.settingsLocation, Program.userAgent);
            this.spotify.SetPrefferedBitrate(sp_bitrate.BITRATE_320k);

            this.spotify.LoginComplete += new SessionEventHandler(spotify_LoginComplete);
            this.spotify.LogoutComplete += new SessionEventHandler(spotify_LogoutComplete);

            this.spotify.EndOfTrack += new SessionEventHandler(spotify_EndOfTrack);
            this.spotify.MusicDeliver += new MusicDeliveryEventHandler(spotify_MusicDeliver);

            this.playQueue = new LiveQueue<ITrack>();
            playQueue.Repeat = true;

            player = new BASSPlayer();
        }
 public TileArray(Func <Label, U8> handlerListAdd, LiveQueue queue, Label execContinue, Label _)
 {
     _liveQueue           = queue;
     _executeLoopContinue = execContinue;
     _opTileArray         = handlerListAdd(LabelFor(Handler));
 }
 public Address(Func <Label, U8> handlerListAdd, LiveQueue queue, Label execContinue, Label _)
 {
     _liveQueue           = queue;
     _executeLoopContinue = execContinue;
     _opAddr = handlerListAdd(LabelFor(Handler));
 }
Example #12
0
 public FromAddress(LiveQueue queue)
 {
     _liveQueue = queue;
 }