Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
82e1272
mythfrontend: make speaker test work when no settings have been changed
ulmus-scott May 22, 2025
e29c06b
fix include for libsamplerate
ulmus-scott May 22, 2025
582352a
libmyth/audio/spdifencoder.h: remove unused includes
ulmus-scott May 17, 2025
3d1d965
remove unused OutputListeners::m_mtx
ulmus-scott May 17, 2025
506cf33
remove set but unused OutputListeners::m_bufsize
ulmus-scott May 17, 2025
a9756d9
remove used once 'using Visuals'
ulmus-scott May 17, 2025
5e8d227
merge class OutputListeners into AudioOutput, its only subclass
ulmus-scott May 17, 2025
c2acbf1
inline OutputEvent QEvent::Type constants
ulmus-scott May 17, 2025
12607a1
rename OutputEvent to AudioOutput::Event
ulmus-scott May 17, 2025
794cae9
rename MythTV::Visual to Visualization
ulmus-scott May 17, 2025
af9495e
make AudioOutput::Event::m_errorMsg a value
ulmus-scott May 17, 2025
28cc33f
remove set but unused AudioOutput::m_lastWarn
ulmus-scott May 17, 2025
ae1adc4
inline AudioOutput::ClearError() and SilentError()
ulmus-scott May 21, 2025
c022187
create AudioTestThread::isOutputOpen() to replace result()
ulmus-scott May 22, 2025
2fddc2b
create AudioOutput::isConfigured()
ulmus-scott May 22, 2025
57c563e
remove AudioOutput::GetError()
ulmus-scott May 22, 2025
b6cd3f7
remove AudioOutput::m_lastError
ulmus-scott May 22, 2025
6de38ae
move DownmixFrames() to its only user
ulmus-scott May 22, 2025
8da4164
call AudioConvert's functions directly
ulmus-scott Jun 2, 2025
e0eee7b
rename test_audioutils to test_pink_noise
ulmus-scott Jun 3, 2025
53713db
create AudioOutput::playPinkNoise() replacing AudioOutputUtil::Genera…
ulmus-scott Jun 3, 2025
9762a8f
move functions from AudioOutputUtil to AudioOutputBase
ulmus-scott Jun 3, 2025
08ffb5a
use AudioOutput::DecodeAudio() instead of AudioOutputUtil::DecodeAudio()
ulmus-scott Jun 23, 2025
5fd5b58
remove duplicate doxygen comment for AudioOutput::DecodeAudio()
ulmus-scott Jun 23, 2025
652fdeb
AudioOutput::DecodeAudio() doesn't need to be virtual
ulmus-scott Jun 23, 2025
48d3058
include volumebase.h only where it is used
ulmus-scott Jun 28, 2025
63b7ca2
remove unnecessary include of spdifencoder.h
ulmus-scott Jun 28, 2025
597ad4a
move libmyth/audio to libmythtv
ulmus-scott Jun 28, 2025
0931eb5
move libmythtv/audio/audiooutputgraph.* to visualisations/
ulmus-scott Jun 28, 2025
5bd947d
move libmyth/mythav* to libmythtv
ulmus-scott Jun 28, 2025
0cb3bed
remove unused, outdated file libmyth/libmyth.def
ulmus-scott Jun 28, 2025
a00d86d
move guistartup.* from libmythui to libmyth
ulmus-scott Jul 3, 2025
2c67bc4
Bump MYTHTV_BINARY_VERSION
ulmus-scott Jul 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmake/VersionInformation.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ endif()
#

# See mythtv/libs/libmythbase/mythversion.h.in
set(MYTHTV_BINARY_CHANGED "20250212-1")
set(MYTHTV_BINARY_CHANGED "20250816-1")
set(MYTHTV_BINARY_VERSION "${PROJECT_VERSION_MAJOR}.${MYTHTV_BINARY_CHANGED}")

