├── .gitattributes
├── data
├── actions
│ ├── Music Action LIVE.mta
│ ├── Music Action Albums.mta
│ ├── Soundtrack action.mta
│ ├── Music Action Singles.mta
│ ├── Audiobook action.mta
│ ├── Audiobook action GENRE.mta
│ └── Audiobook action genre SERIES.mta
└── sources
│ ├── VGMdb#U&RL.src
│ ├── VGMdb#Search by &Album.src
│ ├── Audible.com#Authors images.src
│ ├── Storytel JSON.src
│ ├── Goodreads#Search by Artist+Album.src
│ ├── Soundtrack.Net#Search by Album.src
│ ├── Mofibo_JSON.src
│ ├── Everand.com#Search by &Album Json Version.src
│ ├── Everand.com#Search by &Album.src
│ ├── Mofibo.com#By Album[v.01.07.2023].src
│ ├── Audible.com#Search by Album Json.src
│ ├── Audiobooks.com#Search by Title[v.18.02.2024].src
│ ├── Deezer Api v.1.03.src
│ ├── Storytel.com#Search by Album.src
│ ├── Libro.fm#Json_Search by Album[v.02.06.2024].src
│ ├── VGMdbAlbumParser.inc
│ ├── Audible.com#Search by Album.src
│ └── VGMdb#Search by &Album JSON.src
├── readme.md
└── export
├── Audiobook export txt.mte
├── Export Music.mte
├── Export Audiobooks series.mte
├── Export Audiobooks Standalone.mte
└── Export Audiobooks Standalone no cover.mte
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/data/actions/Music Action LIVE.mta:
--------------------------------------------------------------------------------
1 | [#0]
2 | T=5
3 | F=_DIRECTORY
4 | 1=X:\\%albumartist%\\Live\\%album% (%year%)
5 |
6 | [#1]
7 | T=5
8 | 1=$num(%track%,2). %title%
9 | F=_FILENAME
10 |
11 |
--------------------------------------------------------------------------------
/data/actions/Music Action Albums.mta:
--------------------------------------------------------------------------------
1 | [#0]
2 | T=5
3 | F=_DIRECTORY
4 | 1=X:\\%albumartist%\\Albums\\%album% (%year%)
5 |
6 | [#1]
7 | T=5
8 | 1=$num(%track%,2). %title%
9 | F=_FILENAME
10 |
11 |
--------------------------------------------------------------------------------
/data/actions/Soundtrack action.mta:
--------------------------------------------------------------------------------
1 | [#0]
2 | T=5
3 | 1=%_counter%
4 | F=TRACK
5 |
6 | [#1]
7 | T=5
8 | F=_DIRECTORY
9 | 1=U:\\%albumartist%\\%album% [(%comment%)](%_bitrate%kb) [(%year%)]
10 |
11 | [#2]
12 | T=5
13 | 1=$num(%track%,2). %title%
14 | F=_FILENAME
15 |
16 |
--------------------------------------------------------------------------------
/data/actions/Music Action Singles.mta:
--------------------------------------------------------------------------------
1 | [#0]
2 | T=5
3 | F=_DIRECTORY
4 | 1=X:\\%albumartist%\\Singles & Eps\\%album% (Single) (%_extension%-%_bitrate%)
5 |
6 | [#1]
7 | T=5
8 | 1=%_counter%
9 | F=TRACK
10 |
11 | [#2]
12 | T=5
13 | 1=$num(%track%,2). %title%
14 | F=_FILENAME
15 |
16 |
--------------------------------------------------------------------------------
/data/sources/VGMdb#U&RL.src:
--------------------------------------------------------------------------------
1 | # ###################################################################
2 | # Mp3tag parsing for VGMdb.net, created by dano on 2010-01-17
3 | # Uses the release url to find an album
4 | # After 26.06.2020, changes in the commits: https://github.com/romanoh/Mp3tag-Repository
5 | # Last Update: 03.11.2020
6 | # ###################################################################
7 |
8 | [Name]=VGMdb
9 | [BasedOn]=VGMdb.net
10 | [SearchBy]=Enter Album Url||%VGMdb Album Url%||%s
11 | [Include]=VGMdbAlbumParser.inc
12 |
--------------------------------------------------------------------------------
/data/actions/Audiobook action.mta:
--------------------------------------------------------------------------------
1 | [#0]
2 | T=5
3 | F=_DIRECTORY
4 | 1=X:\\%albumartist%\\[%series%]\\[Part %series-part%.]%year%. %album% (%_bitrate%kb)
5 |
6 | [#1]
7 | T=5
8 | 1=$num(%track%,2). %album% (%year%) [%series% - Book %series-part%]
9 | F=_FILENAME
10 |
11 | [#2]
12 | T=5
13 | 1=%album% (%year%) [Book %series-part%]
14 | F=TITLE
15 |
16 | [#3]
17 | T=5
18 | 1=$num(%_counter%,2)/$num(%_total_files%,2)
19 | F=TRACK
20 |
21 | [#4]
22 | T=13
23 | 1=folder
24 | 3=1|3
25 | 2=0
26 |
27 | [#5]
28 | T=13
29 | 1=..\\artist-poster
30 | 3=1|8
31 | 2=0
32 |
33 |
--------------------------------------------------------------------------------
/data/actions/Audiobook action GENRE.mta:
--------------------------------------------------------------------------------
1 | [#0]
2 | T=5
3 | 1=%_counter%
4 | F=TRACK
5 |
6 | [#1]
7 | T=2
8 | F=GENRE
9 | 1=/
10 | 2= -
11 | 3=0|0
12 |
13 | [#2]
14 | T=5
15 | F=_DIRECTORY
16 | 1=Y:\\%genre%\\%albumartist%\\[%series%]\\[Part %series-part%.]%year%. %album% (%_bitrate%kb)
17 |
18 | [#3]
19 | T=5
20 | 1=$num(%track%,2). %album% (%year%) [%series% - Book %series-part%]
21 | F=_FILENAME
22 |
23 | [#4]
24 | T=5
25 | 1=%album% (%year%) [Book %series-part%]
26 | F=TITLE
27 |
28 | [#5]
29 | T=5
30 | 1=$num(%_counter%,2)/$num(%_total_files%,2)
31 | F=TRACK
32 |
33 | [#6]
34 | T=13
35 | 1=folder
36 | 3=1|3
37 | 2=1
38 |
39 |
--------------------------------------------------------------------------------
/data/actions/Audiobook action genre SERIES.mta:
--------------------------------------------------------------------------------
1 | [#0]
2 | T=5
3 | 1=%_counter%
4 | F=TRACK
5 |
6 | [#1]
7 | T=2
8 | F=GENRE
9 | 1=/
10 | 2= -
11 | 3=0|0
12 |
13 | [#2]
14 | T=5
15 | F=_DIRECTORY
16 | 1=Y:\\%genre%\\%albumartist%\\[%series%]\\[Part %series-part%.]%year%. %album% (%_bitrate%kb)
17 |
18 | [#3]
19 | T=5
20 | 1=$num(%track%,2). %album% (%year%) [%series% - Book %series-part%]
21 | F=_FILENAME
22 |
23 | [#4]
24 | T=5
25 | 1=%album% (%year%) [Book %series-part%]
26 | F=TITLE
27 |
28 | [#5]
29 | T=5
30 | 1=$num(%_counter%,2)/$num(%_total_files%,2)
31 | F=TRACK
32 |
33 | [#6]
34 | T=13
35 | 1=folder
36 | 3=1|3
37 | 2=1
38 |
39 | [#7]
40 | T=13
41 | 1=..\\..\\artist-poster
42 | 3=1|8
43 | 2=0
44 |
45 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # Audiobook/Music Tag Scraper for Mp3tag
2 |
3 | This is my modified custom web sources/actions/export for [mp3tag](https://www.mp3tag.de/en/).
4 |
5 | ### Installing
6 | Just copy the files to:
7 |
8 | ```
9 | C:\Users\"your username"\AppData\Roaming\Mp3tag
10 | ```
11 |
12 | ## Sources:
13 |
14 | ### Deezer.com
15 | Search by Artist and Album
16 |
17 | ### Audiobooks.com
18 | Search by Title
19 |
20 | ### scribd.com
21 | Search by Title
22 |
23 | ### Libro.fm
24 | Search by Title
25 |
26 | ### storytell.com
27 | Search by Album
28 |
29 | ### VGMdb.net
30 | Search by Album
31 | Search by URL
32 | Search by Album(JSON)
33 |
34 | ### Audible.com
35 | Search by Album
36 |
37 |
38 | 
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/export/Audiobook export txt.mte:
--------------------------------------------------------------------------------
1 | $filename(%_folderpath%%album%.txt,ansi)
2 | Album Information
3 | =================
4 | ALBUM........: %album% - %SUBTITLE%
5 | ARTIST.......: %artist%
6 | READ BY......: %composer%
7 | SERIES.......: %SERIES% - Book %SERIES-PART%
8 |
9 | General Information
10 | ===================
11 | GENRE........: %genre%
12 | YEAR.........: %year%
13 | ASIN:........: %Asin%
14 | PUBLISHER....: %PUBLISHER%
15 | COPYRIGHT....: %COPYRIGHT%
16 | RATING AUDIB.: %RATING WINAMP%
17 | RELEASE......: %RELEASETIME%
18 |
19 | Book Description
20 | ================
21 | INFO.........: %comment%
22 |
23 | Technical Information
24 | =====================
25 | CODEC........: %_codec%
26 | QUALITY......:%_vbr% %_bitrate% kBit/s
27 | CHANNELS.....: %_samplerate% kHz %_mode%
28 | TAGS.........: %_tag%
29 | SIZE.........: %_total_size%
30 |
31 |
32 | LINK.........: %WWWAUDIOFILE%
33 | TRACKS.......: %_total_files%
34 | PLAYTIME.....: %_total_time%
35 |
36 | Nº TITLE TIME
37 | -- --------------------------------------------------------------------------------- -----
38 | $loop($num(%discnumber%,3)$num(%track%,4)%_filename_ext%)$num(%track%,2) %title% $repeat(.,$sub(80,$len(%title%))) [$replace(%_length%,_,:)]
39 | $loopend()-- --------------------------------------------------------------------------------- -----
40 |
41 | %_datetime%
42 |
--------------------------------------------------------------------------------
/data/sources/VGMdb#Search by &Album.src:
--------------------------------------------------------------------------------
1 | # ###################################################################
2 | # Mp3tag parsing for VGMdb.net, created by dano on 2010-01-20.
3 | #
4 | # After 26.06.2020, changes in the commits: https://github.com/romanoh/Mp3tag-Repository
5 | # This file was Last updated in: 03.11.2020
6 | #
7 | # Copy this file to your sources directory at
8 | # %APPDATA%\Mp3tag\data\sources
9 | #
10 | # ###################################################################
11 |
12 | [Name]=VGMdb [v.03.04.2022]
13 | [BasedOn]=vgmdb.net
14 | [IndexUrl]=https://vgmdb.net/search?q=
15 | [AlbumUrl]=https://vgmdb.net/album/
16 | [WordSeparator]=+
17 | [IndexFormat]=% ↓ Catalog%|%_url%|% ↓ Album%|% ↓ Year%|% ↓ Media%
18 | #remove everything inside ()
19 | [SearchBy]=Enter Album Name||$regexp(%album%,'\([^)]*\)',,1)||%s
20 | [Encoding]=url-utf-8
21 | [Include]=VGMdbAlbumParser.inc
22 |
23 | [ParserScriptIndex]=...
24 | # ###################################################################
25 | # I N D E X
26 | # ###################################################################
27 |
28 | findline "
" 1 1
71 | sayuntil ""
72 | saynewline
73 |
74 | moveline 1 1
75 | unspace
76 | while "
"
96 | findinline ""
97 | #regexpreplace "?[^><]+>" ""
98 | #replace "
" " "
99 | outputto "comment"
100 | sayuntil ""
101 |
102 | # Series
103 | #findline "Series\",\"title\":\""
104 | #findinline "Series\",\"title\":\""
105 | #outputto "Series"
106 | #sayuntil "\",\""
107 |
108 | # Series-part
109 | #findline " #"
110 | #findinline " #"
111 | #outputto "Series-part"
112 | #sayuntil "<"
113 |
114 | # Year
115 | findline "publicationInfo\">"
116 | findinline "publicationInfo\">"
117 | findinline "<"
118 | movechar -5
119 | outputto "year"
120 | sayuntil "<"
--------------------------------------------------------------------------------
/data/sources/Soundtrack.Net#Search by Album.src:
--------------------------------------------------------------------------------
1 | # ###################################################################
2 | # Mp3tag parsing for Audible.com.
3 | # https://github.com/romanoh/Mp3tag-Repository
4 | # 12.02.2024: Start
5 | #
6 | #
7 | #
8 | # This file should be in your sources dir.
9 | # On Windows XP it's C:\Documents and Settings\*username*\Application Data\Mp3tag\data\sources
10 | # ####################################################################
11 |
12 | [Name]=Soundtrack.Net [v.12.02.2024]
13 | [BasedOn]=www.soundtrack.net
14 | [IndexUrl]=https://www.soundtrack.net/search/?q=%s
15 | [AlbumUrl]=https://www.soundtrack.net
16 | [WordSeparator]=+
17 | [IndexFormat]=%_url%|% ↓ Album%|% ↓ Edition / Manufacturer%|% ↓ Artist%|% ↓ Format%
18 | [SearchBy]=Enter Artist and/or Album||%Artist% %Album%||%s
19 | [Encoding]=url-utf-8
20 |
21 |
22 | [ParserScriptIndex]=...
23 | # ###################################################################
24 | # I N D E X
25 | # ###################################################################
26 | #DebugWriteInput "C:\Users\xxxx\Desktop\INDEX.HTMLmp3tag.html"
27 | #Debug "ON" "C:\Users\xxxx\Desktop\www.soundtrack.net_INDEX_debug.txt"
28 |
29 | # go to the area we need instead of everyting.
30 | findline "Album" 1 1
31 | findline "" 1 1
42 | sayuntil "<"
43 | say "|"
44 |
45 | # Manufacturer
46 | # sometimes no publisher was found
47 | replace "
" " / "
48 | findinline "d-block\">" 1 1
49 | movechar -2
50 | if "\">"
51 | movechar 2
52 | sayuntil ""
53 | say "|"
54 | else
55 | say "|"
56 | gotochar 1
57 | endif
58 |
59 | # Artist
60 | # use this 1 1 to remove the errors from search
61 | findinline "person" 1 1
62 | findinline "\">" 1 1
63 | sayuntil "<"
64 | say "|"
65 |
66 | # format
67 | replace "s: " ""
68 | replace ": " ""
69 | findinline "Format" 1 1
70 | sayuntil "<"
71 |
72 |
73 | saynewline
74 | moveline 1 1
75 | unspace
76 |
77 | while ""
104 | sayuntil "<"
105 |
106 | #Publisher
107 | outputto "Publisher"
108 | findinline "href"
109 | findinline "\">"
110 | sayuntil ""
111 |
112 | #Catagognumber
113 | replace "(" ""
114 | replace ")" ""
115 | outputto "catalognumber"
116 | findinline ">"
117 | sayuntil "<"
118 |
119 | #year
120 | outputto "year"
121 | findinline ", "
122 | saynextnumber
123 |
124 | #mediatype
125 | outputto "mediatype"
126 | findinline "
"
127 | sayuntil "<"
128 |
129 |
130 |
131 |
132 |
133 | # Set Album URL
134 | outputto "WWWAUDIOFILE"
135 | sayoutput "CurrentUrl"
136 |
137 | # Set Comment to DESCRIPTION for better MP4 support
138 | outputto "DESCRIPTION"
139 | sayoutput "Comment"
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
--------------------------------------------------------------------------------
/data/sources/Mofibo_JSON.src:
--------------------------------------------------------------------------------
1 | [Name]=Mofibo JSON [v.12.11.2022]
2 | [BasedOn]=www.mofibo.com
3 | [IndexUrl]=https://www.mofibo.com/api/search.action?q=%s
4 | [AlbumUrl]=https://www.mofibo.com/api/getBookInfoForContent.action?bookId=
5 | [WordSeperator]=+
6 | [IndexFormat]=%_url%|% ↓ Album%|% ↓ Author%
7 | [SearchBy]=Enter Album||$regexp(%album%,'[- ]+cd ?\d+$',,1)||%s
8 | [UserAgent]=Mofibo
9 | [Encoding]=url-utf-8
10 |
11 | # Used the Src Made by @Scuttle https://community.mp3tag.de/t/ws-storytel-json-based/58263
12 | #
13 | # Changed by Romano: changes in https://github.com/romanoh/Mp3tag
14 | # 11.11.2022 - Added Isbn; fix no series error.
15 | # 12.11.2022 - Changed to mofibo.com
16 | # 12.11.2022 - Added Genre
17 | # 18.11.2022 - Fix metadata when there is not "abook" data.
18 |
19 | #######################################################################################
20 |
21 | [ParserScriptIndex]=...
22 | #DebugWriteInput "C:\mp3debug\mp3tag.txt"
23 | #Debug "ON" "C:\mp3debug\mp3tag_storytel_debug_index.txt"
24 |
25 | json "ON" "current"
26 |
27 | json_foreach "books"
28 |
29 | json_select "book"
30 | json_select "id"
31 | SayRest
32 | Say "|"
33 | json_select "name"
34 | SayRest
35 | Say "|"
36 | json_select "authorsAsString"
37 | SayRest
38 | SayNewLine
39 |
40 | json_foreach_end
41 |
42 | #######################################################################################
43 | [ParserScriptAlbum]=...
44 |
45 | #This should work, for some reason the 640x640 URLs to the covers are not in the API...
46 | Replace "320x320" "640x640"
47 |
48 | #DebugWriteInput "C:\mp3debug\mp3tag_album.txt"
49 | #Debug "ON" "C:\Users\xxxx\Desktop\mp3tagdebug.txt"
50 |
51 | json "ON" "current"
52 |
53 | json_select_object "slb"
54 |
55 | json_select "abook"
56 |
57 | ifnot "0"
58 |
59 | json_select "narratorAsString"
60 | OutputTo "COMPOSER"
61 | SayRest
62 |
63 | json_select "releaseDateFormat"
64 | OutputTo "YEAR"
65 | SayNChars 4
66 |
67 | json_select "releaseDateFormat"
68 | OutputTo "RELEASETIME"
69 | SayRest
70 |
71 | json_select "description"
72 | OutputTo "DESCRIPTION"
73 | SayRest
74 |
75 | json_select_object "publisher"
76 | json_select "name"
77 | OutputTo "PUBLISHER"
78 | SayRest
79 | json_unselect_object
80 |
81 | json_select "isbn"
82 | OutputTo "ISBN"
83 | SayRest
84 | endif
85 | json_unselect_object
86 |
87 | json_select_object "slb"
88 | json_select "ebook"
89 |
90 | ifnot "0"
91 |
92 | json_select "releaseDateFormat"
93 | OutputTo "YEAR"
94 | SayNChars 4
95 |
96 | json_select "releaseDateFormat"
97 | OutputTo "RELEASETIME"
98 | SayRest
99 |
100 | json_select "description"
101 | OutputTo "DESCRIPTION"
102 | SayRest
103 |
104 | json_select_object "publisher"
105 | json_select "name"
106 | OutputTo "PUBLISHER"
107 | SayRest
108 | json_unselect_object
109 |
110 | json_select "isbn"
111 | OutputTo "ISBN"
112 | SayRest
113 |
114 |
115 | endif
116 |
117 | json_unselect_object
118 |
119 | json_select_object "slb"
120 |
121 | json_select "book"
122 |
123 | # Albumartist
124 | json_select "authorsAsString"
125 | OutputTo "ALBUMARTIST"
126 | SayRest
127 |
128 | # Artist
129 | json_select "authorsAsString"
130 | OutputTo "ARTIST"
131 | SayRest
132 |
133 | json_select_object "category"
134 | json_select "title"
135 | OutputTo "genre"
136 | SayRest
137 | json_unselect_object
138 |
139 | json_select "largeCover"
140 | OutputTo "COVERURL"
141 | Say "https://storytel.com"
142 | SayRest
143 |
144 | json_select "seriesOrder"
145 | ifnot "0"
146 | OutputTo "SERIES-PART"
147 | SayRest
148 | json_select_array "series" 1
149 | json_select "name"
150 | OutputTo "SERIES"
151 | SayRest
152 | endif
153 |
154 | json_unselect_object
155 |
--------------------------------------------------------------------------------
/data/sources/Everand.com#Search by &Album Json Version.src:
--------------------------------------------------------------------------------
1 | # ######################################################################
2 | # Mp3tag web source for Everand.com, Created by Romano.
3 | # Former scribd.com
4 | #
5 | # Copy this file to your sources directory at
6 | # %APPDATA%\Mp3tag\data\sources
7 | #
8 | # Changes: https://github.com/romanoh/Mp3tag-Repository
9 | #
10 | # [2024.02.24] NEW: First updated version using Json
11 | #
12 | # ######################################################################
13 |
14 | [Name]=everand.com [v.24.02.2024]
15 | [BasedOn]=everand.com
16 | [IndexUrl]=https://www.everand.com/search/query?query=%s
17 | [AlbumUrl]=https://www.everand.com/audiobook/
18 | [WordSeparator]=%20
19 | [IndexFormat]=%_preview%|%_url%|% ↓ Release Date%|% ↓ Title%|% ↓ Author%
20 | #remove everything inside ()
21 | [SearchBy]=Enter Album Name||$regexp(%album%,'\([^)]*\)',,1)||%s
22 | [Encoding]=url-utf-8
23 | [UserAgent]=1
24 |
25 | [ParserScriptIndex]=...
26 | # ###################################################################
27 | # I N D E X
28 | # ###################################################################
29 | #DebugWriteInput "C:\Users\xxxx\Desktop\scribd.html"
30 | #Debug "ON" "C:\Users\xxxx\Desktop\index_scrib.txt"
31 |
32 | json "ON"
33 |
34 | json_select_object "results"
35 | json_select_object "audiobooks"
36 | json_select_object "content"
37 |
38 | json_foreach "documents"
39 |
40 | # Preview (no column, only for preview)
41 | json_select "book_preview_url"
42 | SayRest
43 | Say "|"
44 |
45 | json_select "id"
46 | SayRest
47 | Say "|"
48 |
49 | json_select "releasedAt"
50 | SayRest
51 | Say "|"
52 |
53 | json_select "title"
54 | SayRest
55 | Say "|"
56 |
57 | json_select "author"
58 | json_select "name"
59 | SayRest
60 |
61 | saynewline
62 |
63 | json_foreach_end
64 | json_unselect_object
65 |
66 | ################################################################################
67 | # ADJUST TAG INFORMATION DIALOG #
68 | ################################################################################
69 | [ParserScriptAlbum]=...
70 |
71 | ## Comment/uncomment for debugging purposes:
72 | #DebugWriteInput "C:\Users\xxxx\Desktop\scribd_album_debug.html"
73 | #Debug "ON" "C:\Users\xxx\Desktop\scribd_album_debug.txt"
74 |
75 | # Use the json inside the html
76 | findline "\">"
126 | unspace
127 |
128 | # Matches any whitespace character (spaces, tabs, line breaks).
129 | regexpreplace "\s\s+" " "
130 | # Remove the second Json
131 | regexpreplace ",\s*{ \"@context\": \"http:\/\/schema\.org\", \"@type\": \"BreadcrumbList\", \"itemListElement\": \[.*?\]" ""
132 | replace " } ]" ""
133 |
134 | # Use this to remove the html tags
135 | RegexpReplace "<[^>]+>" ""
136 | Replace "\\/" "/"
137 | # ------------------------------------------------------------------
138 |
139 |
140 | # replace problematic characters for Mp3tag
141 | replace "|" "$verticalBar()"
142 |
143 | # use "current" json (applies replacements above)
144 | json "on" "current"
145 |
146 | # Album/Title
147 | outputto "Album"
148 | json_select "name"
149 | sayrest
150 |
151 | # Comments
152 | OutputTo "comment"
153 | json_select "description"
154 | SayRest
155 |
156 | # Cover
157 | OutputTo "COVERURL"
158 | json_select "image"
159 | SayRest
160 |
161 | # abridged
162 | OutputTo "abridged"
163 | json_select "abridged"
164 | SayRest
165 |
166 | # Author
167 | OutputTo "artist"
168 | json_select_array "author" 1
169 | json_select "name"
170 | SayRest
171 | json_unselect_object
172 |
173 | # narrator/composer
174 | OutputTo "composer"
175 | json_select_array "readBy" 1
176 | json_select "name"
177 | SayRest
178 | json_unselect_object
179 |
180 | # publisher
181 | OutputTo "publisher"
182 | json_select "publisher"
183 | SayRest
184 |
185 | # datePublished
186 | OutputTo "Year"
187 | json_select "datePublished"
188 | RegexpReplace "^.*?(?:^|\D)(\d{4})(?:\D|$).*$" "$1"
189 | SayRest
190 |
191 | # language
192 | OutputTo "language"
193 | json_select "inLanguage"
194 | SayRest
195 |
196 | # duration
197 | OutputTo "duration"
198 | json_select "duration"
199 | SayRest
200 |
201 | # Set Artist = Albumartist
202 | OutputTo "albumartist"
203 | sayoutput "artist"
204 | sayrest
205 |
206 |
207 | json "off"
208 | # Second Json for genres
209 |
210 | # Genres
211 | #outputto "genre"
212 | gotoline 1
213 | findline ""
214 | joinuntil ""
215 |
216 | do
217 | OutputTo "genre"
218 | findinline "data-text=\""
219 | sayuntil "\""
220 | say " "
221 | saynewline
222 | findinline " "
227 |
228 |
229 |
230 |
231 |
232 |
--------------------------------------------------------------------------------
/data/sources/Audiobooks.com#Search by Title[v.18.02.2024].src:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Mp3tag Tag Source for Audiobooks.com
3 | #
4 | # Created by romano in 29.08.2020
5 | #
6 | # This file needs to be stored in Mp3tag's tag sources directory:
7 | # %APPDATA%\Mp3tag\data\sources
8 | #
9 | # [2020-08-29]NEW: Initial work
10 | # [2020-08-29]NEW: Some cleanup
11 | # [2020-08-29]CHG: "Description" is now "comment" and updated to "Edition"
12 | # [2021-11-26]CHG: Improved Duration.
13 | # [2021-11-26]FIX: Fixed to work with new html.
14 | # [2022-01-04]FIX: Handle search redirect to book (Frozer); Only ouput year (Frozer); List all search results on page (Frozer)
15 | # [2023-01-29]FIX: Fixed to work with new html again.
16 | # [2023-09-23]FIX: Fixed to work with new html again in index.
17 | # [2023-10-20]FIX: Some fixes
18 | # [2024-02-17]FIX: Fixed to work with new html again.
19 | # [2024-02-18]FIX: Some fixes, now it works to book directly.
20 | #
21 | # Notes:
22 | # This web site only allows search for book or author.
23 | ################################################################################
24 |
25 | [Name]=Audiobooks.com [18-02-2024]
26 | [BasedOn]=Audiobooks.com
27 | [IndexUrl]=https://www.audiobooks.com/search/book/
28 | [AlbumUrl]=
29 | [WordSeparator]=%20
30 | [IndexFormat]=%_url%|% ↓ Album%|% ↓ Artist%|% ↓ Duration%
31 | [SearchBy]=%Album%
32 | [Encoding]=url-utf-8
33 |
34 | ################################################################################
35 | # LIST OF SEARCH RESULTS DIALOG #
36 | ################################################################################
37 | [ParserScriptIndex]=...
38 |
39 | ## Comment/uncomment for debugging purposes:
40 | #DebugWriteInput "C:\Users\xxxx\Desktop\mp3tag_audiobooks.com.html"
41 | #Debug "on" "C:\Users\xxx\Desktop\audiobooks.com.txt"
42 |
43 | FindLine ""
153 | replace "
" " "
154 |
155 | #Genres
156 | #todo more genres
157 | findinline "genres-list\">"
158 | outputto "Genre 1"
159 | findinline ""
160 | sayuntil "<"
161 | outputto "Genre 2"
162 | findinline ""
163 | sayuntil "<"
164 | outputto "Genre"
165 | sayoutput "Genre 1"
166 | say "/"
167 | sayoutput "Genre 2"
168 |
169 | #remove temps
170 | Set "Genre 1"
171 | Set "Genre 2"
172 |
173 | # Set Artist = Albumartist
174 | outputto "albumartist"
175 | sayoutput "Artist"
176 |
177 | # Set Audible Album URL
178 | outputto "WWWAUDIOFILE"
179 | sayoutput "CurrentUrl"
180 |
181 | # Set Comment to DESCRIPTION for better MP4 support
182 | outputto "DESCRIPTION"
183 | sayoutput "Comment"
--------------------------------------------------------------------------------
/data/sources/Deezer Api v.1.03.src:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Mp3tag Tag Source for Deezer.com
3 | # https://api.deezer.com
4 | #
5 | # INSTRUCTIONS: This file needs to be stored in Mp3tag's tag sources
6 | # directory:
7 | # %APPDATA%\Mp3tag\data\sources
8 | #
9 | # CHANGELOG
10 | # [2022-02-27] v1.01 Initial release
11 | # [2022-03-01] v1.02 Some cleanup and added date to date tag.
12 | # [2025-12-01] v1.03 Added cover image.
13 | #
14 | ################################################################################
15 |
16 | [Name]=Deezer [2025-12-01 v1.03]
17 | [BasedOn]=www.deezer.com
18 | [IndexUrl]=https://www.deezer.com/search/%s
19 | [AlbumUrl]=https://api.deezer.com/album/
20 | [WordSeparator]=%20
21 | [IndexFormat]=%_preview%|%_coverurl%|%_url%|%Album%|%Artist%|%Nº tracks%|%Year%
22 | [SearchBy]=%Artist% %Album%
23 | [Encoding]=url-utf-8
24 | [UserAgent]=1
25 |
26 | ################################################################################
27 | # LIST OF SEARCH RESULTS DIALOG #
28 | ################################################################################
29 | [ParserScriptIndex]=...
30 |
31 | ## Comment/uncomment for debugging purposes:
32 | # DebugWriteInput "C:\Users\your_username\Desktop\deezer_index_debug.html"
33 | # Debug "ON" "C:\Users\xxxx\Desktop\deezer_index_debug.txt"
34 |
35 | FindLine ".+" ""
38 |
39 | json "ON" "current"
40 |
41 | ## First, check if we've found anything
42 | json_select_object "ALBUM"
43 | json_select "count"
44 |
45 | ## Then iterate over all releases
46 | ifnot "0"
47 | json_foreach "data"
48 |
49 | # Preview (no column, only for preview)
50 | say "https://www.deezer.com/pt/album/"
51 | json_select "ALB_ID"
52 | SayRest
53 | Say "|"
54 |
55 | # Cover Preview
56 | say "https://cdn-images.dzcdn.net/images/cover/"
57 | json_select "ALB_PICTURE"
58 | SayRest
59 | say "/500x500-000000-80-0-0.jpg"
60 | Say "|"
61 |
62 | # URL
63 | json_select "ALB_ID"
64 | SayRest
65 | Say "|"
66 |
67 | # Album
68 | json_select "ALB_TITLE"
69 | SayRest
70 | Say "|"
71 |
72 | # Artist
73 | json_select "ART_NAME"
74 | SayRest
75 | Say "|"
76 |
77 | # N.Track
78 | json_select "NUMBER_TRACK"
79 | SayRest
80 | Say "|"
81 |
82 |
83 | # Year
84 | json_select "PHYSICAL_RELEASE_DATE"
85 | SayRest
86 |
87 | SayNewline
88 |
89 | json_foreach_end
90 | endif
91 |
92 |
93 | ################################################################################
94 | # ADJUST TAG INFORMATION DIALOG #
95 | ################################################################################
96 | [ParserScriptAlbum]=...
97 |
98 | ## Comment/uncomment for debugging purposes:
99 | # DebugWriteInput "C:\Users\your_username\Desktop\deezer_album_debug.html"
100 | # Debug "ON" "C:\Users\xxxx\Desktop\deezer_album_debug.txt"
101 |
102 |
103 | json "ON" "current"
104 |
105 | # Album
106 | OutputTo "ALBUM"
107 | json_select "title"
108 | SayRest
109 |
110 | # Single or Album
111 | OutputTo "MEDIATYPE"
112 | json_select "record_type"
113 | SayRest
114 |
115 | # UPC
116 | OutputTo "UPC"
117 | json_select "upc"
118 | SayRest
119 |
120 | # Link
121 | OutputTo "www"
122 | json_select "link"
123 | SayRest
124 |
125 | # Album artist
126 | outputto "albumartist"
127 | json_select_object "artist"
128 | json_select "name"
129 | SayRest
130 | json_unselect_object
131 |
132 | # Publisher
133 | OutputTo "PUBLISHER"
134 | json_select "label"
135 | SayRest
136 |
137 | # Cover
138 | OutputTo "COVERURL"
139 | json_select "cover_big"
140 | SayRest
141 | ## You can choose the cover resolution here, up to 1000px x 1000px
142 | ## Just use "cover_medium" or "cover_big" or "cover_xl"
143 |
144 | # Release date
145 | OutputTo "YEAR"
146 | json_select "release_date"
147 | ## A) Full date, e.g. 2018-09-26
148 | #SayRest
149 | ## B) Year only, e.g. 2018
150 | SayUntil "-"
151 |
152 | # Date
153 | OutputTo "Date"
154 | json_select "release_date"
155 | sayrest
156 |
157 | # Genres
158 | outputto "GENRE"
159 | json_select_object "genres"
160 | json_foreach "data"
161 | ifnot "0"
162 | json_select "name"
163 | ifoutput "genre"
164 | say "/"
165 | endif
166 | sayrest
167 | endif
168 | json_foreach_end
169 | json_unselect_object
170 |
171 | # All kind of contributors(the data in Deezer is small)
172 | OutputTo "INVOLVEDPEOPLE"
173 | json_foreach "contributors"
174 | ifnot "0"
175 | json_select "type"
176 | sayrest
177 | say "("
178 | json_select "role"
179 | sayrest
180 | say "):"
181 | json_select "name"
182 | sayrest
183 | endif
184 | json_foreach_end
185 | json_unselect_object
186 |
187 | # Comment
188 | outputto "comment"
189 | say "Full release date: "
190 | json_select "release_date"
191 | SayRest
192 |
193 | # Track count
194 | outputto "TOTALTRACKS"
195 | json_select "nb_tracks"
196 | SayRest
197 |
198 | ## Iterate over all tracks
199 | json_select_object "tracks"
200 | json_foreach "data"
201 | ifnot "0"
202 |
203 | # tracks title
204 | outputto "tracks"
205 | json_select "title"
206 | sayrest
207 | say "|"
208 |
209 | # Lenght
210 | outputto "_LENGTH"
211 | json_select "duration"
212 | sayrest
213 | say "|"
214 |
215 | # artist
216 | outputto "Artist"
217 | json_select_object "artist"
218 | json_select "name"
219 | sayrest
220 | say "|"
221 |
222 | endif
223 |
224 | json_foreach_end
225 | json_unselect_object
--------------------------------------------------------------------------------
/data/sources/Storytel.com#Search by Album.src:
--------------------------------------------------------------------------------
1 | # ###################################################################
2 | #
3 | # Mp3tag parsing for storytel.com, created by romano on 2020-11-28
4 | #
5 | # Changes in the commits: https://github.com/romanoh/Mp3tag-Repository
6 | #
7 | # 04.12.2020 - Fix sort album tag if the album is not from a series.
8 | # 27.12.2020 - Improve Lenght display.
9 | # 03.12.2021 - Complete change because hmtl changes.
10 | # 04.12.2021 - Added series name and number, more Genres, album sort.
11 | # 04.12.2021 - Fix several tags errors if data was not present.
12 | # 07.05.2022 - Fix publisher/year tags errors after html changes
13 | # 11.06.2022 - Made new Overall script structure as all html as change (Todo: more authors/narrators)
14 | # 28.01.2023 - Fix for a html error in album
15 | #
16 | # ####################################################################
17 |
18 | [Name]=Storytel [v.28.01.2023]
19 | [BasedOn]=www.storytel.com
20 | [IndexUrl]=https://www.storytel.com/in/en/search-
21 | [AlbumUrl]=https://www.storytel.com
22 | [WordSeparator]=+
23 | [IndexFormat]=% ↓ Language%|% ↓ Album%|% ↓ Author%|% ↓ Type%|%_url%
24 | [SearchBy]=Enter Album||$regexp(%album%,'[- ]+cd ?\d+$',,1)||%s
25 | [UserAgent]=1
26 | [Encoding]=url-utf-8
27 |
28 | [ParserScriptIndex]=...
29 | # ###################################################################
30 | # I N D E X
31 | # ###################################################################
32 | #DebugWriteInput "C:\Users\xxxx\Desktop\mp3tag.html"
33 | #Debug "ON" "C:\Users\xxx\Desktop\mp3tag_storytel_debug_index.txt"
34 |
35 | #Only select the area we need instead of everyting.
36 | findline "gridItem"
37 | joinuntil "hiddenSearchPhrase"
38 |
39 | replace "asAudio" "Audiobook"
40 | replace "asEbook" "Ebook"
41 |
42 | do
43 | # Language
44 | findinline "language=\""
45 | sayuntil "\""
46 | say "|"
47 |
48 | # Album
49 | findinline "name=\""
50 | sayuntil "\""
51 | say "|"
52 |
53 | # Author
54 | findinline "authors=\""
55 | sayuntil "\""
56 | say "|"
57 |
58 | # Type
59 | findinline ""
109 | findinline "title svelte-1rjicxl\">"
110 | sayuntil "<"
111 |
112 | # Author/Artist
113 | outputto "Artist"
114 | findline "authors"
115 | findinline "href="
116 | findinline ">"
117 | sayuntil "<"
118 |
119 | # Narrator
120 | outputto "Composer"
121 | findline "narrators"
122 | findinline "href="
123 | findinline ">"
124 | sayuntil "<"
125 |
126 | # year
127 | outputto "year"
128 | findline "Audiobook:"
129 | findinline ":"
130 | sayuntil "<"
131 |
132 | # Language
133 | outputto "language"
134 | findline "Language"
135 | findinline "info-def"
136 | findinline ">"
137 | sayuntil "<"
138 |
139 | # Genre
140 | outputto "Genre"
141 | findline "categories"
142 | findinline "book-info-category\">"
143 | sayrest
144 |
145 | # Lenght
146 | outputto "lenght"
147 | findline "Length"
148 | moveline 2
149 | replace "T" "h"
150 | sayuntil "<"
151 |
152 | # Book Description
153 | outputto "Comment"
154 | findline ">Audiobook"
155 | moveline 1
156 | findinline ""
157 | regexpreplace "?[^><]+>" ""
158 | #unspace
159 | sayuntil "
"
160 |
161 | # year
162 | outputto "copyright"
163 | findline "©"
164 | findinline "©"
165 | saynextnumber
166 |
167 | # publisher
168 | outputto "publisher"
169 | findinline "-publisher\">"
170 | sayuntil "<"
171 |
172 | #Isbn
173 | outputto "ISBN"
174 | findinline "ISBN:"
175 | unspace
176 | saynextnumber
177 |
178 |
179 | # Set year = RELEASETIME
180 | outputto "RELEASETIME"
181 | sayoutput "year"
182 |
183 | # Set Album URL
184 | outputto "WWWAUDIOFILE"
185 | sayoutput "CurrentUrl"
186 |
187 | # Set Artist = Albumartist
188 | outputto "albumartist"
189 | sayoutput "Artist"
190 |
191 | # Set Disknumber
192 | outputto "DISCNUMBER"
193 | sayoutput "series-part"
194 |
195 |
196 | # Set "Albumsort"
197 | IfOutput "series"
198 | outputto "Albumsort"
199 | sayoutput "series"
200 | say " "
201 | sayoutput "series-part"
202 | say " "
203 | say "- "
204 | sayoutput "Year"
205 | say ". "
206 | sayoutput "album"
207 | else
208 | outputto "Albumsort"
209 | sayoutput "Year"
210 | say ". "
211 | sayoutput "album"
212 | endif
213 |
214 |
215 |
216 | # More Genres
217 |
218 | findline "Explore more of"
219 |
220 |
221 | if "
"
60 | findinline ""
61 | ifnot "N/A"
62 | if ""
64 | sayuntil ""
65 | else
66 | regexpreplace "]+>" ""
67 | replace "" ""
68 | RegexpReplace "\[Extra Credits].*?script>" ""
69 | findinline " | "
70 | sayuntil " | "
71 | endif
72 | endif
73 |
74 | # Release Date
75 | outputto "Year"
76 | findline "Release Date"
77 | moveline 1
78 | sayregexp "(?<=)\d{4} *(?= | )" ""
79 | if "" 1 1
85 | sayuntil "<"
86 | else
87 | #else get the full day
88 | SayNChars 4
89 | say "."
90 | SayNChars 2
91 | say "."
92 | SayNChars 2
93 | endif
94 | endif
95 |
96 | # Event
97 | outputto "Event"
98 | findinline "at " 1 1
99 | if ""
100 | say ""
101 | else
102 | sayuntil "("
103 | findinline ".png' />" 1 1
104 | say " / "
105 | sayuntil ""
106 | endif
107 |
108 | # Publish Format
109 | outputto "Format"
110 | findline "Publish Format"
111 | joinuntil ""
112 | findinline " | "
113 | sayuntil " | "
114 |
115 | # Media Format
116 | outputto "Mediatype"
117 | findline "Media Format"
118 | joinuntil ""
119 | findinline ""
120 | sayuntil " | "
121 |
122 | # Classification (Genre)
123 | outputto "Genre"
124 | findline "Classification"
125 | joinuntil ""
126 | findinline ""
127 | sayuntil " | "
128 |
129 | # Publisher-Label
130 | findline "class=\"maincred\">"
131 | findinline "" 1 1
132 | If "Publisher"
133 | outputto "Publisher"
134 | findinline "style=\"display:inline\">" 1 1
135 | sayuntil "<"
136 | else
137 | If "Label"
138 | outputto "Label"
139 | findinline "style=\"display:inline\">" 1 1
140 | sayuntil "<"
141 | else
142 | endif
143 | endif
144 |
145 | # Distributor
146 | gotochar 1
147 | OutputTo "Distributor"
148 | findinline "Distributor" 1 1
149 | findinline "display:inline\">" 1 1
150 | sayuntil "<"
151 |
152 | # Copyright
153 | gotochar 1
154 | outputto "copyright"
155 | findinline "Phonographic Copyright" 1 1
156 | findinline "display:inline\">" 1 1
157 | sayuntil "<"
158 |
159 | # Organizations
160 | gotochar 1
161 | outputto "Organizations"
162 | findinline "Organizations" 1 1
163 | joinuntil ""
164 | findinline "" 1 1
165 | sayuntil "<"
166 |
167 | # Retailer
168 | gotochar 1
169 | outputto "Retailer"
170 | findinline "Retailer" 1 1
171 | findinline "display:inline\">" 1 1
172 | sayuntil "<"
173 |
174 | # Manufacturer
175 | gotochar 1
176 | outputto "Manufacturer"
177 | findinline "Manufacturer" 1 1
178 | findinline "display:inline\">" 1 1
179 | sayuntil "<"
180 |
181 | # Composer
182 | findline "left\">Credits " 1 1
183 | findline " | " 1 1
184 | findinline "Composer" 4 1
185 | findinline "width=\"100%\">" 1 1
186 | outputto "Composer"
187 |
188 | regexpreplace "" ""
189 | regexpreplace "" ""
190 | regexpreplace " / ([^<]+)" ""
191 | regexpreplace "" ""
192 | replace " " ""
193 | replace ")" ""
194 | replace "" ""
195 | replace "" ""
196 | replace "
| Composer | " ""
197 | replace " |
| Composer | " ""
198 | replace " |
| Music | " ""
199 | replace " |
| Written by | " ""
200 | replace " |
| All Music Composed by | " ""
201 | replace " |
| Music Composed by | " ""
202 | replace " |
| Sound Director | " ""
203 | replace " |
| Vocals | " ""
204 | replace "*" ""
205 |
206 | sayuntil " |
"
207 |
208 | # LYRICIST
209 | findinline "Lyricist" 1 1
210 | OutputTo "LYRICIST"
211 | findinline "" 1 1
212 | sayuntil "<"
213 |
214 | # Artist
215 | outputto "Artist"
216 | sayoutput "Composer"
217 | IfNotOutput "Composer"
218 | outputto "Artist"
219 | sayoutput "Writer"
220 | endif
221 |
222 | # Tracks
223 | gotoline 1
224 | findline "left\">Tracklist "
225 | findline "class=\"smallfont\">" 1 1
226 | do
227 | outputto "Tracks"
228 | moveline 1 1
229 | findinline "width=\"100%\" colspan=\"2\">" 1 1
230 | moveline 2 1
231 | sayuntil " | "
232 | say "|"
233 |
234 | outputto "_Length"
235 | moveline 2 1
236 | sayregexp "(?<=)[\d:]+(?=)" ""
237 | say "|"
238 |
239 | findline "class=\"smallfont\">" 1 1
240 | while "Notes"
246 | findline "id=\"notes\">"
247 | regexpreplace " " " "
248 | replace "" ""
249 | replace "" ""
250 | findinline "id=\"notes\">"
251 | sayuntil ""
252 |
253 | # comments
254 | findline "Category"
255 | outputto "comment"
256 | moveline 1
257 | sayuntil ""
258 | joinuntil ""
259 | if ""
263 | sayuntil "" "\">"
40 | replace "> <" "><"
41 | replace "Running Time:" ""
42 |
43 | findinline "results"
44 | findinline ""
55 | sayuntil "<"
56 |
57 | findinline ""
58 | if ""
61 | sayuntil "<"
62 |
63 | else
64 | if ""
67 | sayuntil "<"
68 | endif
69 |
70 | endif
71 | say "|"
72 |
73 | #Author
74 | findinline "authorLabel\">"
75 | findinline "href="
76 | findinline ">"
77 | sayuntil "<"
78 | say "|"
79 |
80 | #Series
81 | #findinline "Series:" 1 1
82 | #findinline "href=\"/series/" 1 1
83 | #findinline "\">" 1 1
84 | #sayuntil "<"
85 | #findinline "Book " 1 1
86 | #say " "
87 | #saynextnumber
88 | #say "|"
89 |
90 | # Duration
91 | findinline "runtimeLabel\">"
92 | findinline "Length: "
93 | sayuntil "<"
94 | say "|"
95 |
96 | # Year
97 | findinline "Release date:"
98 | sayuntil "<"
99 | say "|"
100 |
101 | # Language
102 | findinline "languageLabel\">"
103 | findinline "Language:"
104 | sayuntil "<"
105 |
106 |
107 | saynewline
108 |
109 | findinline ""
132 | findinline ":" 1 1
133 | movechar -1
134 | if ":"
135 | findline ""
138 | outputto "Album"
139 | regexpreplace "?[^><]+>" ""
140 | unspace
141 | regexpreplace " +" " "
142 | sayuntil ":"
143 | outputto "subtitle"
144 | movechar 2
145 | sayuntil "<"
146 | else
147 | findline "" 1 1
150 | outputto "Album"
151 | sayuntil "<"
152 | endif
153 |
154 | # Subtitle of Album
155 | regexpreplace " +" " "
156 | replace "" ""
157 | findinline "bc-text bc-size-medium\" " 1 1
158 | if ">"
159 | movechar 1
160 | outputto "Subtitle"
161 | sayuntil "<"
162 | else
163 | gotoline 1
164 | endif
165 |
166 | # Author
167 | outputto "Artist"
168 | findline "authorLabel"
169 | moveline 3 1
170 | joinuntil ""
171 | regexpreplace "?[^><]+>" ""
172 | unspace
173 | regexpreplace " +" " "
174 | regexpreplace ".+By:" ""
175 | sayrest
176 |
177 | # narratorLabel
178 | outputto "Composer"
179 | findline "narratorLabel"
180 | moveline 3 1
181 | joinuntil ""
182 | regexpreplace "?[^><]+>" ""
183 | unspace
184 | #join more than one space
185 | regexpreplace " +" " "
186 | replace "Narrated by: " ""
187 | sayrest
188 |
189 | # Grouping / Series
190 | findline "seriesLabel" 1 1
191 | unspace
192 | if "seriesLabel"
193 | outputto "SERIES"
194 | findline "href="
195 | findinline ">"
196 | if "Audible Original Stories"
197 | sayoutput ""
198 | else
199 | sayuntil "<"
200 | outputto "series-part"
201 | findinline "a>, Book " 1 1
202 | SayRegexp "^[.?\d]+$"
203 | endif
204 | else
205 | gotoline 1
206 | endif
207 |
208 | # 1st Genre
209 | findline "categoriesLabel" 1 1
210 | unspace
211 | if "categoriesLabel"
212 | outputto "tmp_Genre1"
213 | findinline "categoriesLabel" 1 1
214 | joinuntil ""
215 | findinline "href="
216 | findinline ">"
217 | sayuntil "<"
218 | # 2nd Genre
219 | findinline "href=" 1 1
220 | movechar -1
221 | if "="
222 | findinline ">"
223 | outputto "tmp_Genre2"
224 | sayuntil "<"
225 | outputto "genre"
226 | sayoutput "tmp_Genre1"
227 | say "/"
228 | sayoutput "tmp_Genre2"
229 | else
230 | outputto "genre"
231 | sayoutput "tmp_Genre1"
232 | endif
233 | else
234 | gotoline 1
235 | endif
236 |
237 | # Rating
238 | outputto "RATING WINAMP"
239 | findline "ratingsLabel" 1 1
240 | unspace
241 | if "ratingsLabel"
242 | findline "bc-pub-offscreen"
243 | findinline ">"
244 | saynextnumber
245 | else
246 | gotoline 1
247 | endif
248 |
249 |
250 | # Description
251 | findline "Publisher's Summary"
252 | outputto "Comment"
253 | findline ""
255 | regexpreplace "?[^><]+>" ""
256 | unspace
257 | regexpreplace " +" " "
258 | replace "bc-color-secondary\" >" ""
259 | sayrest
260 |
261 | # © Year, ©, Release Year, Publisher, the closest we can get to Original Pub year, Audible is not consistent with dates
262 | findline " "
263 | joinuntil ""
264 | findinline "(P)" 1 1
265 | movechar -17
266 | if "Public Domain"
267 | outputto "Copyright"
268 | say "Public Domain"
269 | outputto "year"
270 | findinline "(P)"
271 | SayNChars 4
272 | outputto "Publisher"
273 | movechar 1
274 | sayuntil "<"
275 | else
276 | gotoline 1
277 | findline "©"
278 | findinline "©"
279 | outputto "Year"
280 | SayNChars 4
281 | gotoline 1
282 | findline "©"
283 | replace "(P)" "; "
284 | findinline "©"
285 | outputto "Copyright"
286 | sayuntil ";"
287 | movechar 2
288 | outputto "RELEASETIME"
289 | SayNChars 4
290 | outputto "Publisher"
291 | movechar 1
292 | sayuntil "<"
293 | endif
294 |
295 | # Cover
296 | outputto "Coverurl"
297 | findline "\"image\": \""
298 | replace "_SL175_" "_SS500_"
299 | replace "_SL300_" "_SS500_"
300 | findinline "\"image\": \""
301 | sayuntil "\""
302 |
303 | # Set "Albumsort"
304 | IfOutput "series"
305 | outputto "Albumsort"
306 | sayoutput "series"
307 | say " "
308 | sayoutput "series-part"
309 | say " "
310 | say "- "
311 | sayoutput "Year"
312 | say ". "
313 | sayoutput "album"
314 | else
315 | outputto "Albumsort"
316 | sayoutput "Year"
317 | say ". "
318 | sayoutput "album"
319 | endif
320 |
321 | # Set Artist = Albumartist
322 | outputto "albumartist"
323 | sayoutput "Artist"
324 |
325 | # Set Disknumber
326 | outputto "DISCNUMBER"
327 | sayoutput "series-part"
328 |
329 | # Set Audible Album URL
330 | outputto "WWWAUDIOFILE"
331 | sayoutput "CurrentUrl"
332 |
333 | # Set Comment to DESCRIPTION for better MP4 support
334 | outputto "DESCRIPTION"
335 | sayoutput "Comment"
336 |
--------------------------------------------------------------------------------
/data/sources/VGMdb#Search by &Album JSON.src:
--------------------------------------------------------------------------------
1 | # ######################################################################
2 | # Mp3tag parsing for VGMdb.net, Created by Romano.
3 | #
4 | # Copy this file to your sources directory at
5 | # %APPDATA%\Mp3tag\data\sources
6 | #
7 | # Changes in the commits: https://github.com/romanoh/Mp3tag-Repository
8 | # Last update 24.08.2021
9 | # -Fix: Clean up.
10 | #
11 | # ######################################################################
12 |
13 | [Name]=VGMdb [v.24.08.2021]
14 | [BasedOn]=vgmdb.info
15 | [IndexUrl]=http://vgmdb.info/search?q=
16 | [AlbumUrl]=http://vgmdb.info/
17 | [WordSeparator]=+
18 | [IndexFormat]=% ↓ Catalog%|%_url%|% ↓ Year%|% ↓ Album%
19 | #remove everything inside ()
20 | [SearchBy]=Enter Album Name||$regexp(%album%,'\([^)]*\)',,1)||%s
21 | [Encoding]=url-utf-8
22 | [UserAgent]=1
23 |
24 | [ParserScriptIndex]=...
25 | # ###################################################################
26 | # I N D E X
27 | # ###################################################################
28 | #DebugWriteInput "C:\Users\%user%\Desktop\mp3tag_vgmdb_json.html"
29 | #Debug "ON" "C:\Users\%user%\Desktop\mp3tag_vgmdb_json.txt"
30 |
31 | json "ON"
32 |
33 | json_select "results"
34 | json_foreach "albums"
35 |
36 | # Catalog
37 | json_select "catalog"
38 | SayRest
39 | Say "|"
40 |
41 | # Link
42 | json_select "link"
43 | SayRest
44 | Say "|"
45 |
46 | # Year
47 | json_select "release_date"
48 | SayRest
49 | Say "|"
50 |
51 | # Album
52 | json_select "titles"
53 | json_select "en"
54 | SayRest
55 |
56 | SayNewline
57 |
58 | json_foreach_end
59 |
60 |
61 | ################################################################################
62 | # ADJUST TAG INFORMATION DIALOG #
63 | ################################################################################
64 | [ParserScriptAlbum]=...
65 |
66 | ## Comment/uncomment for debugging purposes:
67 | #DebugWriteInput "C:\Users\%user%\Desktop\mp3tagvgmdb.html"
68 | #Debug "ON" "C:\Users\%user%\Desktop\mp3tagdebug.txt"
69 |
70 | json "ON"
71 |
72 | # LYRICIST
73 | OutputTo "LYRICIST"
74 | json_foreach "lyricists"
75 | # ifnot "0" is for when there is no data or lenght of array, The index starts at zero and not one. Few languages use 1 as the first index.
76 | ifnot "0"
77 | json_select_object "names"
78 | if "names"
79 | json_select "en"
80 | ifnot ""
81 | ifoutput "LYRICIST"
82 | say "; "
83 | endif
84 | sayrest
85 | endif
86 | json_unselect_object
87 | endif
88 | endif
89 | json_foreach_end
90 |
91 | # roles
92 | json_foreach "organizations"
93 | ifnot "0"
94 | json_select "role"
95 | if "manufacturer"
96 | OutputTo "manufacturer"
97 | json_select_object "names"
98 | if "names"
99 | json_select "en"
100 | sayrest
101 | json_unselect_object
102 | endif
103 | else
104 | if "label"
105 | OutputTo "label"
106 | json_select_object "names"
107 | if "names"
108 | json_select "en"
109 | sayrest
110 | json_unselect_object
111 | endif
112 | endif
113 | else
114 | if "retailer"
115 | OutputTo "retailer"
116 | json_select_object "names"
117 | if "names"
118 | json_select "en"
119 | sayrest
120 | json_unselect_object
121 | endif
122 | endif
123 | else
124 | if "distributor"
125 | OutputTo "distributor"
126 | json_select_object "names"
127 | if "names"
128 | json_select "en"
129 | sayrest
130 | json_unselect_object
131 | endif
132 | endif
133 | endif
134 |
135 | endif
136 | json_foreach_end
137 |
138 | # Arrangers
139 | outputto "CONDUCTOR"
140 | json_foreach "arrangers"
141 | ifnot "0"
142 | json_select_object "names"
143 | if "names"
144 | json_select "en"
145 | ifnot ""
146 | ifoutput "CONDUCTOR"
147 | say ", "
148 | endif
149 | sayrest
150 | endif
151 | json_unselect_object
152 | endif
153 | endif
154 | json_foreach_end
155 |
156 | # barcode
157 | OutputTo "Barcode"
158 | json_select "barcode"
159 | ifnot "0"
160 | SayRest
161 | endif
162 |
163 | # Catalog
164 | OutputTo "Catalog"
165 | json_select "catalog"
166 | SayRest
167 |
168 | # notes
169 | OutputTo "notes"
170 | json_select "category"
171 | SayRest
172 |
173 |
174 | # Involved People
175 | OutputTo "INVOLVEDPEOPLE"
176 | json_foreach "organizations"
177 | ifnot "0"
178 | json_select "role"
179 | ifnot ""
180 | ifoutput "INVOLVEDPEOPLE"
181 |
182 | endif
183 | sayrest
184 | say ":"
185 | json_select_object "names"
186 | if "names"
187 | json_select "en"
188 | sayrest
189 | json_unselect_object
190 | endif
191 | say ";"
192 | endif
193 | endif
194 | json_foreach_end
195 |
196 | # Genre
197 | OutputTo "genre"
198 | json_select "classification"
199 | SayRest
200 |
201 | # Album
202 | OutputTo "ALBUM"
203 | json_select "name"
204 | SayRest
205 |
206 | # Artist
207 | outputto "artist"
208 | json_foreach "performers"
209 | ifnot "0"
210 | json_select_object "names"
211 | if "names"
212 | json_select "en"
213 | ifoutput "artist"
214 | say ", "
215 | endif
216 | sayrest
217 | json_unselect_object
218 | endif
219 | endif
220 | json_foreach_end
221 |
222 | # Composers
223 | json_foreach "composers"
224 | ifnot "0"
225 | json_select_object "names"
226 | if "names"
227 | json_select "en"
228 |
229 | set "TEMP_composer"
230 | outputto "TEMP_composer"
231 | sayrest
232 | outputto "composer"
233 | ifoutput "composer"
234 | say ", "
235 | endif
236 | sayoutput "TEMP_composer"
237 |
238 | outputto "artist"
239 | ifoutput "artist"
240 | say ", "
241 | endif
242 | sayoutput "TEMP_composer"
243 | set "TEMP_composer"
244 |
245 | json_unselect_object
246 | endif
247 | endif
248 | json_foreach_end
249 |
250 | # Tracks English to Japanese to Romaji to Italian
251 | json_foreach "discs"
252 | ifnot "0"
253 |
254 | # Number of discs
255 | outputto "TotalDiscs"
256 | sayrest
257 |
258 | # Discnumber
259 | json_select "discs"
260 | ifnot ""
261 | outputto "Discnumber"
262 | sayrest
263 | endif
264 |
265 | # Title
266 | json_foreach "tracks"
267 | ifnot "0"
268 |
269 | # Track nr
270 | outputto "tracks"
271 | say "|"
272 |
273 | #Lenght
274 | outputto "_LENGTH"
275 | json_select "track_length"
276 | sayrest
277 | say "|"
278 |
279 | json_select_object "names"
280 | if "names"
281 | set "TEMP_Title"
282 | OutputTo "TEMP_Title"
283 |
284 | ifNotOutput "TEMP_Title"
285 | json_select "English"
286 | ifnot ""
287 | SayRest
288 | endif
289 | endif
290 |
291 | ifNotOutput "TEMP_Title"
292 | json_select "Japanese"
293 | ifnot ""
294 | SayRest
295 | endif
296 | endif
297 |
298 | ifNotOutput "TEMP_Title"
299 | json_select "Romaji"
300 | ifnot ""
301 | SayRest
302 | endif
303 | endif
304 |
305 | ifNotOutput "TEMP_Title"
306 | json_select "Italian"
307 | ifnot ""
308 | SayRest
309 | endif
310 | endif
311 |
312 | say "|"
313 | outputto "Title"
314 | sayoutput "TEMP_Title"
315 | set "TEMP_Title"
316 | json_unselect_object
317 | endif
318 |
319 | endif
320 | json_foreach_end
321 | endif
322 | json_foreach_end
323 |
324 |
325 |
326 | # Media type
327 | OutputTo "MEDIATYPE"
328 | json_select "media_format"
329 | SayRest
330 |
331 | # Comments
332 | OutputTo "comment"
333 | json_select "notes"
334 | SayRest
335 |
336 | # Cover
337 | OutputTo "COVERURL"
338 | json_select "picture_full"
339 | SayRest
340 | ## You can choose the cover resolution here
341 | # json_select "picture_small"
342 | # json_select "picture_thumb"
343 |
344 | # Publish_format
345 | OutputTo "format"
346 | json_select "publish_format"
347 | SayRest
348 |
349 | # Rating
350 | OutputTo "rating"
351 | json_select "rating"
352 | ifnot "0"
353 | SayRest
354 | endif
355 |
356 | # Release_date
357 | OutputTo "YEAR"
358 | json_select "release_date"
359 | RegexpReplace "^.*?(?:^|\D)(\d{4})(?:\D|$).*$" "$1"
360 | SayRegexp "^.*$"
361 |
362 | # vgmdb_link
363 | OutputTo "www"
364 | json_select "vgmdb_link"
365 | SayRest
366 |
367 | # Event
368 | outputto "Event"
369 | json_foreach "release_events"
370 | ifnot "0"
371 | json_select "name"
372 | sayrest
373 | endif
374 | json_foreach_end
375 |
376 | # Publisher
377 | OutputTo "publisher"
378 | json_select "publisher"
379 | ifnot "0"
380 | json_select_object "names"
381 | if "names"
382 | json_select "en"
383 | sayrest
384 | json_unselect_object
385 | endif
386 | endif
387 |
388 | # Set Artist = Albumartist
389 | set "albumartist"
390 | outputto "albumartist"
391 | sayoutput "Artist"
392 |
--------------------------------------------------------------------------------
/export/Export Music.mte:
--------------------------------------------------------------------------------
1 | $filename(%_folderpath%%_directory%.html,utf-8)
2 |
3 |
4 |
5 |
6 |
7 |
8 | .~ %_workingdir% ~. Overview
9 |
75 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 | |
153 | %album% [(%series% - Book %series-part%)]
154 | |
155 |
156 |
157 |
158 | |
159 |
160 |
161 |
162 |
163 |
164 |
165 | |
166 |
173 | |
174 |
175 |
176 |
177 |
178 | |
179 |
180 |
182 | |
183 |
184 |
185 | |
186 |
187 | Total Length:
188 | $replace($replace($replace($replace($replace(-%_total_time2%,-00:00,0),-00:0,),-00:,),-0,),-,) |
189 | %_total_files% Track(s) |
190 | %_total_size%
191 |
192 | |
193 |
194 |
195 | |
196 | |
197 |
198 |
199 | |
200 | Album:
201 | |
202 | $loop(%album%,1)$puts(album,$add($get(album),1))$loopend()$ifgreater($get(album),1,$loop(%album%,1) %album% | $loopend(),$loop(%album%,1) %album% $loopend()) |
203 |
204 |
205 | |
206 | Series:
207 | |
208 | %series% [-Book %series-part%] |
209 |
210 |
211 | |
212 | Artist:
213 | |
214 | %albumartist% |
215 |
216 |
217 | |
218 | Narrated by:
219 | |
220 | %Composer% |
221 |
222 |
223 | |
224 | Genre:
225 | |
226 | %genre% |
227 |
228 |
229 | |
230 | Audible Rating:
231 | |
232 | %Rating wmp% |
233 |
234 |
235 | |
236 | Resume:
237 | |
238 | %comment% |
239 |
240 |
241 | |
242 | Copyright:
243 | |
244 | %copyright% |
245 |
246 |
247 | |
248 | Publisher:
249 | |
250 | %Publisher% |
251 |
252 |
253 | |
254 | Asin:
255 | |
256 | %asin% |
257 |
258 |
259 | |
260 | Bitrate:
261 | |
262 | $loop(%_filename_ext%)$puts(Vbitrate,$add($get(Vbitrate),%_bitrate%))$puts(cnt1,$add($get(cnt1),1))$loopend()$div($get(Vbitrate),$get(cnt1)) kbps |
263 |
264 |
265 | |
266 | Codec:
267 | |
268 | %_codec% |
269 |
270 |
271 | |
272 | File Type:
273 | |
274 | %_extension% |
275 |
276 |
277 | |
278 | Channels:
279 | |
280 | %_samplerate% kHz %_mode% |
281 |
282 |
283 |
284 | $loop(%track%)
285 |
286 | |
287 | Tracks:
288 | |
289 |
290 |
291 |
292 | %title%
293 |
294 | |
295 |
296 |
297 | $loopend()
298 |
299 |
300 |
301 |
302 | |
303 |
304 |
305 |
306 | |
307 |
308 |
309 |
310 | |
311 |
312 | upload by Romano -
313 | abtorrents.me
314 |
315 | |
316 |
317 |
318 |
319 |
320 |
321 |
--------------------------------------------------------------------------------
/export/Export Audiobooks series.mte:
--------------------------------------------------------------------------------
1 | $filename(%_folderpath%%_directory%.html,utf-8)
2 |
3 |
4 |
5 |
6 |
7 |
8 | .~ %_workingdir% ~. Overview
9 |
76 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 | |
148 | %album%[-%subtitle%] [(%series% - Book %series-part%)]
149 | |
150 |
151 |
152 |
153 | |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
170 |
171 | %artist%
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 | | %INVOLVEDPEOPLE% |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 | |
191 |
192 |
193 |
194 |
195 | |
196 |
197 |
199 | |
200 |
201 |
202 | |
203 |
204 | Total Length:
205 | $replace($replace($replace($replace($replace(-%_total_time2%,-00:00,0),-00:0,),-00:,),-0,),-,) |
206 | %_total_files% Track(s) |
207 | %_total_size%
208 |
209 | |
210 |
211 |
212 | |
213 | |
214 |
215 |
216 | |
217 | Album:
218 | |
219 | $loop(%album%,1)$puts(album,$add($get(album),1))$loopend()$ifgreater($get(album),1,$loop(%album%,1) %album% | $loopend(),$loop(%album%,1) %album% $loopend()) [- %subtitle%] |
220 |
221 |
222 | |
223 | Series:
224 | |
225 | %series% [-Book %series-part%] |
226 |
227 |
228 | |
229 | Author:
230 | |
231 | %albumartist% |
232 |
233 |
234 | |
235 | Narrated by:
236 | |
237 | %Composer% |
238 |
239 |
240 | |
241 | Genre:
242 | |
243 | %genre% |
244 |
245 |
246 | |
247 | Audible Rating:
248 | |
249 | %Rating wmp% |
250 |
251 |
252 | |
253 | Resume:
254 | |
255 | %comment% |
256 |
257 |
258 | |
259 | Copyright:
260 | |
261 | %copyright% |
262 |
263 |
264 | |
265 | Publisher:
266 | |
267 | %Publisher% |
268 |
269 |
270 | |
271 | Release:
272 | |
273 | %releasetime% |
274 |
275 |
276 | |
277 | Asin:
278 | |
279 | %asin% |
280 |
281 |
282 | |
283 | Bitrate:
284 | |
285 | $loop(%_filename_ext%)$puts(Vbitrate,$add($get(Vbitrate),%_bitrate%))$puts(cnt1,$add($get(cnt1),1))$loopend()$div($get(Vbitrate),$get(cnt1)) kbps |
286 |
287 |
288 | |
289 | Codec:
290 | |
291 | %_codec% |
292 |
293 |
294 | |
295 | File Type:
296 | |
297 | %_extension% |
298 |
299 |
300 | |
301 | Channels:
302 | |
303 | %_samplerate% kHz %_mode% |
304 |
305 |
313 |
329 |
330 |
331 |
332 | |
333 |
334 |
335 |
336 | |
337 |
338 |
339 |
340 | |
341 |
342 |
343 | upload by Romano -
344 | abtorrents.me
345 |
346 | Tags updated %_file_mod_datetime%
347 |
348 |
349 | |
350 |
351 |
352 |
353 |
354 |
355 |
--------------------------------------------------------------------------------
/export/Export Audiobooks Standalone.mte:
--------------------------------------------------------------------------------
1 | $filename(%_folderpath%%_directory%.html,utf-8)
2 |
3 |
4 |
5 |
6 |
7 |
8 | .~ %_workingdir% ~. Overview
9 |
76 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 | |
148 | %album%[-%subtitle%] [(%series% - Book %series-part%)]
149 | |
150 |
151 |
152 |
153 | |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
170 |
171 | %artist%
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 | | %INVOLVEDPEOPLE% |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 | |
191 |
192 |
193 |
194 |
195 |
196 | |
197 |
198 |
200 | |
201 |
202 |
203 | |
204 |
205 | Total Length:
206 | $replace($replace($replace($replace($replace(-%_total_time2%,-00:00,0),-00:0,),-00:,),-0,),-,) |
207 | %_total_files% Track(s) |
208 | %_total_size%
209 |
210 | |
211 |
212 |
213 | |
214 | |
215 |
216 |
217 | |
218 | Album:
219 | |
220 | $loop(%album%,1)$puts(album,$add($get(album),1))$loopend()$ifgreater($get(album),1,$loop(%album%,1) %album% | $loopend(),$loop(%album%,1) %album% $loopend()) [- %subtitle%] |
221 |
222 |
223 | |
224 | Series:
225 | |
226 | %series% [-Book %series-part%] |
227 |
228 |
229 | |
230 | Author:
231 | |
232 | %albumartist% |
233 |
234 |
235 | |
236 | Narrated by:
237 | |
238 | %Composer% |
239 |
240 |
241 | |
242 | Genre:
243 | |
244 | %genre% |
245 |
246 |
247 | |
248 | Audible Rating:
249 | |
250 | %Rating wmp% |
251 |
252 |
253 | |
254 | Resume:
255 | |
256 | %comment% |
257 |
258 |
259 | |
260 | Copyright:
261 | |
262 | %copyright% |
263 |
264 |
265 | |
266 | Publisher:
267 | |
268 | %Publisher% |
269 |
270 |
271 | |
272 | Release:
273 | |
274 | %releasetime% |
275 |
276 |
277 | |
278 | Asin:
279 | |
280 | %asin% |
281 |
282 |
283 | |
284 | Bitrate:
285 | |
286 | $loop(%_filename_ext%)$puts(Vbitrate,$add($get(Vbitrate),%_bitrate%))$puts(cnt1,$add($get(cnt1),1))$loopend()$div($get(Vbitrate),$get(cnt1)) kbps |
287 |
288 |
289 | |
290 | Codec:
291 | |
292 | %_codec% |
293 |
294 |
295 | |
296 | File Type:
297 | |
298 | %_extension% |
299 |
300 |
301 | |
302 | Channels:
303 | |
304 | %_samplerate% kHz %_mode% |
305 |
306 |
314 |
330 |
331 |
332 |
333 |
334 | |
335 |
336 |
337 |
338 | |
339 |
340 |
341 |
342 |
343 | |
344 |
345 |
346 | upload by Romano -
347 | abtorrents.me
348 |
349 | Tags updated %_file_mod_datetime%
350 |
351 |
352 | |
353 |
354 |
355 |
356 |
357 |
358 |
--------------------------------------------------------------------------------
/export/Export Audiobooks Standalone no cover.mte:
--------------------------------------------------------------------------------
1 | $filename(%_folderpath%%_directory%.html,utf-8)
2 |
3 |
4 |
5 |
6 |
7 |
8 | .~ %_workingdir% ~. Overview
9 |
76 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 | |
148 | %album%[-%subtitle%] [(%series% - Book %series-part%)]
149 | |
150 |
151 |
152 |
153 | |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
170 |
171 | %artist%
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 | | %INVOLVEDPEOPLE% |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 | |
193 |
194 |
195 |
196 |
197 |
198 | |
199 |
200 |
202 | |
203 |
204 |
205 | |
206 |
207 | Total Length:
208 | $replace($replace($replace($replace($replace(-%_total_time2%,-00:00,0),-00:0,),-00:,),-0,),-,) |
209 | %_total_files% Track(s) |
210 | %_total_size%
211 |
212 | |
213 |
214 |
215 | |
216 | |
217 |
218 |
219 | |
220 | Album:
221 | |
222 | $loop(%album%,1)$puts(album,$add($get(album),1))$loopend()$ifgreater($get(album),1,$loop(%album%,1) %album% | $loopend(),$loop(%album%,1) %album% $loopend()) [- %subtitle%] |
223 |
224 |
225 | |
226 | Series:
227 | |
228 | %series% [-Book %series-part%] |
229 |
230 |
231 | |
232 | Author:
233 | |
234 | %albumartist% |
235 |
236 |
237 | |
238 | Narrated by:
239 | |
240 | %Composer% |
241 |
242 |
243 | |
244 | Genre:
245 | |
246 | %genre% |
247 |
248 |
249 | |
250 | Audible Rating:
251 | |
252 | %Rating wmp% |
253 |
254 |
255 | |
256 | Resume:
257 | |
258 | %comment% |
259 |
260 |
261 | |
262 | Copyright:
263 | |
264 | %copyright% |
265 |
266 |
267 | |
268 | Publisher:
269 | |
270 | %Publisher% |
271 |
272 |
273 | |
274 | Release:
275 | |
276 | %releasetime% |
277 |
278 |
279 | |
280 | Asin:
281 | |
282 | %asin% |
283 |
284 |
285 | |
286 | Bitrate:
287 | |
288 | $loop(%_filename_ext%)$puts(Vbitrate,$add($get(Vbitrate),%_bitrate%))$puts(cnt1,$add($get(cnt1),1))$loopend()$div($get(Vbitrate),$get(cnt1)) kbps |
289 |
290 |
291 | |
292 | Codec:
293 | |
294 | %_codec% |
295 |
296 |
297 | |
298 | File Type:
299 | |
300 | %_extension% |
301 |
302 |
303 | |
304 | Channels:
305 | |
306 | %_samplerate% kHz %_mode% |
307 |
308 |
316 |
332 |
333 |
334 |
335 |
336 | |
337 |
338 |
339 |
340 | |
341 |
342 |
343 |
344 |
345 | |
346 |
347 |
348 | upload by Romano -
349 | abtorrents.me
350 |
351 | Tags updated %_file_mod_datetime%
352 |
353 |
354 | |
355 |
356 |
357 |
358 |
359 |
360 |
--------------------------------------------------------------------------------
|