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());
|
||||
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);
|
||||
|
||||
// --- Last.fm group ---
|
||||
@@ -100,7 +96,6 @@ void SettingsDialog::applyChanges()
|
||||
{
|
||||
AppSettings::instance().setPreferredFormat(m_formatBox->currentData().toInt());
|
||||
AppSettings::instance().setReplayGainEnabled(m_replayGain->isChecked());
|
||||
AppSettings::instance().setGaplessEnabled(m_gapless->isChecked());
|
||||
AppSettings::instance().setLastFmEnabled(m_lastFmEnabled->isChecked());
|
||||
AppSettings::instance().setLastFmApiKey(m_lastFmApiKey->text().trimmed());
|
||||
AppSettings::instance().setLastFmApiSecret(m_lastFmApiSecret->text().trimmed());
|
||||
|
||||
@@ -19,7 +19,6 @@ private:
|
||||
// Playback
|
||||
QComboBox *m_formatBox = nullptr;
|
||||
QCheckBox *m_replayGain = nullptr;
|
||||
QCheckBox *m_gapless = nullptr;
|
||||
|
||||
// Last.fm
|
||||
QCheckBox *m_lastFmEnabled = nullptr;
|
||||
|
||||
@@ -269,8 +269,8 @@ void MainWindow::onTrackChanged(const QJsonObject &track)
|
||||
statusBar()->showMessage(
|
||||
artist.isEmpty() ? title : QStringLiteral("▶ %1 — %2").arg(artist, title));
|
||||
|
||||
// Gapless: prefetch next track URL so it starts immediately
|
||||
if (AppSettings::instance().gaplessEnabled() && m_queue->canGoNext()) {
|
||||
// Prefetch next track URL to minimise the gap between tracks
|
||||
if (m_queue->canGoNext()) {
|
||||
const auto upcoming = m_queue->upcomingTracks(1);
|
||||
if (!upcoming.isEmpty()) {
|
||||
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(); }
|
||||
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 ---
|
||||
bool lastFmEnabled() const { return m_settings.value("lastfm/enabled", false).toBool(); }
|
||||
void setLastFmEnabled(bool v) { m_settings.setValue("lastfm/enabled", v); }
|
||||
|
||||
Reference in New Issue
Block a user