Skip to content

Commit

Permalink
Quick 'n dirty debug/trace to screen
Browse files Browse the repository at this point in the history
  • Loading branch information
FlyingRat committed Nov 15, 2021
1 parent b0a95af commit a67f1d3
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 2 deletions.
6 changes: 6 additions & 0 deletions xbmc/cores/VideoPlayer/DVDSubtitles/DVDSubtitlesLibass.cpp
Expand Up @@ -401,6 +401,12 @@ void CDVDSubtitlesLibass::ApplyStyle(style subStyle, renderOpts opts)
else
style->MarginV = static_cast<int>(subStyle.marginVertical * scale);
}

//LAHA start Debug
{

}
//LAHA end DEBUG

// Set the vertical alignment
if (subStyle.alignment == FontAlignment::TOP_LEFT ||
Expand Down
34 changes: 34 additions & 0 deletions xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp
Expand Up @@ -97,6 +97,40 @@ void CDebugRenderer::SetInfo(DEBUG_INFO_VIDEO& video, DEBUG_INFO_RENDER& render)
m_adapter->AddSubtitle(render.videoOutput.c_str(), 0., 5000000.);
}

/*
* //LAHA start
*/
void CDebugRenderer::PrintScreen(const std::string& text) //LAHA
{
//if (!m_isInitialized)
// return;

/**/
if (!m_isInitialized)
Initialize();
/**/

//m_adapter->FlushSubtitles();
m_adapter->AddSubtitle(text.c_str(), 0., 5000000.);
}
void CDebugRenderer::PrintScreen(char *fmt, ...) //LAHA
{
char buffer[256];

va_list args;
va_start (args, fmt);

vsnprintf (buffer, 256, fmt, args);

PrintScreen (std::string(buffer));

va_end (args);
}
/*
* LAHA end
*/


void CDebugRenderer::Render(CRect& src, CRect& dst, CRect& view)
{
if (!m_isInitialized)
Expand Down
2 changes: 2 additions & 0 deletions xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.h
Expand Up @@ -27,6 +27,8 @@ class CDebugRenderer
void SetInfo(DEBUG_INFO_PLAYER& info);
void SetInfo(DEBUG_INFO_VIDEO& video, DEBUG_INFO_RENDER& render);
void Render(CRect& src, CRect& dst, CRect& view);
void PrintScreen(const std::string& text); //LAHA
void PrintScreen(char *fmt, ...); //LAHA
void Flush();

protected:
Expand Down
4 changes: 2 additions & 2 deletions xbmc/cores/VideoPlayer/VideoRenderers/OverlayRenderer.cpp
Expand Up @@ -386,9 +386,9 @@ COverlay* CRenderer::ConvertLibass(CDVDOverlayLibass* o,
CSettings::SETTING_SUBTITLES_ALIGN);

// Set position of subtitles based on video calibration settings
if (subAlign == SUBTITLE_ALIGN_MANUAL)
// if (subAlign == SUBTITLE_ALIGN_MANUAL) // LAHA
{
rOpts.usePosition = true;
// rOpts.usePosition = true; //LAHA
RESOLUTION_INFO res;
res = CServiceBroker::GetWinSystem()->GetGfxContext().GetResInfo(
CServiceBroker::GetWinSystem()->GetGfxContext().GetVideoResolution());
Expand Down
41 changes: 41 additions & 0 deletions xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
Expand Up @@ -733,7 +733,48 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui)
m_pRenderer->GetVideoRect(src, dst, view);
m_overlays.SetVideoRect(src, dst, view);
m_overlays.Render(m_presentsource);


/*
* //LAHA END
*/
{
int subAlign = CServiceBroker::GetSettingsComponent()->GetSettings()->GetInt(
CSettings::SETTING_SUBTITLES_ALIGN);
std::string alignmodes[] = {"MANUAL", "BOTTOM_INSIDE", "BOTTOM_OUTSIDE", "TOP_INSIDE", "TOP_OUTSIDE"};
std::string alignmode = alignmodes[subAlign];

RESOLUTION_INFO res;
res = CServiceBroker::GetWinSystem()->GetGfxContext().GetResInfo(
CServiceBroker::GetWinSystem()->GetGfxContext().GetVideoResolution());
int position = 100.0 - (double)(res.iSubtitles - res.Overscan.top) * 100 / res.iHeight;


//m_debugRenderer.Initialize(); //LAHA
m_debugRenderer.Flush();

m_debugRenderer.PrintScreen("iHeight: %d, iWidth: %d", res.iHeight, res.iWidth);
m_debugRenderer.PrintScreen("iSHeight %d, iSWidth %d", res.iScreenHeight, res.iScreenWidth);
m_debugRenderer.PrintScreen("iSubtitles: %d, subAlign %s, pos %d", res.iSubtitles, alignmode.c_str(), position);

//m_debugRenderer.PrintScreen ("strMode: %s, strOutput: %s, strId: %s", res.strMode.c_str(), res.strOutput.c_str(), res.strId.c_str());

//m_debugRenderer.PrintScreen ("Overscan left: %d, right %d, top: %d, bottom %d, ", res.Overscan.left, res.Overscan.right, res.Overscan.top, res.Overscan.bottom);


//m_debugRenderer.PrintScreen("Lars %d %s %d", 10, "str1", 20); //LAHA
//m_debugRenderer.PrintScreen("Lars %d %s %d", 30, "str2", 40); //LAHA


m_debugRenderer.Render(src, dst, view);
m_debugTimer.Set(1000);
m_renderedOverlay = true;
}
/*
* //LAHA END
*/


if (m_renderDebug)
{
if (m_renderDebugVideo)
Expand Down

0 comments on commit a67f1d3

Please sign in to comment.