diff --git a/lib/rubyripper/cli/cliDisc.rb b/lib/rubyripper/cli/cliDisc.rb index e5fc25b..87c51f8 100644 --- a/lib/rubyripper/cli/cliDisc.rb +++ b/lib/rubyripper/cli/cliDisc.rb @@ -79,6 +79,7 @@ def showDisc def showFreedb() showDiscInfo() showTrackInfo() + showMusicbrainzIDSubmitInfo() end def showDiscInfo @@ -105,6 +106,13 @@ def showTrackInfo @out.puts "" end + def showMusicbrainzIDSubmitInfo + if discReady? + @out.puts _("Submit DiscID to MusicBrainz via : %s") % [@cd.musicbrainzSubmitURL] + @out.puts "" + end + end + # build the trackinfo def trackInfo trackInfo = Hash.new diff --git a/lib/rubyripper/disc/calcMusicbrainzID.rb b/lib/rubyripper/disc/calcMusicbrainzID.rb index 1d4c8ba..0f368e9 100644 --- a/lib/rubyripper/disc/calcMusicbrainzID.rb +++ b/lib/rubyripper/disc/calcMusicbrainzID.rb @@ -42,6 +42,18 @@ def discid @discid end + # fetch the MusicBrainz submit URL + def musicbrainzSubmitURL + getMusicBrainzLookupPath() if @musicbrainzLookupPath.nil? + url = String.new + url << 'https://musicbrainz.org/cdtoc/attach?toc=' + url << "#{@firstTrack}+#{@lastTrack}" + (0..@lastTrack).each do |tracknumber| + url << "+#{@offsets[tracknumber]}" + end + url + end + private # try to calculate it ourselves, prefer cd-info if available diff --git a/lib/rubyripper/disc/disc.rb b/lib/rubyripper/disc/disc.rb index e0c14d5..24759cb 100644 --- a/lib/rubyripper/disc/disc.rb +++ b/lib/rubyripper/disc/disc.rb @@ -65,6 +65,7 @@ def freedbDiscid ; @calcFreedbID.discid; end # helper functions for @musicbrainz def musicbrainzLookupPath ; @calcMusicbrainzID.musicbrainzLookupPath ; end def musicbrainzDiscid ; @calcMusicbrainzID.discid ; end + def musicbrainzSubmitURL ; @calcMusicbrainzID.musicbrainzSubmitURL ; end # this can take a while so run in background def startExtendedTocScan()