fix: remove gapless toggle — architecture is always gapless
The player keeps the audio output alive between tracks unconditionally. The toggle only controlled URL prefetching, not actual audio gaplessness. Remove the setting and always prefetch the next track URL. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -41,10 +41,6 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent)
|
|||||||
m_replayGain->setChecked(AppSettings::instance().replayGainEnabled());
|
m_replayGain->setChecked(AppSettings::instance().replayGainEnabled());
|
||||||
playLayout->addRow(m_replayGain);
|
playLayout->addRow(m_replayGain);
|
||||||
|
|
||||||
m_gapless = new QCheckBox(tr("Gapless playback (pre-fetch next track)"), playGroup);
|
|
||||||
m_gapless->setChecked(AppSettings::instance().gaplessEnabled());
|
|
||||||
playLayout->addRow(m_gapless);
|
|
||||||
|
|
||||||
layout->addWidget(playGroup);
|
layout->addWidget(playGroup);
|
||||||
|
|
||||||
// --- Last.fm group ---
|
// --- Last.fm group ---
|
||||||
@@ -100,7 +96,6 @@ void SettingsDialog::applyChanges()
|
|||||||
{
|
{
|
||||||
AppSettings::instance().setPreferredFormat(m_formatBox->currentData().toInt());
|
AppSettings::instance().setPreferredFormat(m_formatBox->currentData().toInt());
|
||||||
AppSettings::instance().setReplayGainEnabled(m_replayGain->isChecked());
|
AppSettings::instance().setReplayGainEnabled(m_replayGain->isChecked());
|
||||||
AppSettings::instance().setGaplessEnabled(m_gapless->isChecked());
|
|
||||||
AppSettings::instance().setLastFmEnabled(m_lastFmEnabled->isChecked());
|
AppSettings::instance().setLastFmEnabled(m_lastFmEnabled->isChecked());
|
||||||
AppSettings::instance().setLastFmApiKey(m_lastFmApiKey->text().trimmed());
|
AppSettings::instance().setLastFmApiKey(m_lastFmApiKey->text().trimmed());
|
||||||
AppSettings::instance().setLastFmApiSecret(m_lastFmApiSecret->text().trimmed());
|
AppSettings::instance().setLastFmApiSecret(m_lastFmApiSecret->text().trimmed());
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ private:
|
|||||||
// Playback
|
// Playback
|
||||||
QComboBox *m_formatBox = nullptr;
|
QComboBox *m_formatBox = nullptr;
|
||||||
QCheckBox *m_replayGain = nullptr;
|
QCheckBox *m_replayGain = nullptr;
|
||||||
QCheckBox *m_gapless = nullptr;
|
|
||||||
|
|
||||||
// Last.fm
|
// Last.fm
|
||||||
QCheckBox *m_lastFmEnabled = nullptr;
|
QCheckBox *m_lastFmEnabled = nullptr;
|
||||||
|
|||||||
@@ -269,8 +269,8 @@ void MainWindow::onTrackChanged(const QJsonObject &track)
|
|||||||
statusBar()->showMessage(
|
statusBar()->showMessage(
|
||||||
artist.isEmpty() ? title : QStringLiteral("▶ %1 — %2").arg(artist, title));
|
artist.isEmpty() ? title : QStringLiteral("▶ %1 — %2").arg(artist, title));
|
||||||
|
|
||||||
// Gapless: prefetch next track URL so it starts immediately
|
// Prefetch next track URL to minimise the gap between tracks
|
||||||
if (AppSettings::instance().gaplessEnabled() && m_queue->canGoNext()) {
|
if (m_queue->canGoNext()) {
|
||||||
const auto upcoming = m_queue->upcomingTracks(1);
|
const auto upcoming = m_queue->upcomingTracks(1);
|
||||||
if (!upcoming.isEmpty()) {
|
if (!upcoming.isEmpty()) {
|
||||||
const qint64 nextId = static_cast<qint64>(upcoming.first()["id"].toDouble());
|
const qint64 nextId = static_cast<qint64>(upcoming.first()["id"].toDouble());
|
||||||
|
|||||||
@@ -38,9 +38,6 @@ public:
|
|||||||
bool replayGainEnabled() const { return m_settings.value("playback/replaygain", false).toBool(); }
|
bool replayGainEnabled() const { return m_settings.value("playback/replaygain", false).toBool(); }
|
||||||
void setReplayGainEnabled(bool v) { m_settings.setValue("playback/replaygain", v); }
|
void setReplayGainEnabled(bool v) { m_settings.setValue("playback/replaygain", v); }
|
||||||
|
|
||||||
bool gaplessEnabled() const { return m_settings.value("playback/gapless", false).toBool(); }
|
|
||||||
void setGaplessEnabled(bool v) { m_settings.setValue("playback/gapless", v); }
|
|
||||||
|
|
||||||
// --- Last.fm ---
|
// --- Last.fm ---
|
||||||
bool lastFmEnabled() const { return m_settings.value("lastfm/enabled", false).toBool(); }
|
bool lastFmEnabled() const { return m_settings.value("lastfm/enabled", false).toBool(); }
|
||||||
void setLastFmEnabled(bool v) { m_settings.setValue("lastfm/enabled", v); }
|
void setLastFmEnabled(bool v) { m_settings.setValue("lastfm/enabled", v); }
|
||||||
|
|||||||
Reference in New Issue
Block a user