Ejemplo n.º 1
0
        /// <summary>
        /// Initializes the bridge and connects it to DiscordRPC
        /// </summary>
        /// <param name="applicationId">The Discord application ID for rich presence</param>
        public DiscordBridge(string applicationId)
        {
            var handlers = new DiscordRpc.EventHandlers();

            DiscordRpc.Initialize(applicationId, ref handlers, true, null);

            Tokens = AppDomain.CurrentDomain.GetAssemblies().SelectMany(s => s.GetTypes()).Where(p => typeof(IToken).IsAssignableFrom(p) && p.IsClass).Select(Activator.CreateInstance).Select(i => (IToken)i).ToList();

            _iTunes = new iTunesApp();

            _timer = new DispatcherTimer {
                Interval = TimeSpan.FromSeconds(15)
            };
            _timer.Tick += Timer_OnTick;
            _timer.Start();

            _currentArtist   = "";
            _currentTitle    = "";
            _currentState    = ITPlayerState.ITPlayerStateStopped;
            _currentPosition = 0;
        }