[slinkelist] converting cd's to mp3

Thomas W. Humphrey TWHumphrey@fuse.net
Sun, 6 Aug 2000 07:52:36 -0400


This is a multi-part message in MIME format.

------=_NextPart_000_009A_01BFFF7B.497DBA60
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

RE: [slinkelist] converting cd's to mp3Zeke, some thoughts:

As to the CDJID, why not just make two audio file albums of two MP3's =
each and see what ID's they get assigned?  Whatever the pattern is, I'm =
sure it will be obvious and you can replicate it for the other MP3's.  =
I'll do this experiment on my end when I have a moment.

As to track lengths, wouldn't the existing data for the CD have this so =
you could just copy it over?

Tom.
  ----- Original Message -----=20
  From: Zeke Koch=20
  To: Thomas W. Humphrey=20
  Cc: slinkelist@nirvis.com=20
  Sent: Sunday, August 06, 2000 12:40 AM
  Subject: RE: [slinkelist] converting cd's to mp3


  After some quick playing around with it things seem slightly more =
complicated that I would think.  CDJ uses the CDJID to link between the =
tracks and albums tables so they do matter.  There's a bunch of other =
things that you have to get right (in addition to getting the track =
count for the albums correct the total album length and such seems to =
matter).  I'd love it if I could just add the album and tracks with a =
consistent cdjid and have CDJ figure the rest out. =20

  =20

  There's some odd logic in the display code.  For example the Album =
table has data in it like the number of tracks (which of course you =
could get by just doing a query of the tracks table with tracks.cdjid =
=3D album.cdjid).  But CDJ seems to just the track number to actually =
determine the number of tracks to look for in the tracks table.  So if =
you reduce the number of tracks in the Albums row then the last track =
seems to drop out of the UI.

  =20

  To really do this, I think that I'll need some help from Nirvis (or =
someone).  Basically I just need to know exactly I need to do to add an =
mp3 'album' programmatically.  I could probably hack around it, but =
other things are distracting me right now.

  =20

  I haven't tried your suggestion of blowing away the current albums and =
