Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mixed Mode CDs are not handled correctly #170

Open
MerlijnWajer opened this issue Jun 10, 2017 · 1 comment
Open

Mixed Mode CDs are not handled correctly #170

MerlijnWajer opened this issue Jun 10, 2017 · 1 comment
Assignees
Labels
Accepted Accepted issue on our roadmap Bug Generic bug: can be used together with more specific labels Needed: more info A reply from issue author is required Needed: patch A pull request is required Priority: high High priority
Milestone

Comments

@MerlijnWajer
Copy link
Collaborator

Whipper currently assumes that the data track always has to be the last track. This is not a correct assumption for Mixed Mode CDs [1], which have audio and data tracks in one session. Data tracks can be both before and after the audio tracks.

The first part where this fails is in the musicbrainz id calculation. It will fail with an assertion error

Code in question (image/table.py):

# if the disc is multi-session, last track is the data track,
# and we should subtract 11250 + 150 from the last track's offset
# for the leadout
if self.hasDataTracks():
assert not self.tracks[-1].audio
leadout = self.tracks[-1].getIndex(1).absolute - 11250 - 150 `

This assumption is wrong. And I would personally prefer to simply use libdiscid's musicbrainz discid calculation (it also does freedb discid; and also does submission urls).

On my personal fork of whipper/morituri (useful parts are ending up in whipper), I ripped out this code and replaced it with discid. Then it fails later on, when trying to rip the first audio track (in my case: track 3), trying to index some result structure with index 3, where it should be using index 1. (Minus 2 - data tracks)

I have a bin/cue copy of this CD, and will upload it later on.

[1] https://en.wikipedia.org/wiki/Mixed_Mode_CD

@RecursiveForest
Copy link
Contributor

You should hook me up with the bin/cue.

@MerlijnWajer MerlijnWajer self-assigned this Jan 7, 2018
@JoeLametta JoeLametta added the Bug Generic bug: can be used together with more specific labels label Mar 6, 2018
@JoeLametta JoeLametta added Accepted Accepted issue on our roadmap Priority: high High priority Needed: patch A pull request is required Needed: more info A reply from issue author is required labels Nov 13, 2018
@JoeLametta JoeLametta added this to the 2.0 milestone Nov 13, 2018
@JoeLametta JoeLametta modified the milestones: 2.0, 1.0 Nov 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Accepted issue on our roadmap Bug Generic bug: can be used together with more specific labels Needed: more info A reply from issue author is required Needed: patch A pull request is required Priority: high High priority
Projects
None yet
Development

No branches or pull requests

3 participants