# See mythtv/bindings/python/MythTV/static.py.in
Expand Down
2 changes: 1 addition & 1 deletion mythplugins/mytharchive/mytharchive/thumbfinder.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ extern "C" {
#include <QScopedPointer>

// mythtv
#include <libmyth/mythavframe.h>
#include <libmythtv/mythavframe.h>
#include <libmythbase/programtypes.h>
#include <libmythtv/mythavutil.h>
#include <libmythui/mythscreentype.h>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

// MythTV headers
#include <mythconfig.h>
#include <libmyth/mythavframe.h>
#include <libmythtv/mythavframe.h>
#include <libmyth/mythcontext.h>
#include <libmythbase/exitcodes.h>
#include <libmythbase/filesysteminfo.h>
Expand Down
4 changes: 2 additions & 2 deletions mythplugins/mythmusic/mythmusic/avfdecoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@

// MythTV headers
#include <mythconfig.h>
#include <libmyth/audio/audiooutput.h>
#include <libmyth/audio/audiooutpututil.h>
#include <libmythtv/audio/audiooutput.h>
#include <libmythtv/audio/audiooutputsettings.h>
#include <libmythbase/mythlogging.h>
#include <libmythmetadata/metaio.h>
#include <libmythmetadata/metaioavfcomment.h>
Expand Down
2 changes: 1 addition & 1 deletion mythplugins/mythmusic/mythmusic/avfdecoder.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ extern "C" {
#include <QObject>

// MythTV headers
#include <libmyth/audio/audiooutputsettings.h>
#include <libmythtv/audio/audiooutputsettings.h>
#include <libmythtv/mythavutil.h>

// Mythmusic Headers
Expand Down
2 changes: 1 addition & 1 deletion mythplugins/mythmusic/mythmusic/cddecoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#include <cdio/logging.h>

// MythTV
#include <libmyth/audio/audiooutput.h>
#include <libmythtv/audio/audiooutput.h>
#include <libmythbase/mythlogging.h>
#include <libmythmetadata/musicmetadata.h>

Expand Down
2 changes: 0 additions & 2 deletions mythplugins/mythmusic/mythmusic/decoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
#include <QDir>

// MythTV
#include <libmyth/output.h>
#include <libmyth/visual.h>
#include <libmythmetadata/metaio.h>
#include <libmythmetadata/musicmetadata.h>

Expand Down
1 change: 0 additions & 1 deletion mythplugins/mythmusic/mythmusic/decoder.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ class DecoderFactory;

class QObject;
class QIODevice;
class OutputEvent;

class Buffer;
class AudioOutput;
Expand Down
6 changes: 3 additions & 3 deletions mythplugins/mythmusic/mythmusic/lyricsview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include <QThread>

// MythTV
#include <libmyth/audio/audiooutput.h>
#include <libmythtv/audio/audiooutput.h>
#include <libmythbase/mythcorecontext.h>
#include <libmythbase/mythdbcon.h>
#include <libmythbase/mythdirs.h>
Expand Down Expand Up @@ -101,11 +101,11 @@ void LyricsView::customEvent(QEvent *event)
{
findLyrics();
}
else if (event->type() == OutputEvent::kInfo)
else if (event->type() == AudioOutput::Event::kInfo)
{
if (m_autoScroll)
{
auto *oe = dynamic_cast<OutputEvent *>(event);
auto *oe = dynamic_cast<AudioOutput::Event *>(event);
MusicMetadata *curMeta = gPlayer->getCurrentMetadata();

if (!oe || !curMeta)
Expand Down
16 changes: 8 additions & 8 deletions mythplugins/mythmusic/mythmusic/mainvisual.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ void MainVisual::prepare()
delete m_nodes.takeLast();
}

// This is called via : mythtv/libs/libmyth/output.cpp :: OutputListeners::dispatchVisual
// from : mythtv/libs/libmyth/audio/audiooutputbase.cpp :: AudioOutputBase::AddData
// This is called via : mythtv/libs/libmythtv/audio/audiooutput.cpp :: AudioOutput::dispatchVisual
// from : mythtv/libs/libmythtv/audio/audiooutputbase.cpp :: AudioOutputBase::AddData
// Caller holds mutex() lock
void MainVisual::add(const void *buffer, unsigned long b_len,
std::chrono::milliseconds timecode,
Expand Down Expand Up @@ -266,17 +266,17 @@ void MainVisual::resize(const QSize size)

void MainVisual::customEvent(QEvent *event)
{
if ((event->type() == OutputEvent::kPlaying) ||
(event->type() == OutputEvent::kInfo) ||
(event->type() == OutputEvent::kBuffering) ||
(event->type() == OutputEvent::kPaused))
if ((event->type() == AudioOutput::Event::kPlaying) ||
(event->type() == AudioOutput::Event::kInfo) ||
(event->type() == AudioOutput::Event::kBuffering) ||
(event->type() == AudioOutput::Event::kPaused))
{
m_playing = true;
if (!m_updateTimer->isActive())
m_updateTimer->start();
}
else if ((event->type() == OutputEvent::kStopped) ||
(event->type() == OutputEvent::kError))
else if ((event->type() == AudioOutput::Event::kStopped) ||
(event->type() == AudioOutput::Event::kError))
{
m_playing = false;
}
Expand Down
4 changes: 2 additions & 2 deletions mythplugins/mythmusic/mythmusic/mainvisual.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@
#include <QWidget>

// MythTV headers
#include <libmyth/visual.h>
#include <libmythtv/audio/visualization.h>

// MythMusic
#include "visualize.h"

class MythUIVideo;

// base class to handle things like frame rate...
class MainVisual : public QObject, public MythTV::Visual
class MainVisual : public QObject, public Visualization
{
Q_OBJECT

Expand Down
14 changes: 7 additions & 7 deletions mythplugins/mythmusic/mythmusic/musiccommon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include <QLocale>

// mythtv
#include <libmyth/audio/audiooutput.h>
#include <libmythtv/audio/audiooutput.h>
#include <libmythbase/lcddevice.h>
#include <libmythbase/mythcorecontext.h>
#include <libmythbase/mythdate.h>
Expand Down Expand Up @@ -1232,7 +1232,7 @@ void MusicCommon::customEvent(QEvent *event)
{
QString statusString;

if (event->type() == OutputEvent::kPlaying)
if (event->type() == AudioOutput::Event::kPlaying)
{
MusicMetadata *curMeta = gPlayer->getCurrentMetadata();
if (curMeta)
Expand Down Expand Up @@ -1265,11 +1265,11 @@ void MusicCommon::customEvent(QEvent *event)
updateVolume();
}
}
else if (event->type() == OutputEvent::kBuffering)
else if (event->type() == AudioOutput::Event::kBuffering)
{
statusString = tr("Buffering stream.");
}
else if (event->type() == OutputEvent::kPaused)
else if (event->type() == AudioOutput::Event::kPaused)
{
statusString = tr("Stream paused.");

Expand All @@ -1292,10 +1292,10 @@ void MusicCommon::customEvent(QEvent *event)
}
}
}
else if (event->type() == OutputEvent::kInfo)
else if (event->type() == AudioOutput::Event::kInfo)
{

auto *oe = dynamic_cast<OutputEvent *>(event);
auto *oe = dynamic_cast<AudioOutput::Event *>(event);

if (!oe)
return;
Expand Down Expand Up @@ -1364,7 +1364,7 @@ void MusicCommon::customEvent(QEvent *event)
// TODO only need to update the playlist times here
updatePlaylistStats();
}
else if (event->type() == OutputEvent::kStopped)
else if (event->type() == AudioOutput::Event::kStopped)
{
statusString = tr("Stream stopped.");
if (m_stopButton)
Expand Down
2 changes: 1 addition & 1 deletion mythplugins/mythmusic/mythmusic/musiccommon.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include <QObject>

// mythtv
#include <libmyth/audio/audiooutput.h>
#include <libmythtv/audio/audiooutput.h>
#include <libmythbase/mythpluginexport.h>
#include <libmythmetadata/musicmetadata.h>
#include <libmythui/mythscreentype.h>
Expand Down
34 changes: 11 additions & 23 deletions mythplugins/mythmusic/mythmusic/musicplayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include <QWidget>

// mythtv
#include <libmyth/audio/audiooutput.h>
#include <libmythtv/audio/audiooutput.h>
#include <libmythbase/mthreadpool.h>
#include <libmythbase/mythcorecontext.h>
#include <libmythbase/mythdb.h>
Expand Down Expand Up @@ -288,7 +288,7 @@ void MusicPlayer::stop(bool stopAll)

// because we don't actually stop the audio output we have to fake a Stopped
// event so any listeners can act on it
OutputEvent oe(OutputEvent::kStopped);
AudioOutput::Event oe(AudioOutput::Event::kStopped);
dispatch(oe);

gCoreContext->emitTVPlaybackStopped();
Expand Down Expand Up @@ -389,35 +389,23 @@ bool MusicPlayer::openOutputDevice(void)
AUDIOOUTPUT_MUSIC, true, false,
gCoreContext->GetNumSetting("MusicDefaultUpmix", 0) + 1);

if (!m_output)
{
LOG(VB_GENERAL, LOG_ERR,
QString("MusicPlayer: Cannot open audio output device: %1").arg(adevice));

return false;
}

if (!m_output->GetError().isEmpty())
if (m_output == nullptr || !m_output->isConfigured())
{
LOG(VB_GENERAL, LOG_ERR,
QString("MusicPlayer: Cannot open audio output device: %1").arg(adevice));
LOG(VB_GENERAL, LOG_ERR,
QString("Error was: %1").arg(m_output->GetError()));

delete m_output;
m_output = nullptr;

return false;
}

m_output->setBufferSize(256 * 1024);

m_output->addListener(this);

// add any visuals to the audio output
// NOLINTNEXTLINE(modernize-loop-convert)
for (auto it = m_visualisers.begin(); it != m_visualisers.end() ; ++it)
m_output->addVisual((MythTV::Visual*)(*it));
m_output->addVisual((Visualization*)(*it));

// add any listeners to the audio output
QMutexLocker locker(m_lock);
Expand Down Expand Up @@ -816,16 +804,16 @@ void MusicPlayer::customEvent(QEvent *event)
}
}

if (event->type() == OutputEvent::kError)
if (event->type() == AudioOutput::Event::kError)
{
auto *aoe = dynamic_cast<OutputEvent *>(event);
auto *aoe = dynamic_cast<AudioOutput::Event *>(event);

if (!aoe)
return;

LOG(VB_GENERAL, LOG_ERR, QString("Audio Output Error: %1").arg(*aoe->errorMessage()));
LOG(VB_GENERAL, LOG_ERR, QString("Audio Output Error: %1").arg(aoe->errorMessage()));

MythErrorNotification n(tr("Audio Output Error"), tr("MythMusic"), *aoe->errorMessage());
MythErrorNotification n(tr("Audio Output Error"), tr("MythMusic"), aoe->errorMessage());
GetNotificationCenter()->Queue(n);

m_errorCount++;
Expand Down Expand Up @@ -882,9 +870,9 @@ void MusicPlayer::customEvent(QEvent *event)
stop(true);
}
}
else if (event->type() == OutputEvent::kInfo)
else if (event->type() == AudioOutput::Event::kInfo)
{
auto *oe = dynamic_cast<OutputEvent*>(event);
auto *oe = dynamic_cast<AudioOutput::Event*>(event);

if (!oe)
return;
Expand Down Expand Up @@ -1579,7 +1567,7 @@ void MusicPlayer::decoderHandlerReady(void)
// NOLINTNEXTLINE(modernize-loop-convert)
for (auto it = m_visualisers.begin(); it != m_visualisers.end() ; ++it)
{
//m_output->addVisual((MythTV::Visual*)(*it));
//m_output->addVisual((Visualization*)(*it));
//(*it)->setDecoder(decoder);
//m_visual->setOutput(m_output);
}
Expand Down
2 changes: 1 addition & 1 deletion mythplugins/mythmusic/mythmusic/musicplayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define MUSICPLAYER_H_

// MythTV
#include <libmyth/audio/audiooutput.h>
#include <libmythtv/audio/audiooutput.h>
#include <libmythbase/mythobservable.h>
#include <libmythbase/mythpluginexport.h>
#include <libmythmetadata/musicmetadata.h>
Expand Down
6 changes: 3 additions & 3 deletions mythplugins/mythmusic/mythmusic/streamview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ void StreamView::customEvent(QEvent *event)

updateTrackInfo(gPlayer->getCurrentMetadata());
}
else if (event->type() == OutputEvent::kPlaying)
else if (event->type() == AudioOutput::Event::kPlaying)
{
if (gPlayer->isPlaying())
{
Expand All @@ -190,7 +190,7 @@ void StreamView::customEvent(QEvent *event)
// pass it on to the default handler in MusicCommon
handled = false;
}
else if (event->type() == OutputEvent::kStopped)
else if (event->type() == AudioOutput::Event::kStopped)
{
if (m_streamList)
{
Expand All @@ -205,7 +205,7 @@ void StreamView::customEvent(QEvent *event)
// pass it on to the default handler in MusicCommon
handled = false;
}
else if (event->type() == OutputEvent::kBuffering)
else if (event->type() == AudioOutput::Event::kBuffering)
{
}
else if (event->type() == MythEvent::kMythEventMessage)
Expand Down
3 changes: 0 additions & 3 deletions mythplugins/mythmusic/mythmusic/synaesthesia.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
// C++
#include <array>

// MythTV
#include <libmyth/visual.h>

// MythMusic
#include "mainvisual.h"
#include "polygon.h"
Expand Down
2 changes: 1 addition & 1 deletion mythplugins/mythmusic/mythmusic/visualize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1889,7 +1889,7 @@ unsigned long Piano::getDesiredSamples(void)
// We want all the data! (within reason)
// typical observed values are 882 -
// 12.5 chunks of data per second from 44100Hz signal : Sampled at 50Hz, lots of 4, see :
// mythtv/libs/libmyth/audio/audiooutputbase.cpp :: AudioOutputBase::AddData
// mythtv/libs/libmythtv/audio/audiooutputbase.cpp :: AudioOutputBase::AddData
// See : mythtv/mythplugins/mythmusic/mythmusic/avfdecoder.cpp "20ms worth"
return (unsigned long) kPianoAudioSize; // Maximum we can be given
}
Expand Down
1 change: 0 additions & 1 deletion mythplugins/mythmusic/mythmusic/visualize.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include <QVector>

// MythTV headers
#include <libmyth/visual.h>
#include <libmythmetadata/musicmetadata.h>
#include <libmythbase/mythbaseexp.h>

Expand Down
2 changes: 1 addition & 1 deletion mythtv/configure
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
MYTHTV_VERSION_MAJMIN="36.0"
MYTHTV_LIBVERSION="36"
# See mythtv/libs/libmythbase/mythversion.h.in
MYTHTV_BINARY_VERSION="36.20250212-1"
MYTHTV_BINARY_VERSION="36.20250816-1"
# See bindings/python/MythTV/static.py.in
MYTHTV_PYTHON_OWN_VERSION="(36,0,-1,0)"
# See python/MythTV/services_api/send.py.in
Expand Down
Loading
Loading