Added leading zero when converting offset back to a string.
Proposed Handbrake improvement.
destinationFilename = destinationFilename.Replace(tag, (iDvdTitle - iOffset).ToString("D2",CultureInfo.InvariantCulture));
Collection of unedited thoughts and bits of knowledge I can't seem to remember
destinationFilename = destinationFilename.Replace(tag, (iDvdTitle - iOffset).ToString("D2",CultureInfo.InvariantCulture));
destinationFilename = UserSettingService.GetUserSetting<string>(UserSettingConstants.AutoNameFormat); //Add ability to auto name file using {title-offset} or {title+offset} // example {title-1} or {title+3] // This is extremely useful when ripping DVD of tv show episodes. #region AutoName based on {title-offset} or {title+offset} int startPos = 0; int stopPos = 0; string offsetTag; var iDvdTitle = Convert.ToInt32(dvdTitle); if (destinationFilename.Contains("{title-")) { offsetTag = "{title-"; startPos = destinationFilename.IndexOf(offsetTag, StringComparison.InvariantCulture); stopPos = destinationFilename.IndexOf("}", startPos, StringComparison.InvariantCulture); string tag = destinationFilename.Substring(startPos, stopPos - startPos + 1); string offset = destinationFilename.Substring(startPos + offsetTag.Length, stopPos - startPos - offsetTag.Length); int iOffset = 0; try { iOffset = Convert.ToInt32(offset); } catch { } destinationFilename = destinationFilename.Replace(tag, (iDvdTitle - iOffset).ToString(CultureInfo.InvariantCulture)); } if (destinationFilename.Contains("{title+")) { offsetTag = "{title+"; startPos = destinationFilename.IndexOf(offsetTag, StringComparison.InvariantCulture); stopPos = destinationFilename.IndexOf("}", startPos, StringComparison.InvariantCulture); string tag = destinationFilename.Substring(startPos, stopPos - startPos + 1); string offset = destinationFilename.Substring(startPos + offsetTag.Length, stopPos - startPos - offsetTag.Length); int iOffset = 0; try { iOffset = Convert.ToInt32(offset); } catch { } destinationFilename = destinationFilename.Replace(tag, (iDvdTitle + iOffset).ToString(CultureInfo.InvariantCulture));
private void ToGeographic(ref double mercatorX_lon, ref double mercatorY_lat) { if (Math.Abs(mercatorX_lon) < 180 && Math.Abs(mercatorY_lat) < 90) return; if ((Math.Abs(mercatorX_lon) > 20037508.3427892) || (Math.Abs(mercatorY_lat) > 20037508.3427892)) return; double x = mercatorX_lon; double y = mercatorY_lat; double num3 = x / 6378137.0; double num4 = num3 * 57.295779513082323; double num5 = Math.Floor((double)((num4 + 180.0) / 360.0)); double num6 = num4 - (num5 * 360.0); double num7 = 1.5707963267948966 - (2.0 * Math.Atan(Math.Exp((-1.0 * y) / 6378137.0))); mercatorX_lon = num6; mercatorY_lat = num7 * 57.295779513082323; } private void ToWebMercator(ref double mercatorX_lon, ref double mercatorY_lat) { if ((Math.Abs(mercatorX_lon) > 180 || Math.Abs(mercatorY_lat) > 90)) return; double num = mercatorX_lon * 0.017453292519943295; double x = 6378137.0 * num; double a = mercatorY_lat * 0.017453292519943295; mercatorX_lon = x; mercatorY_lat = 3189068.5 * Math.Log((1.0 + Math.Sin(a)) / (1.0 - Math.Sin(a))); }