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>(); }
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; }
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); }
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; }
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); }
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); }
private void StopUsingEnabled(Linn.Timer aTimer) { aTimer.Enabled = false; }
private void StopUsingStop(Linn.Timer aTimer) { aTimer.Stop(); }
private void StartUsingEnabled(Linn.Timer aTimer) { aTimer.Enabled = true; }
private void StartUsingStart(Linn.Timer aTimer) { aTimer.Start(); }