reusing the rows.  That might work better, but I actually like playing =
CD's when I'm on my main computer (the CD's often seem to sound better =
even when I rip my mp3's at VBR maxed out).

  =20

  Right now I'm getting the track info from the mp3's ID3 tags (which =
come from CDDB when MMJB rips them), but I don't know how to get the =
track length yet (I haven't needed to figure that out for my other =
project) and CDJ seems to need them (unfortunately).  I'm currently =
working on some software (tangled in with that) to augment that with =
more info (and yes covers) from www.allmusic.com so that I can build a =
prettier front end for CDJ on a wince device.  Unfortunately (or perhaps =
fortunately) things are rather busy at work these days so I don't have a =
lot of time to spend on this project.=20

  =20

  -Zeke


------=_NextPart_000_009A_01BFFF7B.497DBA60
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns=3D"http://www.w3.org/TR/REC-html40" xmlns:v =3D=20
"urn:schemas-microsoft-com:vml" xmlns:o =3D=20
"urn:schemas-microsoft-com:office:office" xmlns:w =3D=20
"urn:schemas-microsoft-com:office:word"><HEAD><TITLE>RE: [slinkelist] =
converting cd's to mp3</TITLE>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3DWord.Document name=3DProgId>
<META content=3D"MSHTML 5.00.3018.900" name=3DGENERATOR>
<META content=3D"Microsoft Word 9" name=3DOriginator><LINK=20
href=3D"cid:filelist.xml@01BFFF25.9A34AF00" rel=3DFile-List><!--[if gte =
mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:Zoom>0</w:Zoom>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
 </w:WordDocument>
</xml><![endif]-->
<STYLE>@font-face {
	font-family: Trebuchet MS;
}
@font-face {
	font-family: Tahoma;
}
P.MsoNormal {
	FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; =
mso-style-parent: ""; mso-pagination: widow-orphan; =
mso-fareast-font-family: "Times New Roman"
}
LI.MsoNormal {
	FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; =
mso-style-parent: ""; mso-pagination: widow-orphan; =
mso-fareast-font-family: "Times New Roman"
}
DIV.MsoNormal {
	FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; =
mso-style-parent: ""; mso-pagination: widow-orphan; =
mso-fareast-font-family: "Times New Roman"
}
A:link {
	COLOR: blue; TEXT-DECORATION: underline; text-underline: single
}
SPAN.MsoHyperlink {
	COLOR: blue; TEXT-DECORATION: underline; text-underline: single
}
A:visited {
	COLOR: blue; TEXT-DECORATION: underline; text-underline: single
}
SPAN.MsoHyperlinkFollowed {
	COLOR: blue; TEXT-DECORATION: underline; text-underline: single
}
P.MsoAutoSig {
	FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; =
mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
}
LI.MsoAutoSig {
	FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; =
mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
}
DIV.MsoAutoSig {
	FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; =
mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
}
P {
	FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN-LEFT: 0in; =
MARGIN-RIGHT: 0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: =
auto; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New =
Roman"
}
SPAN.EmailStyle18 {
	COLOR: maroon; FONT-STYLE: normal; FONT-WEIGHT: normal; mso-style-type: =
personal-reply; mso-ansi-font-size: 10.0pt; mso-ascii-font-family: =
"Trebuchet MS"; mso-hansi-font-family: "Trebuchet MS"; =
mso-bidi-font-family: Arial
}
DIV.Section1 {
	page: Section1
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1027"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1"/>
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY bgColor=3Dwhite lang=3DEN-US link=3Dblue style=3D"tab-interval: =
.5in" vLink=3Dblue>
<DIV><FONT size=3D2>Zeke, some t</FONT><FONT =
size=3D2>houghts:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>As to the CDJID, why not just make two audio file =
albums of=20
two MP3's each and see what ID's they get assigned?&nbsp; Whatever the =
pattern=20
is, I'm sure it will be obvious and you can replicate it for the other=20
MP3's.&nbsp; I'll do this experiment on my end when I have a=20
moment.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>As to track lengths, wouldn't the existing data for =
the CD=20
have this so you could just copy it over?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>Tom.</FONT></DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: =
0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
  <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV=20
  style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
  <A href=3D"mailto:zeke@Exchange.Microsoft.com"=20
  title=3Dzeke@Exchange.Microsoft.com>Zeke Koch</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A=20
  href=3D"mailto:TWHumphrey@alum.mit.edu" =
title=3DTWHumphrey@alum.mit.edu>Thomas W.=20
  Humphrey</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Cc:</B> <A=20
  href=3D"mailto:slinkelist@nirvis.com"=20
  title=3Dslinkelist@nirvis.com>slinkelist@nirvis.com</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Sunday, August 06, 2000 =
12:40=20
  AM</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> RE: [slinkelist] =
converting cd's=20
  to mp3</DIV>
  <DIV><BR></DIV>
  <DIV class=3DSection1>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt">After=20
  some quick playing around with it things seem slightly more =
complicated that I=20
  would think.<SPAN style=3D"mso-spacerun: yes">&nbsp; </SPAN>CDJ uses =
the CDJID=20
  to link between the tracks and albums tables so they do matter.<SPAN=20
  style=3D"mso-spacerun: yes">&nbsp; </SPAN>There&#8217;s a bunch of =
other things that=20
  you have to get right (in addition to getting the track count for the =
albums=20
  correct the total album length and such seems to matter).<SPAN=20
  style=3D"mso-spacerun: yes">&nbsp; </SPAN>I&#8217;d love it if I could =
just add the=20
  album and tracks with a consistent cdjid and have CDJ figure the rest=20
  out.<SPAN style=3D"mso-spacerun: yes">&nbsp;=20
  </SPAN><o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt"><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt">There&#8217;s=20
  some odd logic in the display code.<SPAN style=3D"mso-spacerun: =
yes">&nbsp;=20
  </SPAN>For example the Album table has data in it like the number of =
tracks=20
  (which of course you could get by just doing a query of the tracks =
table with=20
  tracks.cdjid =3D album.cdjid).<SPAN style=3D"mso-spacerun: yes">&nbsp; =
</SPAN>But=20
  CDJ seems to just the track number to actually determine the number of =
tracks=20
  to look for in the tracks table.<SPAN style=3D"mso-spacerun: =
yes">&nbsp;=20
  </SPAN>So if you reduce the number of tracks in the Albums row then =
the last=20
  track seems to drop out of the UI.<o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt"><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt">To=20
  really do this, I think that I&#8217;ll need some help from Nirvis (or =

  someone).<SPAN style=3D"mso-spacerun: yes">&nbsp; </SPAN>Basically I =
just need=20
  to know exactly I need to do to add an mp3 &#8216;album&#8217; =
programmatically.<SPAN=20
  style=3D"mso-spacerun: yes">&nbsp; </SPAN>I could probably hack around =
it, but=20
  other things are distracting me right =
now.<o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt"><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt">I=20
  haven&#8217;t tried your suggestion of blowing away the current albums =
and reusing=20
  the rows.<SPAN style=3D"mso-spacerun: yes">&nbsp; </SPAN>That might =
work better,=20
  but I actually like playing CD&#8217;s when I&#8217;m on my main =
computer (the CD&#8217;s often=20
  seem to sound better even when I rip my mp3&#8217;s at VBR maxed=20
  out).<o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt"><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt">Right=20
  now I&#8217;m getting the track info from the mp3&#8217;s ID3 tags =
(which come from CDDB=20
  when MMJB rips them), but I don&#8217;t know how to get the track =
length yet (I=20
  haven&#8217;t needed to figure that out for my other project) and CDJ =
seems to need=20
  them (unfortunately).<SPAN style=3D"mso-spacerun: yes">&nbsp; =
</SPAN>I&#8217;m=20
  currently working on some software (tangled in with that) to augment =
that with=20
  more info (and yes covers) from <A=20
  href=3D"http://www.allmusic.com/">www.allmusic.com</A> so that I can =
build a=20
  prettier front end for CDJ on a wince device.<SPAN=20
  style=3D"mso-spacerun: yes">&nbsp; </SPAN>Unfortunately (or perhaps =
fortunately)=20
  things are rather busy at work these days so I don&#8217;t have a lot =
of time to=20
  spend on this project. <o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt"><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></SPAN></FONT></SPAN></P>
  <P class=3DMsoNormal><SPAN class=3DEmailStyle18><FONT color=3Dmaroon=20
  face=3D"Trebuchet MS" size=3D2><SPAN=20
  style=3D"FONT-FAMILY: 'Trebuchet MS'; FONT-SIZE: 10pt; =
mso-bidi-font-size: 12.0pt">-Zeke</SPAN></FONT></SPAN><![if =
!supportEmptyParas]><![endif]><![if !supportEmptyParas]><![endif]><![if =
!supportEmptyParas]><![endif]><![if =
!supportEmptyParas]><![endif]></P></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_009A_01BFFF7B.497DBA60--