├── .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 | ![romanoh's github stats](https://github-readme-stats.vercel.app/api?username=romanoh&show_icons=true) 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 "" 33 | 34 | #remove spaces after lines 35 | regexpreplace "[\r\n]+" "" 36 | 37 | #.+ Matches any character except linebreaks and replace them whit "results" 38 | regexpreplace ".+results" "results" 39 | 40 | regexpreplace "" 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 "
" 1 1 44 | findline "data-bookid" 1 1 45 | unspace 46 | 47 | if "" 60 | Say "|" 61 | 62 | # ARTIST 63 | findline " " 1 1 64 | findinline " " 1 1 65 | SayUntil "<" 66 | Say "|" 67 | 68 | # DURATION 69 | findline "duration d-block\">" 1 1 70 | findinline "duration d-block\">" 1 1 71 | SayUntil "<" 72 | #sayrest 73 | 74 | SayNewline 75 | 76 | findline "credit" 80 | else 81 | gotoline 1 82 | FindLine "" 102 | joinuntil "" 103 | 104 | # Cover 105 | outputto "Coverurl" 106 | findinline "src=\"//" 107 | say "https://" 108 | sayuntil "\"" 109 | 110 | #Album Title 111 | outputto "Album" 112 | findinline "title=\"" 113 | sayuntil "\"" 114 | 115 | #Author 116 | outputto "Artist" 117 | findinline "Written by:" 118 | # todo: use more authors here 119 | findinline "\">" 120 | sayuntil "<" 121 | 122 | #Narrator 123 | outputto "Composer" 124 | findinline "Narrated by:" 125 | # todo: use more narrators here 126 | findinline "\">" 127 | sayuntil "<" 128 | 129 | # I have to put the Unabridged somewhere 130 | #Edition 131 | outputto "Edition" 132 | findinline "abridged-text\">" 133 | sayuntil "<" 134 | 135 | #Year 136 | outputto "Year" 137 | #todo: improve date 138 | findinline "meta__date\">" 139 | sayuntil "<" 140 | 141 | #Duration 142 | # Is it worth it? 143 | # todo: improve it 144 | outputto "Duration" 145 | findinline "Duration" 146 | findinline "" 147 | sayuntil "<" 148 | 149 | #Comment 150 | outputto "Comment" 151 | findinline "description\">" 152 | sayuntil "
" 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 "
" 223 | 224 | outputto "GenreTMP1" 225 | findinline "href=\"" 1 1 226 | if "/" 227 | findinline ">" 228 | sayuntil "<" 229 | else 230 | say "" 231 | endif 232 | 233 | outputto "GenreTMP2" 234 | findinline "href=\"" 1 1 235 | if "/" 236 | findinline ">" 237 | sayuntil "<" 238 | else 239 | say "" 240 | endif 241 | 242 | outputto "GenreTMP3" 243 | findinline "href=\"" 1 1 244 | if "/" 245 | findinline ">" 246 | sayuntil "<" 247 | else 248 | say "" 249 | endif 250 | 251 | outputto "GenreTMP4" 252 | findinline "href=\"" 1 1 253 | if "/" 254 | findinline ">" 255 | sayuntil "<" 256 | else 257 | say "" 258 | endif 259 | else 260 | 261 | endif 262 | 263 | 264 | outputto "Genre" 265 | 266 | IfOutput "GenreTMP1" 267 | say "//" 268 | sayoutput "GenreTMP1" 269 | else 270 | endif 271 | 272 | IfOutput "GenreTMP2" 273 | say "//" 274 | sayoutput "GenreTMP2" 275 | else 276 | endif 277 | 278 | IfOutput "GenreTMP3" 279 | say "//" 280 | sayoutput "GenreTMP3" 281 | else 282 | endif 283 | 284 | IfOutput "GenreTMP4" 285 | say "//" 286 | sayoutput "GenreTMP4" 287 | else 288 | endif 289 | 290 | # remove tags 291 | set "GenreTMP1" 292 | set "GenreTMP2" 293 | set "GenreTMP3" 294 | set "GenreTMP4" 295 | -------------------------------------------------------------------------------- /data/sources/Libro.fm#Json_Search by Album[v.02.06.2024].src: -------------------------------------------------------------------------------- 1 | # ################################################################### 2 | # 3 | # Mp3tag parsing for Libro.fm, created by romano on 2020-12-21 4 | # 5 | # Current changes: https://github.com/romanoh/Mp3tag-Repository 6 | # 7 | # [28.11.2021] 8 | # CHG: Results for search to 10 9 | # [01.07.2023] 10 | # NEW: starting working in new script as html changed. 11 | # [23.09.2023] 12 | # NEW: complete rework of the album part using json 13 | # [16.05.2024] 14 | # FIX: quick fix in index, so its works again. 15 | # NEW: cover thumbnails in index 16 | # [02.06.2024] 17 | # FIX: quick fix in index, so its works again. 18 | # 19 | # This file should be in your sources dir. 20 | # #################################################################### 21 | 22 | [Name]=Libro.fm Json version [v.02.06.2024] 23 | [BasedOn]=www.libro.fm 24 | [IndexUrl]=https://libro.fm/search?utf8=0x2713&q= 25 | [AlbumUrl]=https://libro.fm 26 | [WordSeperator]=+ 27 | [IndexFormat]=%_coverurl%|% ↓ Album%|% ↓ Author%|% ↓ Narrator%|% ↓ Lenght%|% ↓ Abridged%|%_url% 28 | [SearchBy]=%artist% $regexp(%album%,'[- ]+cd ?\d+$',,1) 29 | [Encoding]=url-utf-8 30 | [MinAppVersionWin]=3.25c 31 | 32 | [ParserScriptIndex]=... 33 | # ################################################################### 34 | # I N D E X 35 | # ################################################################### 36 | #DebugWriteInput "C:\Users\xxx\Desktop\mp3tagindex.txt" 37 | #Debug "ON" "C:\Users\xxx\Desktop\mp3tag_debug_libro_index.txt" 38 | 39 | #Only select the area we need instead of everyting. 40 | findline "
" 41 | joinuntil "
" 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 | 159 | 160 | 161 | 307 | 308 | 309 | 310 | 316 | 317 | 318 |
    148 |
    149 | 150 | 151 | 152 | 155 | 156 | 157 |
    153 |
    %album% [(%series% - Book %series-part%)]
    154 |
    158 |
    162 | 163 | 164 | 165 | 174 | 303 | 304 | 305 |
    166 | 173 | 175 | 176 | 177 | 178 | 179 | 183 | 184 | 185 | 186 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 202 | 203 | 204 | 205 | 208 | 209 | 210 | 211 | 214 | 215 | 216 | 217 | 220 | 221 | 222 | 223 | 226 | 227 | 228 | 229 | 232 | 233 | 234 | 235 | 238 | 239 | 240 | 241 | 244 | 245 | 246 | 247 | 250 | 251 | 252 | 253 | 256 | 257 | 258 | 259 | 262 | 263 | 264 | 265 | 268 | 269 | 270 | 271 | 274 | 275 | 276 | 277 | 280 | 281 | 282 | 283 | 284 | $loop(%track%) 285 | 286 | 289 | 290 | 295 | 296 | 297 | $loopend() 298 | 299 | 300 | 301 |
    180 | 182 |
    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 |
    200 | Album: 201 | $loop(%album%,1)$puts(album,$add($get(album),1))$loopend()$ifgreater($get(album),1,$loop(%album%,1) %album% | $loopend(),$loop(%album%,1) %album% $loopend())
    206 | Series: 207 |  %series% [-Book %series-part%]
    212 | Artist: 213 |  %albumartist%
    218 | Narrated by: 219 |  %Composer%
    224 | Genre: 225 |  %genre%
    230 | Audible Rating: 231 |  %Rating wmp%
    236 |   Resume: 237 |  %comment%
    242 |   Copyright: 243 |  %copyright%
    248 |   Publisher: 249 |  %Publisher%
    254 |   Asin: 255 |  %asin%
    260 | Bitrate: 261 |  $loop(%_filename_ext%)$puts(Vbitrate,$add($get(Vbitrate),%_bitrate%))$puts(cnt1,$add($get(cnt1),1))$loopend()$div($get(Vbitrate),$get(cnt1)) kbps
    266 |   Codec: 267 |  %_codec%
    272 |   File Type: 273 |  %_extension%
    278 |   Channels: 279 |  %_samplerate% kHz %_mode%
    287 |   Tracks: 288 | 291 |   292 | %title% 293 | 294 |
    302 |
    306 |
    311 |
    312 | upload by Romano - 313 | abtorrents.me 314 |
    315 |
    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 | 154 | 155 | 156 | 337 | 338 | 339 | 340 | 350 | 351 | 352 |
    143 |
    144 | 145 | 146 | 147 | 150 | 151 | 152 |
    148 |
    %album%[-%subtitle%] [(%series% - Book %series-part%)]
    149 |
    153 |
    157 | 158 | 159 | 160 | 191 | 333 | 334 | 335 |
    161 | 170 |

      171 |
      %artist%

      172 | Author 173 | 174 | 175 |
    176 |

      177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 |
       %INVOLVEDPEOPLE%
      187 | 188 | 189 |
    190 |
    192 | 193 | 194 | 195 | 196 | 200 | 201 | 202 | 203 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 219 | 220 | 221 | 222 | 225 | 226 | 227 | 228 | 231 | 232 | 233 | 234 | 237 | 238 | 239 | 240 | 243 | 244 | 245 | 246 | 249 | 250 | 251 | 252 | 255 | 256 | 257 | 258 | 261 | 262 | 263 | 264 | 267 | 268 | 269 | 270 | 273 | 274 | 275 | 276 | 279 | 280 | 281 | 282 | 285 | 286 | 287 | 288 | 291 | 292 | 293 | 294 | 297 | 298 | 299 | 300 | 303 | 304 | 305 | 313 | 329 | 330 | 331 |
    197 | 199 |
    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 |
    217 | Album: 218 | $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 | Series: 224 |  %series% [-Book %series-part%]
    229 | Author: 230 |  %albumartist%
    235 | Narrated by: 236 |  %Composer%
    241 | Genre: 242 |  %genre%
    247 | Audible Rating: 248 |  %Rating wmp%
    253 |   Resume: 254 |  %comment%
    259 |   Copyright: 260 |  %copyright%
    265 |   Publisher: 266 |  %Publisher%
    271 |   Release: 272 |  %releasetime%
    277 |   Asin: 278 |  %asin%
    283 | Bitrate: 284 |  $loop(%_filename_ext%)$puts(Vbitrate,$add($get(Vbitrate),%_bitrate%))$puts(cnt1,$add($get(cnt1),1))$loopend()$div($get(Vbitrate),$get(cnt1)) kbps
    289 |   Codec: 290 |  %_codec%
    295 |   File Type: 296 |  %_extension%
    301 |   Channels: 302 |  %_samplerate% kHz %_mode%
    332 |
    336 |
    341 | 342 |
    343 | upload by Romano - 344 | abtorrents.me 345 |
    346 | Tags updated %_file_mod_datetime% 347 | 348 |
    349 |
    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 | 154 | 155 | 156 | 339 | 340 | 341 | 342 | 343 | 353 | 354 | 355 |
    143 |
    144 | 145 | 146 | 147 | 150 | 151 | 152 |
    148 |
    %album%[-%subtitle%] [(%series% - Book %series-part%)]
    149 |
    153 |
    157 | 158 | 159 | 160 | 191 | 192 | 335 | 336 | 337 |
    161 | 170 |

      171 |
      %artist%

      172 | Author 173 | 174 | 175 |
    176 |

      177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 |
       %INVOLVEDPEOPLE%
      187 | 188 | 189 |
    190 |
    193 | 194 | 195 | 196 | 197 | 201 | 202 | 203 | 204 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 220 | 221 | 222 | 223 | 226 | 227 | 228 | 229 | 232 | 233 | 234 | 235 | 238 | 239 | 240 | 241 | 244 | 245 | 246 | 247 | 250 | 251 | 252 | 253 | 256 | 257 | 258 | 259 | 262 | 263 | 264 | 265 | 268 | 269 | 270 | 271 | 274 | 275 | 276 | 277 | 280 | 281 | 282 | 283 | 286 | 287 | 288 | 289 | 292 | 293 | 294 | 295 | 298 | 299 | 300 | 301 | 304 | 305 | 306 | 314 | 330 | 331 | 332 |
    198 | 200 |
    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 |
    218 | Album: 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%]
    224 | Series: 225 |  %series% [-Book %series-part%]
    230 | Author: 231 |  %albumartist%
    236 | Narrated by: 237 |  %Composer%
    242 | Genre: 243 |  %genre%
    248 | Audible Rating: 249 |  %Rating wmp%
    254 |   Resume: 255 |  %comment%
    260 |   Copyright: 261 |  %copyright%
    266 |   Publisher: 267 |  %Publisher%
    272 |   Release: 273 |  %releasetime%
    278 |   Asin: 279 |  %asin%
    284 | Bitrate: 285 |  $loop(%_filename_ext%)$puts(Vbitrate,$add($get(Vbitrate),%_bitrate%))$puts(cnt1,$add($get(cnt1),1))$loopend()$div($get(Vbitrate),$get(cnt1)) kbps
    290 |   Codec: 291 |  %_codec%
    296 |   File Type: 297 |  %_extension%
    302 |   Channels: 303 |  %_samplerate% kHz %_mode%
    333 | 334 |
    338 |
    344 | 345 |
    346 | upload by Romano - 347 | abtorrents.me 348 |
    349 | Tags updated %_file_mod_datetime% 350 | 351 |
    352 |
    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 | 154 | 155 | 156 | 341 | 342 | 343 | 344 | 345 | 355 | 356 | 357 |
    143 |
    144 | 145 | 146 | 147 | 150 | 151 | 152 |
    148 |
    %album%[-%subtitle%] [(%series% - Book %series-part%)]
    149 |
    153 |
    157 | 158 | 159 | 160 | 193 | 194 | 337 | 338 | 339 |
    161 | 170 |

      171 |
      %artist%

      172 | Author 173 | 174 | 175 |
    176 | 177 |

      178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 |
       %INVOLVEDPEOPLE%
      188 | 189 | 190 |
    191 | 192 |
    195 | 196 | 197 | 198 | 199 | 203 | 204 | 205 | 206 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 222 | 223 | 224 | 225 | 228 | 229 | 230 | 231 | 234 | 235 | 236 | 237 | 240 | 241 | 242 | 243 | 246 | 247 | 248 | 249 | 252 | 253 | 254 | 255 | 258 | 259 | 260 | 261 | 264 | 265 | 266 | 267 | 270 | 271 | 272 | 273 | 276 | 277 | 278 | 279 | 282 | 283 | 284 | 285 | 288 | 289 | 290 | 291 | 294 | 295 | 296 | 297 | 300 | 301 | 302 | 303 | 306 | 307 | 308 | 316 | 332 | 333 | 334 |
    200 | 202 |
    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 |
    220 | Album: 221 | $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%]
    226 | Series: 227 |  %series% [-Book %series-part%]
    232 | Author: 233 |  %albumartist%
    238 | Narrated by: 239 |  %Composer%
    244 | Genre: 245 |  %genre%
    250 | Audible Rating: 251 |  %Rating wmp%
    256 |   Resume: 257 |  %comment%
    262 |   Copyright: 263 |  %copyright%
    268 |   Publisher: 269 |  %Publisher%
    274 |   Release: 275 |  %releasetime%
    280 |   Asin: 281 |  %asin%
    286 | Bitrate: 287 |  $loop(%_filename_ext%)$puts(Vbitrate,$add($get(Vbitrate),%_bitrate%))$puts(cnt1,$add($get(cnt1),1))$loopend()$div($get(Vbitrate),$get(cnt1)) kbps
    292 |   Codec: 293 |  %_codec%
    298 |   File Type: 299 |  %_extension%
    304 |   Channels: 305 |  %_samplerate% kHz %_mode%
    335 | 336 |
    340 |
    346 | 347 |
    348 | upload by Romano - 349 | abtorrents.me 350 |
    351 | Tags updated %_file_mod_datetime% 352 | 353 |
    354 |
    358 | 359 | 360 | --------------------------------------------------------------------------------