Skip to content

Commit b1a9943

Browse files
committed
Version 1.15.1
1 parent 147fcdd commit b1a9943

17 files changed

+478
-442
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ The application requires .Net Framework 4.7.1 to be installed. On Windows 10 sys
4545
AAX Audio Converter is configured to support high DPI monitors under Windows 10. It will scale properly when the user changes the DPI or scale factor.
4646

4747
## Download
48-
Windows setup package version 1.15, English and German, with manuals, plus FFmpeg executable:
48+
Windows setup package version 1.15.1, English and German, with manuals, plus FFmpeg executable:
4949

50-
**[AaxAudioConverter-1.15-Setup.exe](https://github.com/audiamus/AaxAudioConverter/releases/download/v1.15/AaxAudioConverter-1.15-Setup.exe)**
50+
**[AaxAudioConverter-1.15.1-Setup.exe](https://github.com/audiamus/AaxAudioConverter/releases/download/v1.15.1/AaxAudioConverter-1.15.1-Setup.exe)**
5151

5252
Manuals (also included in the setup package):
5353

54-
**[English](https://github.com/audiamus/AaxAudioConverter/releases/download/v1.15/AaxAudioConverter.pdf)**
54+
**[English](https://github.com/audiamus/AaxAudioConverter/releases/download/v1.15.1/AaxAudioConverter.pdf)**
5555

56-
**[German](https://github.com/audiamus/AaxAudioConverter/releases/download/v1.15/AaxAudioConverter.de.pdf)**
56+
**[German](https://github.com/audiamus/AaxAudioConverter/releases/download/v1.15.1/AaxAudioConverter.de.pdf)**
5757

5858

5959
## Dependencies

res/Setup.dat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
https://github.com/audiamus/AaxAudioConverter/releases/download/v1.15/AaxAudioConverter-1.15-Setup.exe
2-
MD5: b93df488203e0c04fbd69f3206522359
1+
https://github.com/audiamus/AaxAudioConverter/releases/download/v1.15.1/AaxAudioConverter-1.15.1-Setup.exe
2+
MD5: 88515ace13cc6c0184684bd937cf0d7b
229 Bytes
Binary file not shown.

src/AaxAudioConverter/AaxAudioConverter.latest.de.rtf

Lines changed: 142 additions & 176 deletions
Large diffs are not rendered by default.

src/AaxAudioConverter/AaxAudioConverter.latest.rtf

Lines changed: 195 additions & 230 deletions
Large diffs are not rendered by default.
161 Bytes
Binary file not shown.

src/AaxAudioConverter/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
// You can specify all the values or you can default the Build and Revision Numbers
3434
// by using the '*' as shown below:
3535
// [assembly: AssemblyVersion("1.0.*")]
36-
[assembly: AssemblyVersion ("1.15.0.0")]
37-
[assembly: AssemblyFileVersion ("1.15.0.0")]
36+
[assembly: AssemblyVersion ("1.15.1.0")]
37+
[assembly: AssemblyFileVersion ("1.15.1.0")]
3838
[assembly: NeutralResourcesLanguage ("en")]
3939

src/AaxAudioConverterLib/AaxAudioConverter.cs

Lines changed: 74 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1483,7 +1483,7 @@ private void detectSilenceChapterParallel (Book.Part part, string filestub) {
14831483
ProgressInfo.ProgressInfoChapterCancel (book.TitleTag, ch)
14841484
}))) {
14851485

1486-
string filename = $"{filestub} - {part.PartNumber}.{i}{ext}";
1486+
string filename = $"{filestub} - {part.ChapterId(chapter)}{ext}";
14871487
chapter.TmpFileName = Path.Combine (TempDirectoryLong, filename);
14881488

14891489
// Extract chapter to temp file
@@ -1695,10 +1695,26 @@ private bool transcodeTrackMulti (Book.Part part, Track track, string inFile, FF
16951695
string actcode = null;
16961696
if (withActivationCode)
16971697
actcode = part.ActivationCode;
1698+
if (Settings.ConvFormat == EConvFormat.mp3)
1699+
return transcodeTrackMultiWithChapter (part, track, inFile, modifiers, actcode, threadProg);
1700+
else
1701+
return transcodeTrackMulti (part, track, inFile, modifiers, actcode, threadProg);
1702+
}
1703+
1704+
private bool transcodeTrackMultiWithChapter (Book.Part part, Track track, string inFile, FFmpeg.ETranscode modifiers, string actcode, ThreadProgress threadProg) {
1705+
string metafile = ffmpegChapters (part, track);
1706+
if (metafile is null)
1707+
return false;
1708+
1709+
FFmpeg ffmpeg = new FFmpeg (inFile, metafile) {
1710+
Cancel = Callbacks.Cancel,
1711+
Progress = threadProg.Report
1712+
};
16981713

1699-
return transcodeTrackMulti (part, track, inFile, modifiers, actcode, threadProg);
1714+
return transcodeTrack (ffmpeg, modifiers, actcode, track.Time, track.FileName);
17001715
}
17011716

1717+
17021718
private bool transcodeTrackMulti (Book.Part part, Track track, string inFile, FFmpeg.ETranscode modifiers, string actcode, ThreadProgress threadProg) {
17031719
FFmpeg ffmpeg = new FFmpeg (inFile) {
17041720
Cancel = Callbacks.Cancel,
@@ -1708,6 +1724,7 @@ private bool transcodeTrackMulti (Book.Part part, Track track, string inFile, FF
17081724
return transcodeTrack (ffmpeg, modifiers, actcode, track.Time, track.FileName);
17091725
}
17101726

1727+
17111728
private bool transcodeTrackSingle (Book.Part part, string inFile, string outFile, FFmpeg.ETranscode modifiers, ThreadProgress threadProg) {
17121729
if (part.Chapters is null || part.Chapters.Count == 0)
17131730
return false;
@@ -1724,15 +1741,62 @@ private bool transcodeTrackSingle (Book.Part part, string inFile, string outFile
17241741
if (intermediateCopy) {
17251742
return makeIntermediateCopy (part, inFile, outFile, modifiers, tim, threadProg);
17261743
} else {
1727-
FFmpeg ffmpeg = new FFmpeg (inFile) {
1728-
Cancel = Callbacks.Cancel,
1729-
Progress = threadProg.Report
1730-
};
1731-
return transcodeTrack (ffmpeg, modifiers, part.ActivationCode, tim, outFile);
1744+
if (Settings.ConvFormat == EConvFormat.mp3)
1745+
return transcodeTrackSingleWithChapters (part, inFile, outFile, modifiers, threadProg, tim);
1746+
else
1747+
return transcodeTrackSingle (part, inFile, outFile, modifiers, threadProg, tim);
17321748
}
17331749

17341750
}
17351751

1752+
private bool transcodeTrackSingleWithChapters (Book.Part part, string inFile, string outFile, FFmpeg.ETranscode modifiers, ThreadProgress threadProg, TimeInterval tim) {
1753+
string metafile = ffmpegChapters (part, part.Tracks.FirstOrDefault());
1754+
if (metafile is null)
1755+
return false;
1756+
1757+
FFmpeg ffmpeg = new FFmpeg (inFile, metafile) {
1758+
Cancel = Callbacks.Cancel,
1759+
Progress = threadProg.Report
1760+
};
1761+
return transcodeTrack (ffmpeg, modifiers, part.ActivationCode, tim, outFile);
1762+
}
1763+
1764+
private bool transcodeTrackSingle (Book.Part part, string inFile, string outFile, FFmpeg.ETranscode modifiers, ThreadProgress threadProg, TimeInterval tim) {
1765+
FFmpeg ffmpeg = new FFmpeg (inFile) {
1766+
Cancel = Callbacks.Cancel,
1767+
Progress = threadProg.Report
1768+
};
1769+
return transcodeTrack (ffmpeg, modifiers, part.ActivationCode, tim, outFile);
1770+
}
1771+
1772+
private string ffmpegChapters (Book.Part part, Track track) {
1773+
if (track is null)
1774+
return null;
1775+
1776+
IEnumerable<Chapter> chapters = null;
1777+
switch (Settings.ConvMode) {
1778+
case EConvMode.single:
1779+
chapters = part.Chapters2;
1780+
break;
1781+
default:
1782+
chapters = track.MetaChapters;
1783+
break;
1784+
}
1785+
1786+
// unique filename required
1787+
string metafile = Path.GetFileNameWithoutExtension (track.FileName) + $" ({part.TrackId(track)}) meta.txt";
1788+
metafile = Path.Combine (TempDirectoryLong, metafile);
1789+
1790+
var ffmetadata = new FFMetaData (chapters);
1791+
bool succ = ffmetadata.Write (metafile);
1792+
Log (3, this, () => $"ffmetafile=\"{metafile.SubstitUser ()}\", #chapters={ffmetadata.Chapters.Count}, succ={succ}");
1793+
if (!succ)
1794+
return null;
1795+
1796+
return metafile;
1797+
}
1798+
1799+
17361800
private bool makeIntermediateCopy (Book.Part part, string inFile, string outFile, FFmpeg.ETranscode modifiers, TimeInterval tim, ThreadProgress threadProg) {
17371801
Log (3, this, () => $"out=\"{outFile.SubstitUser ()}\"");
17381802

@@ -1802,7 +1866,9 @@ private void getContentMetadata (Book.Part part) {
18021866

18031867
private bool updateTags (Book book, Track track) {
18041868
bool succ = TagAndFileNamingHelper.WriteMetaData (Resources, Settings, book, track);
1805-
succ = succ && TagAndFileNamingHelper.WriteMetaDataChapters (Resources, Settings, book, track);
1869+
1870+
if (Settings.ConvFormat == EConvFormat.mp4)
1871+
succ = succ && TagAndFileNamingHelper.WriteMetaDataChapters (Resources, Settings, book, track);
18061872

18071873
Log (3, this, () => $"track=\"{track.Title}\" \"{Path.GetFileName(track.FileName)}\", succ={succ}");
18081874
return succ;

src/AaxAudioConverterLib/AaxAudioConverterLib.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<LangVersion>7.1</LangVersion>
3434
</PropertyGroup>
3535
<ItemGroup>
36-
<Reference Include="ATL, Version=3.12.0.0, Culture=neutral, processorArchitecture=MSIL">
37-
<HintPath>..\packages\z440.atl.core.3.12.0\lib\net45\ATL.dll</HintPath>
36+
<Reference Include="ATL, Version=3.13.0.0, Culture=neutral, processorArchitecture=MSIL">
37+
<HintPath>..\packages\z440.atl.core.3.13.0\lib\net45\ATL.dll</HintPath>
3838
</Reference>
3939
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
4040
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>

src/AaxAudioConverterLib/Book.Part.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ public void SwapChapters () {
5757
_namedChaptersNotIn2 = !_namedChaptersNotIn2;
5858
}
5959

60+
public string TrackId (Track track) =>
61+
$"{PartNumber}.{Tracks?.IndexOf(track)+1}";
62+
public string ChapterId (Chapter chapter) =>
63+
$"{PartNumber}.{Chapters?.IndexOf(chapter)+1}";
64+
65+
6066
public void SetMetaChapters (IConvSettings settings) {
6167
switch (settings.ConvMode) {
6268
case EConvMode.chapters:

0 commit comments

Comments
 (0)