public ModelSourceMediaRendererUpnpAv(Source aSource)
        {
            DidlLite  didl      = new DidlLite();
            audioItem itemAudio = new audioItem();

            itemAudio.Title = "Unknown";
            didl.Add(itemAudio);
            kUnknownPlaylistItem = new MrItem(0, null, didl);

            iSource     = aSource;
            iInstanceId = 0;
            iTrackId    = 0;

            try
            {
                iServiceConnectionManager = new ServiceConnectionManager(iSource.Device, iSource.House.EventServer);
            }
            catch (ServiceException)
            {
                throw new ModelSourceException(301, "Service failure");
            }

            iActionGetProtocolInfo = iServiceConnectionManager.CreateAsyncActionGetProtocolInfo();

            iActionGetProtocolInfo.EventResponse += EventResponseGetProtocolInfo;

            try
            {
                iServiceAVTransport = new ServiceAVTransport(iSource.Device, iSource.House.EventServer);
            }
            catch (ServiceException)
            {
                throw new ModelSourceException(301, "Service failure");
            }

            iActionPlay                 = iServiceAVTransport.CreateAsyncActionPlay();
            iActionPause                = iServiceAVTransport.CreateAsyncActionPause();
            iActionStop                 = iServiceAVTransport.CreateAsyncActionStop();
            iActionSeek                 = iServiceAVTransport.CreateAsyncActionSeek();
            iActionNext                 = iServiceAVTransport.CreateAsyncActionNext();
            iActionPrevious             = iServiceAVTransport.CreateAsyncActionPrevious();
            iActionSetAVTransportURI    = iServiceAVTransport.CreateAsyncActionSetAVTransportURI();
            iActionGetPositionInfo      = iServiceAVTransport.CreateAsyncActionGetPositionInfo();
            iActionGetTransportSettings = iServiceAVTransport.CreateAsyncActionGetTransportSettings();
            iActionSetPlayMode          = iServiceAVTransport.CreateAsyncActionSetPlayMode();

            iActionGetPositionInfo.EventResponse      += EventResponseGetPositionInfo;
            iActionGetTransportSettings.EventResponse += EventResponseGetTransportSettings;
            iActionSetAVTransportURI.EventResponse    += EventResponseSetAVTransportURI;

            iTimer = new Linn.Timer();

            // Sets the timer interval to 1 second.
            iTimer.Interval  = 1000;
            iTimer.Elapsed  += TimerElapsed;
            iTimer.AutoReset = false;

            iMutex    = new Mutex(false);
            iPlaylist = new List <MrItem>();
        }
Ejemplo n.º 2
0
        public FormStatus(Form aForm, IArtworkCache aArtworkCache, IViewSupport aViewSupport)
        {
            iViewSupport = aViewSupport;

            iMutex = new Mutex(false);

            iPlaylist = new List <MrItem>();
            iTrack    = null;

            iPresets     = new List <MrItem>();
            iPresetIndex = -1;

            iStartIndex = 0;
            iOffset     = 0;
            iIndex      = -1;

            iTicker                = new Ticker();
            iScrollTimer           = new Linn.Timer();
            iScrollTimer.AutoReset = false;
            iScrollTimer.Interval  = 20;
            iScrollTimer.Elapsed  += ScrollTimerElapsed;

            iTimer           = new Linn.Timer();
            iTimer.AutoReset = false;
            iTimer.Interval  = 500;
            iTimer.Elapsed  += TimerElapsed;

            iArtworkCache = aArtworkCache;
            iArtworkCache.EventUpdated += EventUpdated;

            kImageNoArtwork          = Linn.Kinsky.Properties.Resources.NoAlbumArt;
            kImageReflectedNoArtwork = iArtworkCache.ReflectImage(kImageNoArtwork);

            iArtwork          = kImageNoArtwork;
            iReflectedArtwork = kImageReflectedNoArtwork;

            iMicroFont  = new Font(iViewSupport.FontSmall.FontFamily, ClientSize.Height / 50.0f, FontStyle.Regular);
            iSmallFont  = new Font(iViewSupport.FontSmall.FontFamily, ClientSize.Height / 30.0f, FontStyle.Regular);
            iMediumFont = new Font(iViewSupport.FontMedium.FontFamily, ClientSize.Height / 25.0f, FontStyle.Regular);
            iLargeFont  = new Font(iViewSupport.FontLarge.FontFamily, ClientSize.Height / 15.0f, FontStyle.Bold);

            InitializeComponent();

            kItemWidth = ClientSize.Width;
        }
Ejemplo n.º 3
0
    public override void Test()
    {
        Linn.Timer timer = null;

        // Default construction
        timer = new Linn.Timer();
        TEST(timer.AutoReset == true);
        TEST(timer.Enabled == false);
        TEST(timer.Interval == 100);

        // Non-default construction
        timer = new Linn.Timer(1000);
        TEST(timer.AutoReset == true);
        TEST(timer.Enabled == false);
        TEST(timer.Interval == 1000);

        // Setting/Getting of properties
        timer.Interval = 1;
        TEST(timer.Interval == 1);
        timer.AutoReset = false;
        TEST(timer.AutoReset == false);

        // AutoReset == false
        iEventHandler1 = 0;
        iEventHandler2 = 0;
        timer          = new Linn.Timer(1000);
        TestNoAutoReset(timer, StartUsingEnabled, StopUsingEnabled);
        iEventHandler1 = 0;
        iEventHandler2 = 0;
        timer          = new Linn.Timer(1000);
        TestNoAutoReset(timer, StartUsingStart, StopUsingStop);

        // AutoReset == true
        iEventHandler1 = 0;
        iEventHandler2 = 0;
        timer          = new Linn.Timer(1000);
        TestAutoReset(timer, StartUsingEnabled, StopUsingEnabled);
        iEventHandler1 = 0;
        iEventHandler2 = 0;
        timer          = new Linn.Timer(1000);
        TestAutoReset(timer, StartUsingStart, StopUsingStop);
    }
