Skip to content

Commit a9e8f44

Browse files
committed
Allow the disc number to be edited by the metadata editor (if supported by the theme).
1 parent d4914c9 commit a9e8f44

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

mythplugins/mythmusic/mythmusic/editmetadata.cpp

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,10 @@ void EditMetadataCommon::updateMetadata()
145145
if (spin)
146146
m_metadata->setTrack(spin->GetIntValue());
147147

148+
spin = dynamic_cast<MythUISpinBox *>(GetChild("discnumspin"));
149+
if (spin)
150+
m_metadata->setDiscNumber(spin->GetIntValue());
151+
148152
spin = dynamic_cast<MythUISpinBox *>(GetChild("ratingspin"));
149153
if (spin)
150154
m_metadata->setRating(spin->GetIntValue());
@@ -257,6 +261,7 @@ bool EditMetadataCommon::hasMetadataChanged(void)
257261
changed |= (m_metadata->Genre() != m_sourceMetadata->Genre());
258262
changed |= (m_metadata->Year() != m_sourceMetadata->Year());
259263
changed |= (m_metadata->Track() != m_sourceMetadata->Track());
264+
changed |= (m_metadata->DiscNumber() != m_sourceMetadata->DiscNumber());
260265
changed |= (m_metadata->Compilation() != m_sourceMetadata->Compilation());
261266
changed |= (m_metadata->Rating() != m_sourceMetadata->Rating());
262267

@@ -292,13 +297,14 @@ EditMetadataDialog::EditMetadataDialog(MythScreenStack *parent, MusicMetadata *s
292297
m_artistEdit(NULL), m_compArtistEdit(NULL),
293298
m_albumEdit(NULL), m_titleEdit(NULL),
294299
m_genreEdit(NULL), m_yearSpin(NULL),
295-
m_trackSpin(NULL), m_ratingSpin(NULL),
296-
m_ratingState(NULL), m_incRatingButton(NULL),
297-
m_decRatingButton(NULL), m_searchArtistButton(NULL),
298-
m_searchCompArtistButton(NULL), m_searchAlbumButton(NULL),
299-
m_searchGenreButton(NULL), m_artistIcon(NULL),
300-
m_albumIcon(NULL), m_genreIcon(NULL),
301-
m_compilationCheck(NULL), m_albumartButton(NULL)
300+
m_trackSpin(NULL), m_discSpin(NULL),
301+
m_ratingSpin(NULL), m_ratingState(NULL),
302+
m_incRatingButton(NULL), m_decRatingButton(NULL),
303+
m_searchArtistButton(NULL), m_searchCompArtistButton(NULL),
304+
m_searchAlbumButton(NULL), m_searchGenreButton(NULL),
305+
m_artistIcon(NULL), m_albumIcon(NULL),
306+
m_genreIcon(NULL), m_compilationCheck(NULL),
307+
m_albumartButton(NULL)
302308
{
303309
gCoreContext->addListener(this);
304310
}
@@ -308,13 +314,14 @@ EditMetadataDialog::EditMetadataDialog(MythScreenStack *parent)
308314
m_artistEdit(NULL), m_compArtistEdit(NULL),
309315
m_albumEdit(NULL), m_titleEdit(NULL),
310316
m_genreEdit(NULL), m_yearSpin(NULL),
311-
m_trackSpin(NULL), m_ratingSpin(NULL),
312-
m_ratingState(NULL), m_incRatingButton(NULL),
313-
m_decRatingButton(NULL), m_searchArtistButton(NULL),
314-
m_searchCompArtistButton(NULL), m_searchAlbumButton(NULL),
315-
m_searchGenreButton(NULL), m_artistIcon(NULL),
316-
m_albumIcon(NULL), m_genreIcon(NULL),
317-
m_compilationCheck(NULL), m_albumartButton(NULL)
317+
m_trackSpin(NULL), m_discSpin(NULL),
318+
m_ratingSpin(NULL), m_ratingState(NULL),
319+
m_incRatingButton(NULL), m_decRatingButton(NULL),
320+
m_searchArtistButton(NULL), m_searchCompArtistButton(NULL),
321+
m_searchAlbumButton(NULL), m_searchGenreButton(NULL),
322+
m_artistIcon(NULL), m_albumIcon(NULL),
323+
m_genreIcon(NULL), m_compilationCheck(NULL),
324+
m_albumartButton(NULL)
318325
{
319326
gCoreContext->addListener(this);
320327
}
@@ -339,6 +346,7 @@ bool EditMetadataDialog::Create(void)
339346

340347
UIUtilE::Assign(this, m_yearSpin, "yearspin", &err);
341348
UIUtilE::Assign(this, m_trackSpin, "tracknumspin", &err);
349+
UIUtilW::Assign(this, m_discSpin, "discnumspin", &err);
342350

343351
UIUtilE::Assign(this, m_searchArtistButton, "searchartistbutton", &err);
344352
UIUtilE::Assign(this, m_searchCompArtistButton, "searchcompartistbutton", &err);
@@ -369,6 +377,9 @@ bool EditMetadataDialog::Create(void)
369377
m_yearSpin->AddSelection(0, "None");
370378
m_trackSpin->SetRange(0, 999, 1);
371379

380+
if (m_discSpin)
381+
m_discSpin->SetRange(0, 999, 1);
382+
372383
if (m_ratingSpin)
373384
{
374385
m_ratingSpin->SetRange(0, 10, 1, 2);
@@ -413,6 +424,9 @@ void EditMetadataDialog::fillWidgets()
413424
m_trackSpin->SetValue(m_metadata->Track());
414425
m_compilationCheck->SetCheckState(m_metadata->Compilation());
415426

427+
if (m_discSpin)
428+
m_discSpin->SetValue(m_metadata->DiscNumber());
429+
416430
updateRating();
417431

418432
updateArtistImage();

mythplugins/mythmusic/mythmusic/editmetadata.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ class EditMetadataDialog : public EditMetadataCommon
118118

119119
MythUISpinBox *m_yearSpin;
120120
MythUISpinBox *m_trackSpin;
121+
MythUISpinBox *m_discSpin;
121122
MythUISpinBox *m_ratingSpin;
122123

123124
MythUIStateType *m_ratingState;

0 commit comments

Comments
 (0)