void StreamRender::setUrl(const QString url){ StreamPlay *streamplay= new StreamPlay; connect(this, SIGNAL(next()),streamplay, SLOT(setNext())); connect(this, SIGNAL(stop()),streamplay, SLOT(setStop())); connect(streamplay, SIGNAL(Finish()),this, SLOT(StreamFree())); connect(streamplay, SIGNAL(FinishStop()),this, SLOT(StreamFreeStop())); // streamplay->isFaderSolapar(true); streamplay->isFaderStop(true); streamplay->setFaderSec(1); streamplay->setDevice(Device); streamplay->setUrl(url); stream = streamplay->stream; StreamMath *streammath = new StreamMath(stream); segundos = streammath->Duracion(); Slider->setMaximum(segundos); delete streammath; Timer->start(Render); renderthread->start(); }
/* * OnExposeComplete is the dispatch routine that is called when an image has been taken * by the background thread. * * It: * - causes the image to be redrawn by calling pGuider->UpateImageDisplay() * - calls the routine to update the guider state (which may do nothing) * - calls any other appropriate state update routine depending upon the current state * - updates button state based on appropriate state variables * - schedules another exposure if CaptureActive is stil true * */ void MyFrame::OnExposeComplete(usImage *pNewFrame, bool err) { try { Debug.Write("Processing an image\n"); m_exposurePending = false; if (pGuider->GetPauseType() == PAUSE_FULL) { delete pNewFrame; Debug.Write("guider is paused, ignoring frame, not scheduling exposure\n"); return; } if (err) { Debug.Write("OnExposeComplete(): Capture Error reported\n"); delete pNewFrame; StopCapturing(); if (pGuider->IsCalibratingOrGuiding()) { pGuider->StopGuiding(); pGuider->UpdateImageDisplay(); } pGuider->Reset(false); CaptureActive = m_continueCapturing; UpdateButtonsStatus(); PhdController::AbortController("Error reported capturing image"); SetStatusText(_("Stopped.")); // some camera drivers disconnect the camera on error if (!pCamera->Connected) SetStatusText(wxEmptyString, 2); throw ERROR_INFO("Error reported capturing image"); } ++m_frameCounter; if (m_rawImageMode && !m_rawImageModeWarningDone) { WarnRawImageMode(); m_rawImageModeWarningDone = true; } // check for dark frame compatibility in case the frame size changed (binning changed) if (pCamera->DarkFrameSize() != m_prevDarkFrameSize) { CheckDarkFrameGeometry(); } pGuider->UpdateGuideState(pNewFrame, !m_continueCapturing); pNewFrame = NULL; // the guider owns it now PhdController::UpdateControllerState(); Debug.Write(wxString::Format("OnExposeCompete: CaptureActive=%d m_continueCapturing=%d\n", CaptureActive, m_continueCapturing)); CaptureActive = m_continueCapturing; if (CaptureActive) { ScheduleExposure(); } else { FinishStop(); } } catch (wxString Msg) { POSSIBLY_UNUSED(Msg); UpdateButtonsStatus(); } }