Ejemplo n.º 4
0
        public MediaProviderEarthMap(IMediaProviderSupportV7 aSupport)
        {
            iSupport = aSupport;

            iTimer          = new Linn.Timer();
            iTimer.Interval = 1000 * 60 * 10;//3600000;
            iTimer.Elapsed += TimerElapsed;

            iTimerCloudMap          = new Linn.Timer();
            iTimerCloudMap.Interval = 1000 * 60 * 60 * 3;   // update every 3hrs
            iTimerCloudMap.Elapsed += TimerCloudMapElapsed;

            iMapGenerator = new MapGenerator(OssKinskyMppEarthMap.Properties.Resources.Day, OssKinskyMppEarthMap.Properties.Resources.Night);

            try
            {
                Directory.CreateDirectory(Path.Combine(iSupport.AppSupport.SavePath, Name));

                string   filename = Path.Combine(iSupport.AppSupport.SavePath, Path.Combine(Name, kCloudMapFilename));
                FileInfo info     = new FileInfo(filename);
                if (info.Exists)
                {
                    // re-use saved image if it was written to cache within the last 3 hours
                    if (DateTime.Compare(DateTime.Now, info.LastWriteTime.AddHours(3)) < 0)
                    {
                        iClouds = new Bitmap(filename);
                    }
                }
            }
            catch (Exception) { }

            iPanel           = new PanelBusy();
            iPanel.ForeColor = aSupport.ViewSupport.ForeColour;
            iPanel.BackColor = aSupport.ViewSupport.BackColour;
            iPanel.Font      = aSupport.ViewSupport.FontMedium;

            iMutex = new Mutex(false);

            iPanel.Paint  += Paint;
            iPanel.Resize += Resize;
        }
Ejemplo n.º 5
0
    private void TestNoAutoReset(Linn.Timer aTimer, DStartStopFunc aStartFunc, DStartStopFunc aStopFunc)
    {
        aTimer.AutoReset = false;
        aTimer.Interval  = 100;
        TEST(iEventHandler1 == 0);
        TEST(iEventHandler2 == 0);

        // 0 handlers
        aStartFunc(aTimer);
        Thread.Sleep(200);
        TEST(iEventHandler1 == 0);
        TEST(iEventHandler2 == 0);
        TEST(aTimer.Enabled == false);

        // 1 handler
        aTimer.Elapsed += new EventHandler(EventHandler1);
        aStartFunc(aTimer);
        Thread.Sleep(200);
        TEST(iEventHandler1 == 1);
        TEST(iEventHandler2 == 0);
        TEST(iEventHandler1Sender == aTimer);
        TEST(aTimer.Enabled == false);

        // 2 handlers
        aTimer.Elapsed += new EventHandler(EventHandler2);
        aStartFunc(aTimer);
        Thread.Sleep(200);
        TEST(iEventHandler1 == 2);
        TEST(iEventHandler2 == 1);
        TEST(iEventHandler1Sender == aTimer);
        TEST(iEventHandler2Sender == aTimer);
        TEST(aTimer.Enabled == false);

        // Start & Stop - should get no events
        aStartFunc(aTimer);
        aStopFunc(aTimer);
        TEST(iEventHandler1 == 2);
        TEST(iEventHandler2 == 1);
        TEST(aTimer.Enabled == false);
    }
Ejemplo n.º 6
0
    private void TestAutoReset(Linn.Timer aTimer, DStartStopFunc aStartFunc, DStartStopFunc aStopFunc)
    {
        aTimer.AutoReset = true;
        aTimer.Interval  = 100;
        TEST(iEventHandler1 == 0);
        TEST(iEventHandler2 == 0);

        // 0 handlers
        aStartFunc(aTimer);
        Thread.Sleep(1050); // 10 events should have happened
        TEST(aTimer.Enabled == true);
        aStopFunc(aTimer);
        TEST(iEventHandler1 == 0);
        TEST(iEventHandler2 == 0);
        TEST(aTimer.Enabled == false);

        // 1 handler
        aTimer.Elapsed += new EventHandler(EventHandler1);
        aStartFunc(aTimer);
        Thread.Sleep(1050); // 10 events should have happened
        TEST(aTimer.Enabled == true);
        aStopFunc(aTimer);
        TEST(iEventHandler1 == 10);
        TEST(iEventHandler2 == 0);
        TEST(iEventHandler1Sender == aTimer);
        TEST(aTimer.Enabled == false);

        // 2 handlers
        aTimer.Elapsed += new EventHandler(EventHandler2);
        aStartFunc(aTimer);
        Thread.Sleep(1050); // 10 events should have happened
        TEST(aTimer.Enabled == true);
        aStopFunc(aTimer);
        TEST(iEventHandler1 == 20);
        TEST(iEventHandler2 == 10);
        TEST(iEventHandler1Sender == aTimer);
        TEST(iEventHandler2Sender == aTimer);
        TEST(aTimer.Enabled == false);
    }
Ejemplo n.º 7
0
 private void StopUsingEnabled(Linn.Timer aTimer)
 {
     aTimer.Enabled = false;
 }
Ejemplo n.º 8
0
 private void StopUsingStop(Linn.Timer aTimer)
 {
     aTimer.Stop();
 }
Ejemplo n.º 9
0
 private void StartUsingEnabled(Linn.Timer aTimer)
 {
     aTimer.Enabled = true;
 }
Ejemplo n.º 10
0
 private void StartUsingStart(Linn.Timer aTimer)
 {
     aTimer.Start();
 }