Example #1
0
        public GuiController(IJukeController jukeControl)
        {
            this.jukeControl = jukeControl;
            overlay          = null;
            menuMapping      = new Dictionary <string, Action>();

            //Overlay.Opened     += OverlayOnOpened;
            //Overlay.Closed     += OverlayOnClosed;
            //Screen.Invalidated  += ScreenOnInvalidated;
            Screen.ScreenChange  += OnScreenChange;
            Window.WindowResized += WindowOnWindowResized;
            window = new Window();
            window.Run();
            sceneMap = new Dictionary <ScreenName, Screen>
            {
                { ScreenName.MainMenu, new MainMenuScreen(Console.WindowWidth, Console.WindowHeight) },
                { ScreenName.Admin, new AdminScreen(jukeControl, Console.WindowWidth, Console.WindowHeight) },
                { ScreenName.Library, new LibraryScreen(jukeControl, Console.WindowWidth, Console.WindowHeight) },
                { ScreenName.Quit, new ShutDownScreen(jukeControl) }
            };

            activeScreen = sceneMap[ScreenName.MainMenu];

            Console.CursorVisible = false;
            Keyboard.KeyPressed  += OnKeyPressed;
            keyboard = new Keyboard();

            drawables     = new Collection <LineBlock>();
            renderer      = new Renderer();
            Console.Title = "J.U.K.E. CLI version";
        }
Example #2
0
 public EventListener(IJukeController jukeController)
 {
     jukeController.LoadHandler.LoadInitiated += SongLoader_LoadInitiated;
     jukeController.LoadHandler.LoadCompleted += LoadHandler_LoadCompleted;
     jukeController.LoadHandler.LoadProgress  += LoadHandlerOnLoadProgress;
     jukeController.Player.SongPlayed         += Instance_SongPlayed;
 }
Example #3
0
        public LibraryScreen(IJukeController jukeControl, int width, int height)
        {
            this.jukeControl = jukeControl;
            menu             = new ConsoleMenu("Library",
                                               new ConsoleMenuItem {
                ID = "Songs", Label = "List songs"
            },
                                               new ConsoleMenuItem {
                ID = "Load", Label = "Load library"
            },
                                               new ConsoleMenuItem {
                ID = "Save", Label = "Save library"
            },
                                               new ConsoleMenuItem {
                ID = "Back", Label = "Back"
            }
                                               )
            {
                Width = width, MinHeight = height
            };

            menu.InstanceItemSelected += MenuOnInstanceItemSelected;
            Width     = width;
            MinHeight = height;
        }
Example #4
0
 public JukeServer()
 {
     logger = new TextWriterLogger(new StreamWriter("/Users/asbjornandersen/juke-server.log")
     {
         AutoFlush = true
     });
     PlayerEngineFactory.Engine        = new CorePlayerEngine();
     jukeController                    = JukeController.Instance;
     jukeController.Player.SongPlayed += (sender, song) => Messenger.Post("Now playing: " + song.Artist + " - " + song.Name);
     jukeController.Player.RegisterPlayerEngine(new CorePlayerEngine());
     Messenger.FrontendMessagePosted += (msg, s) =>
     {
         if (!messages.Contains(msg))
         {
             messages.Add(msg);
         }
     };
 }
Example #5
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            jukeController = JukeController.Instance;

            jukeController.Player.SongPlayed += Player_SongPlayed;

            if (!File.Exists("library.xml"))
            {
                Messenger.Log("Library doesn't exist. Create new one.");
                CreateLibrary();
            }
            else
            {
                Messenger.Log("Loading existing library");
                LoadLibrary();
            }

            searchLogics = new SearchLogicFactory().CreateAll(viewModel);
            searchLogic  = searchLogics[0];
            Messenger.Log("Main window loaded");
        }
Example #6
0
        public AdminScreen(IJukeController jukeControl, int width, int height)
        {
            this.jukeControl = jukeControl;
            menu             = new ConsoleMenu("Admin controls",
                                               new ConsoleMenuItem()
            {
                ID = "Load", Label = "Load songs to library"
            },
                                               new ConsoleMenuItem()
            {
                ID = "Back", Label = "Back"
            }
                                               );

            menu.InstanceItemSelected += MenuOnItemSelected;

            background = new Background
            {
                BackgroundColor = ConsoleColor.DarkGray, ForegroundColor = ConsoleColor.Green, Width = width,
                MinHeight       = height
            };
            Width     = width;
            MinHeight = height;
        }
 protected AsyncJukeCommand(IJukeController controller, ViewControl view, SelectionModel model) : base(controller, view, model)
 {
     this.controller = controller;
     this.view       = view;
     this.model      = model;
 }
 public PlayAlbumCommand(IJukeController controller, ViewControl view, SelectionModel model) : base(controller,
                                                                                                    view, model)
 {
 }
Example #9
0
 public StopSongCommand(IJukeController controller, ViewControl view, SelectionModel model) : base(controller,
                                                                                                   view, model)
 {
     this.controller = controller;
 }
Example #10
0
 public RenameArtistCommand(IJukeController controller, ViewControl view, SelectionModel model) : base(controller,
                                                                                                       view, model)
 {
 }
Example #11
0
 public static void Reset()
 {
     instance = new JukeController();
 }
 public SaveLibraryCommand(IJukeController controller, ViewControl view, SelectionModel model) : base(controller,
                                                                                                      view, model)
 {
 }
Example #13
0
 public ShutDownScreen(IJukeController jukeControl)
 {
     this.jukeControl = jukeControl;
 }
Example #14
0
 public DeleteAlbumCommand(IJukeController controller, ViewControl view, SelectionModel model) : base(controller,
                                                                                                      view, model)
 {
     model.PropertyChanged += Model_PropertyChanged;
 }
Example #15
0
 public AddSongsCommand(IJukeController jukeControl, AbstractSongAccessFactory factory)
 {
     this.jukeControl = jukeControl;
     this.factory     = factory;
 }
Example #16
0
 public LoadSongsCommand(IJukeController controller, ViewControl view, SelectionModel model) : base(controller,
                                                                                                    view, model)
 {
 }
 public LibraryStatsCommand(IJukeController jukeController, SongAccessFactory factory)
 {
     this.jukeController = jukeController;
     this.factory        = factory;
 }