apple-tv-converter 0.5.2 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +6 -0
- data/README.md +5 -0
- data/lib/apple_tv_converter/apple_tv_converter.sublime-workspace +425 -167
- data/lib/apple_tv_converter/command_line.rb +13 -0
- data/lib/apple_tv_converter/media.rb +11 -3
- data/lib/apple_tv_converter/media_converter.rb +11 -3
- data/lib/apple_tv_converter/media_converter_adapter.rb +13 -1
- data/lib/apple_tv_converter/media_converter_mac_adapter.rb +3 -5
- data/lib/apple_tv_converter/tv_db_fetcher.rb +4 -1
- data/lib/apple_tv_converter/version.rb +1 -1
- metadata +3 -2
data/CHANGELOG
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
v0.5.3
|
2
|
+
------
|
3
|
+
* Some transcoding fixes
|
4
|
+
* Enable defining a padding length for the episode number via the data file (for example, for shows with more than 100 episodes per season)
|
5
|
+
* For season 1 episodes, fetch TheTVDB data first from the absolute episode number (as most anime shows don’t have the concept of seasons), and only after from the 'correct' season and episode number
|
6
|
+
|
1
7
|
v0.5.2
|
2
8
|
------
|
3
9
|
* Set sort metadata fields for TV Show episodes
|
data/README.md
CHANGED
@@ -27,6 +27,11 @@ Usage: apple-tv-converter [options] [file]
|
|
27
27
|
--no-interactive Perform all operations without user intervention, using sensible defaults
|
28
28
|
--no-cleanup Don't cleanup the source files after processing
|
29
29
|
|
30
|
+
Advanced options:
|
31
|
+
--use-absolute-numbering Use absolute numbering for TV Show episodes (specially useful for cartoons)
|
32
|
+
--episode-number-padding NUMBER
|
33
|
+
Set the episode number padding length (ie, 3 for 001, 002, etc.)
|
34
|
+
|
30
35
|
Other options:
|
31
36
|
-f, --ffmpeg LOCATION Set path to ffmpeg binary
|
32
37
|
|
@@ -3,6 +3,34 @@
|
|
3
3
|
{
|
4
4
|
"selected_items":
|
5
5
|
[
|
6
|
+
[
|
7
|
+
"app",
|
8
|
+
"apply_options_to_media"
|
9
|
+
],
|
10
|
+
[
|
11
|
+
"epi",
|
12
|
+
"episode_number_padding"
|
13
|
+
],
|
14
|
+
[
|
15
|
+
"atr",
|
16
|
+
"attr_reader"
|
17
|
+
],
|
18
|
+
[
|
19
|
+
"epis",
|
20
|
+
"episode_number_padding"
|
21
|
+
],
|
22
|
+
[
|
23
|
+
"ple",
|
24
|
+
"plex_format_episode_filename"
|
25
|
+
],
|
26
|
+
[
|
27
|
+
"h",
|
28
|
+
"h264"
|
29
|
+
],
|
30
|
+
[
|
31
|
+
"vide",
|
32
|
+
"video_stream"
|
33
|
+
],
|
6
34
|
[
|
7
35
|
"con",
|
8
36
|
"conversion_options"
|
@@ -79,14 +107,6 @@
|
|
79
107
|
"tvd",
|
80
108
|
"tvdb_episode_id"
|
81
109
|
],
|
82
|
-
[
|
83
|
-
"epis",
|
84
|
-
"episode_data"
|
85
|
-
],
|
86
|
-
[
|
87
|
-
"epi",
|
88
|
-
"episode"
|
89
|
-
],
|
90
110
|
[
|
91
111
|
"lao",
|
92
112
|
"load_data_file"
|
@@ -371,10 +391,6 @@
|
|
371
391
|
"back",
|
372
392
|
"backup_filename"
|
373
393
|
],
|
374
|
-
[
|
375
|
-
"atr",
|
376
|
-
"attr_accessor"
|
377
|
-
],
|
378
394
|
[
|
379
395
|
"im",
|
380
396
|
"check_imdb"
|
@@ -498,22 +514,6 @@
|
|
498
514
|
[
|
499
515
|
"arg",
|
500
516
|
"argument"
|
501
|
-
],
|
502
|
-
[
|
503
|
-
"argume",
|
504
|
-
"arguments"
|
505
|
-
],
|
506
|
-
[
|
507
|
-
"new",
|
508
|
-
"new_report_file_name"
|
509
|
-
],
|
510
|
-
[
|
511
|
-
"pdf",
|
512
|
-
"pdf_file_name"
|
513
|
-
],
|
514
|
-
[
|
515
|
-
"repor",
|
516
|
-
"report_file_name"
|
517
517
|
]
|
518
518
|
]
|
519
519
|
},
|
@@ -528,18 +528,74 @@
|
|
528
528
|
}
|
529
529
|
},
|
530
530
|
{
|
531
|
-
"file": "
|
531
|
+
"file": "command_line.rb",
|
532
532
|
"settings":
|
533
533
|
{
|
534
|
-
"buffer_size":
|
534
|
+
"buffer_size": 7963,
|
535
535
|
"line_ending": "Unix"
|
536
536
|
}
|
537
537
|
},
|
538
538
|
{
|
539
|
-
"file": "
|
539
|
+
"file": "media_converter_mac_adapter.rb",
|
540
|
+
"settings":
|
541
|
+
{
|
542
|
+
"buffer_size": 7597,
|
543
|
+
"line_ending": "Unix"
|
544
|
+
}
|
545
|
+
},
|
546
|
+
{
|
547
|
+
"file": "media.rb",
|
548
|
+
"settings":
|
549
|
+
{
|
550
|
+
"buffer_size": 8323,
|
551
|
+
"line_ending": "Windows"
|
552
|
+
}
|
553
|
+
},
|
554
|
+
{
|
555
|
+
"file": "/Users/pedro/development/personal/apple-tv-converter/CHANGELOG",
|
556
|
+
"settings":
|
557
|
+
{
|
558
|
+
"buffer_size": 1791,
|
559
|
+
"line_ending": "Unix"
|
560
|
+
}
|
561
|
+
},
|
562
|
+
{
|
563
|
+
"file": "media_converter_adapter.rb",
|
540
564
|
"settings":
|
541
565
|
{
|
542
|
-
"buffer_size":
|
566
|
+
"buffer_size": 12149,
|
567
|
+
"line_ending": "Unix"
|
568
|
+
}
|
569
|
+
},
|
570
|
+
{
|
571
|
+
"file": "version.rb",
|
572
|
+
"settings":
|
573
|
+
{
|
574
|
+
"buffer_size": 48,
|
575
|
+
"line_ending": "Unix"
|
576
|
+
}
|
577
|
+
},
|
578
|
+
{
|
579
|
+
"file": "/Users/pedro/development/personal/apple-tv-converter/apple_tv_converter.gemspec",
|
580
|
+
"settings":
|
581
|
+
{
|
582
|
+
"buffer_size": 1102,
|
583
|
+
"line_ending": "Unix"
|
584
|
+
}
|
585
|
+
},
|
586
|
+
{
|
587
|
+
"file": "media_converter.rb",
|
588
|
+
"settings":
|
589
|
+
{
|
590
|
+
"buffer_size": 3915,
|
591
|
+
"line_ending": "Windows"
|
592
|
+
}
|
593
|
+
},
|
594
|
+
{
|
595
|
+
"file": "/Users/pedro/development/personal/apple-tv-converter/Gemfile",
|
596
|
+
"settings":
|
597
|
+
{
|
598
|
+
"buffer_size": 277,
|
543
599
|
"line_ending": "Unix"
|
544
600
|
}
|
545
601
|
}
|
@@ -547,9 +603,17 @@
|
|
547
603
|
"build_system": "",
|
548
604
|
"command_palette":
|
549
605
|
{
|
550
|
-
"height":
|
606
|
+
"height": 115.0,
|
551
607
|
"selected_items":
|
552
608
|
[
|
609
|
+
[
|
610
|
+
"ruby",
|
611
|
+
"Set Syntax: Ruby"
|
612
|
+
],
|
613
|
+
[
|
614
|
+
"wrap",
|
615
|
+
"Word Wrap: Toggle"
|
616
|
+
],
|
553
617
|
[
|
554
618
|
"wor",
|
555
619
|
"Word Wrap: Toggle"
|
@@ -570,10 +634,6 @@
|
|
570
634
|
"ind",
|
571
635
|
"Indent XML"
|
572
636
|
],
|
573
|
-
[
|
574
|
-
"ruby",
|
575
|
-
"Set Syntax: Ruby"
|
576
|
-
],
|
577
637
|
[
|
578
638
|
"dele",
|
579
639
|
"File: Delete"
|
@@ -727,7 +787,7 @@
|
|
727
787
|
"Package Control: Install Package"
|
728
788
|
]
|
729
789
|
],
|
730
|
-
"width":
|
790
|
+
"width": 516.0
|
731
791
|
},
|
732
792
|
"console":
|
733
793
|
{
|
@@ -748,24 +808,26 @@
|
|
748
808
|
},
|
749
809
|
"file_history":
|
750
810
|
[
|
751
|
-
"/
|
752
|
-
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/
|
753
|
-
"/Users/pedro/development/personal/apple-tv-converter/
|
754
|
-
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter_mac_adapter.rb",
|
811
|
+
"/Volumes/Series/cartoons/Naruto Shippuuden/.apple-tv-converter.data",
|
812
|
+
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/tv_db_fetcher.rb",
|
813
|
+
"/Users/pedro/development/personal/apple-tv-converter/gems/streamio-ffmpeg/lib/ffmpeg/transcoder.rb",
|
755
814
|
"/Users/pedro/development/personal/apple-tv-converter/gems/streamio-ffmpeg/lib/ffmpeg/movie.rb",
|
815
|
+
"/Users/pedro/development/personal/apple-tv-converter/CHANGELOG",
|
816
|
+
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/version.rb",
|
817
|
+
"/Users/pedro/development/personal/apple-tv-converter/bin/apple-tv-converter",
|
818
|
+
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter.rb",
|
756
819
|
"/Users/pedro/development/personal/apple-tv-converter/Gemfile",
|
820
|
+
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb",
|
757
821
|
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media.rb",
|
822
|
+
"/Users/pedro/development/personal/apple-tv-converter/LICENSE",
|
823
|
+
"/Users/pedro/development/personal/apple-tv-converter/README.md",
|
824
|
+
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter_mac_adapter.rb",
|
758
825
|
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter.rb",
|
759
|
-
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/tv_db_fetcher.rb",
|
760
|
-
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb",
|
761
|
-
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter.rb",
|
762
826
|
"/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/command_line.rb",
|
763
827
|
"/Users/pedro/development/personal/apple-tv-converter/apple_tv_converter.gemspec",
|
764
828
|
"/Users/pedro/development/personal/apple-tv-converter/gems/streamio-ffmpeg/streamio-ffmpeg.gemspec",
|
765
|
-
"/Users/pedro/development/personal/apple-tv-converter/CHANGELOG",
|
766
829
|
"/Users/pedro/development/personal/apple-tv-converter/gems/streamio-ffmpeg/lib/ffmpeg/stream.rb",
|
767
830
|
"/Users/pedro/Downloads/SAFT_509040527_v1_02.xml",
|
768
|
-
"/Users/pedro/development/personal/apple-tv-converter/bin/apple-tv-converter",
|
769
831
|
"/Users/pedro/development/personal/apple-tv-converter/cache/tvdb/update.yml",
|
770
832
|
"/Users/pedro/development/personal/apple-tv-converter/cache/tvdb/show_ids.yml",
|
771
833
|
"/Volumes/Storage/Movies HD/48 Hrs./.apple-tv-converter.data",
|
@@ -778,7 +840,6 @@
|
|
778
840
|
"/Users/pedro/development/personal/apple-tv-converter/cache/tvdb/72860.yml",
|
779
841
|
"/Users/pedro/development/personal/apple-tv-converter/cache/tvdb/73871.yml",
|
780
842
|
"/Users/pedro/development/personal/apple-tv-converter/Rakefile",
|
781
|
-
"/Users/pedro/development/personal/apple-tv-converter/gems/streamio-ffmpeg/lib/ffmpeg/transcoder.rb",
|
782
843
|
"/Users/pedro/development/personal/apple-tv-converter/gems/streamio-ffmpeg/Gemfile",
|
783
844
|
"/Users/pedro/development/personal/apple-tv-converter/gems/streamio-ffmpeg/lib/streamio-ffmpeg.rb",
|
784
845
|
"/Users/pedro/development/personal/apple-tv-converter/subtitle_1953515823.gzip",
|
@@ -874,8 +935,7 @@
|
|
874
935
|
"/Users/pedro/development/toconline/app/views/settings/settings/general_ledger.js.erb",
|
875
936
|
"/Users/pedro/development/toconline/lib/cloudware/toc_online/toc_form_builder.rb",
|
876
937
|
"/Users/pedro/development/toconline/app/assets/javascripts/knockout_extensions.js",
|
877
|
-
"/Users/pedro/development/toconline/app/assets/javascripts/toc_jquery.js"
|
878
|
-
"/Users/pedro/development/toconline/app/models/general_ledger.rb"
|
938
|
+
"/Users/pedro/development/toconline/app/assets/javascripts/toc_jquery.js"
|
879
939
|
],
|
880
940
|
"find":
|
881
941
|
{
|
@@ -900,6 +960,24 @@
|
|
900
960
|
"case_sensitive": false,
|
901
961
|
"find_history":
|
902
962
|
[
|
963
|
+
"episode_number_padding",
|
964
|
+
"use_absolute_episode_number",
|
965
|
+
"episode_number_padding",
|
966
|
+
"imdb_id",
|
967
|
+
"data_file",
|
968
|
+
"episode_filename_padding",
|
969
|
+
"2",
|
970
|
+
"plex_format_episode_filename",
|
971
|
+
"data_file",
|
972
|
+
"@data_file",
|
973
|
+
"season.rjust",
|
974
|
+
"03",
|
975
|
+
"tvdb_movie",
|
976
|
+
"tvdb_movie_data",
|
977
|
+
"tvdb_movie",
|
978
|
+
"tvdb_movie_data",
|
979
|
+
"open3",
|
980
|
+
"skip_on",
|
903
981
|
"gem",
|
904
982
|
"interactive",
|
905
983
|
".gsub(/'/, \"|\")",
|
@@ -1009,25 +1087,7 @@
|
|
1009
1087
|
"ap ",
|
1010
1088
|
", st",
|
1011
1089
|
"Shellwords.escape(",
|
1012
|
-
"round("
|
1013
|
-
"sequence:",
|
1014
|
-
"@@subtitles",
|
1015
|
-
"Opensubtitles",
|
1016
|
-
"opensubtitles",
|
1017
|
-
"opensubtitles.",
|
1018
|
-
"Opensubtitles.",
|
1019
|
-
"subtitles",
|
1020
|
-
"Subtitles",
|
1021
|
-
"subtitles",
|
1022
|
-
"data",
|
1023
|
-
"get_subtitles",
|
1024
|
-
"subtitles",
|
1025
|
-
"process_search_results",
|
1026
|
-
"filter_subtitles",
|
1027
|
-
"data",
|
1028
|
-
"get_imdb_info",
|
1029
|
-
"download_subtitles",
|
1030
|
-
"MediaConverter.new"
|
1090
|
+
"round("
|
1031
1091
|
],
|
1032
1092
|
"highlight": true,
|
1033
1093
|
"in_selection": false,
|
@@ -1053,7 +1113,7 @@
|
|
1053
1113
|
"groups":
|
1054
1114
|
[
|
1055
1115
|
{
|
1056
|
-
"selected":
|
1116
|
+
"selected": 7,
|
1057
1117
|
"sheets":
|
1058
1118
|
[
|
1059
1119
|
{
|
@@ -1069,8 +1129,8 @@
|
|
1069
1129
|
"selection":
|
1070
1130
|
[
|
1071
1131
|
[
|
1072
|
-
|
1073
|
-
|
1132
|
+
0,
|
1133
|
+
0
|
1074
1134
|
]
|
1075
1135
|
],
|
1076
1136
|
"settings":
|
@@ -1080,26 +1140,26 @@
|
|
1080
1140
|
"translate_tabs_to_spaces": true
|
1081
1141
|
},
|
1082
1142
|
"translation.x": 0.0,
|
1083
|
-
"translation.y":
|
1143
|
+
"translation.y": 0.0,
|
1084
1144
|
"zoom_level": 1.0
|
1085
1145
|
},
|
1086
1146
|
"type": "text"
|
1087
1147
|
},
|
1088
1148
|
{
|
1089
1149
|
"buffer": 1,
|
1090
|
-
"file": "
|
1091
|
-
"semi_transient":
|
1150
|
+
"file": "command_line.rb",
|
1151
|
+
"semi_transient": false,
|
1092
1152
|
"settings":
|
1093
1153
|
{
|
1094
|
-
"buffer_size":
|
1154
|
+
"buffer_size": 7963,
|
1095
1155
|
"regions":
|
1096
1156
|
{
|
1097
1157
|
},
|
1098
1158
|
"selection":
|
1099
1159
|
[
|
1100
1160
|
[
|
1101
|
-
|
1102
|
-
|
1161
|
+
6199,
|
1162
|
+
6213
|
1103
1163
|
]
|
1104
1164
|
],
|
1105
1165
|
"settings":
|
@@ -1109,26 +1169,26 @@
|
|
1109
1169
|
"translate_tabs_to_spaces": true
|
1110
1170
|
},
|
1111
1171
|
"translation.x": 0.0,
|
1112
|
-
"translation.y":
|
1172
|
+
"translation.y": 0.0,
|
1113
1173
|
"zoom_level": 1.0
|
1114
1174
|
},
|
1115
1175
|
"type": "text"
|
1116
1176
|
},
|
1117
1177
|
{
|
1118
1178
|
"buffer": 2,
|
1119
|
-
"file": "
|
1179
|
+
"file": "media_converter_mac_adapter.rb",
|
1120
1180
|
"semi_transient": false,
|
1121
1181
|
"settings":
|
1122
1182
|
{
|
1123
|
-
"buffer_size":
|
1183
|
+
"buffer_size": 7597,
|
1124
1184
|
"regions":
|
1125
1185
|
{
|
1126
1186
|
},
|
1127
1187
|
"selection":
|
1128
1188
|
[
|
1129
1189
|
[
|
1130
|
-
|
1131
|
-
|
1190
|
+
2566,
|
1191
|
+
2566
|
1132
1192
|
]
|
1133
1193
|
],
|
1134
1194
|
"settings":
|
@@ -1138,6 +1198,204 @@
|
|
1138
1198
|
"translate_tabs_to_spaces": true
|
1139
1199
|
},
|
1140
1200
|
"translation.x": 0.0,
|
1201
|
+
"translation.y": 42.0,
|
1202
|
+
"zoom_level": 1.0
|
1203
|
+
},
|
1204
|
+
"type": "text"
|
1205
|
+
},
|
1206
|
+
{
|
1207
|
+
"buffer": 3,
|
1208
|
+
"file": "media.rb",
|
1209
|
+
"semi_transient": false,
|
1210
|
+
"settings":
|
1211
|
+
{
|
1212
|
+
"buffer_size": 8323,
|
1213
|
+
"regions":
|
1214
|
+
{
|
1215
|
+
},
|
1216
|
+
"selection":
|
1217
|
+
[
|
1218
|
+
[
|
1219
|
+
2769,
|
1220
|
+
2791
|
1221
|
+
]
|
1222
|
+
],
|
1223
|
+
"settings":
|
1224
|
+
{
|
1225
|
+
"syntax": "Packages/Ruby/Ruby.tmLanguage",
|
1226
|
+
"tab_size": 2,
|
1227
|
+
"translate_tabs_to_spaces": true
|
1228
|
+
},
|
1229
|
+
"translation.x": 0.0,
|
1230
|
+
"translation.y": 679.0,
|
1231
|
+
"zoom_level": 1.0
|
1232
|
+
},
|
1233
|
+
"type": "text"
|
1234
|
+
},
|
1235
|
+
{
|
1236
|
+
"buffer": 4,
|
1237
|
+
"file": "/Users/pedro/development/personal/apple-tv-converter/CHANGELOG",
|
1238
|
+
"semi_transient": false,
|
1239
|
+
"settings":
|
1240
|
+
{
|
1241
|
+
"buffer_size": 1791,
|
1242
|
+
"regions":
|
1243
|
+
{
|
1244
|
+
},
|
1245
|
+
"selection":
|
1246
|
+
[
|
1247
|
+
[
|
1248
|
+
378,
|
1249
|
+
378
|
1250
|
+
]
|
1251
|
+
],
|
1252
|
+
"settings":
|
1253
|
+
{
|
1254
|
+
"syntax": "Packages/Text/Plain text.tmLanguage",
|
1255
|
+
"word_wrap": true
|
1256
|
+
},
|
1257
|
+
"translation.x": 0.0,
|
1258
|
+
"translation.y": 0.0,
|
1259
|
+
"zoom_level": 1.0
|
1260
|
+
},
|
1261
|
+
"type": "text"
|
1262
|
+
},
|
1263
|
+
{
|
1264
|
+
"buffer": 5,
|
1265
|
+
"file": "media_converter_adapter.rb",
|
1266
|
+
"semi_transient": false,
|
1267
|
+
"settings":
|
1268
|
+
{
|
1269
|
+
"buffer_size": 12149,
|
1270
|
+
"regions":
|
1271
|
+
{
|
1272
|
+
},
|
1273
|
+
"selection":
|
1274
|
+
[
|
1275
|
+
[
|
1276
|
+
171,
|
1277
|
+
171
|
1278
|
+
]
|
1279
|
+
],
|
1280
|
+
"settings":
|
1281
|
+
{
|
1282
|
+
"syntax": "Packages/Ruby/Ruby.tmLanguage",
|
1283
|
+
"tab_size": 2,
|
1284
|
+
"translate_tabs_to_spaces": true
|
1285
|
+
},
|
1286
|
+
"translation.x": 0.0,
|
1287
|
+
"translation.y": 0.0,
|
1288
|
+
"zoom_level": 1.0
|
1289
|
+
},
|
1290
|
+
"type": "text"
|
1291
|
+
},
|
1292
|
+
{
|
1293
|
+
"buffer": 6,
|
1294
|
+
"file": "version.rb",
|
1295
|
+
"semi_transient": false,
|
1296
|
+
"settings":
|
1297
|
+
{
|
1298
|
+
"buffer_size": 48,
|
1299
|
+
"regions":
|
1300
|
+
{
|
1301
|
+
},
|
1302
|
+
"selection":
|
1303
|
+
[
|
1304
|
+
[
|
1305
|
+
42,
|
1306
|
+
42
|
1307
|
+
]
|
1308
|
+
],
|
1309
|
+
"settings":
|
1310
|
+
{
|
1311
|
+
"syntax": "Packages/Ruby/Ruby.tmLanguage"
|
1312
|
+
},
|
1313
|
+
"translation.x": 0.0,
|
1314
|
+
"translation.y": 0.0,
|
1315
|
+
"zoom_level": 1.0
|
1316
|
+
},
|
1317
|
+
"type": "text"
|
1318
|
+
},
|
1319
|
+
{
|
1320
|
+
"buffer": 7,
|
1321
|
+
"file": "/Users/pedro/development/personal/apple-tv-converter/apple_tv_converter.gemspec",
|
1322
|
+
"semi_transient": true,
|
1323
|
+
"settings":
|
1324
|
+
{
|
1325
|
+
"buffer_size": 1102,
|
1326
|
+
"regions":
|
1327
|
+
{
|
1328
|
+
},
|
1329
|
+
"selection":
|
1330
|
+
[
|
1331
|
+
[
|
1332
|
+
110,
|
1333
|
+
110
|
1334
|
+
]
|
1335
|
+
],
|
1336
|
+
"settings":
|
1337
|
+
{
|
1338
|
+
"syntax": "Packages/Ruby/Ruby.tmLanguage",
|
1339
|
+
"tab_size": 2,
|
1340
|
+
"translate_tabs_to_spaces": true
|
1341
|
+
},
|
1342
|
+
"translation.x": 0.0,
|
1343
|
+
"translation.y": 0.0,
|
1344
|
+
"zoom_level": 1.0
|
1345
|
+
},
|
1346
|
+
"type": "text"
|
1347
|
+
},
|
1348
|
+
{
|
1349
|
+
"buffer": 8,
|
1350
|
+
"file": "media_converter.rb",
|
1351
|
+
"semi_transient": false,
|
1352
|
+
"settings":
|
1353
|
+
{
|
1354
|
+
"buffer_size": 3915,
|
1355
|
+
"regions":
|
1356
|
+
{
|
1357
|
+
},
|
1358
|
+
"selection":
|
1359
|
+
[
|
1360
|
+
[
|
1361
|
+
3861,
|
1362
|
+
3861
|
1363
|
+
]
|
1364
|
+
],
|
1365
|
+
"settings":
|
1366
|
+
{
|
1367
|
+
"syntax": "Packages/Ruby/Ruby.tmLanguage",
|
1368
|
+
"tab_size": 2,
|
1369
|
+
"translate_tabs_to_spaces": true
|
1370
|
+
},
|
1371
|
+
"translation.x": 0.0,
|
1372
|
+
"translation.y": 803.0,
|
1373
|
+
"zoom_level": 1.0
|
1374
|
+
},
|
1375
|
+
"type": "text"
|
1376
|
+
},
|
1377
|
+
{
|
1378
|
+
"buffer": 9,
|
1379
|
+
"file": "/Users/pedro/development/personal/apple-tv-converter/Gemfile",
|
1380
|
+
"semi_transient": false,
|
1381
|
+
"settings":
|
1382
|
+
{
|
1383
|
+
"buffer_size": 277,
|
1384
|
+
"regions":
|
1385
|
+
{
|
1386
|
+
},
|
1387
|
+
"selection":
|
1388
|
+
[
|
1389
|
+
[
|
1390
|
+
69,
|
1391
|
+
69
|
1392
|
+
]
|
1393
|
+
],
|
1394
|
+
"settings":
|
1395
|
+
{
|
1396
|
+
"syntax": "Packages/Ruby/Ruby.tmLanguage"
|
1397
|
+
},
|
1398
|
+
"translation.x": 0.0,
|
1141
1399
|
"translation.y": 0.0,
|
1142
1400
|
"zoom_level": 1.0
|
1143
1401
|
},
|
@@ -1192,6 +1450,90 @@
|
|
1192
1450
|
"height": 0.0,
|
1193
1451
|
"selected_items":
|
1194
1452
|
[
|
1453
|
+
[
|
1454
|
+
"gemspec",
|
1455
|
+
"apple_tv_converter.gemspec"
|
1456
|
+
],
|
1457
|
+
[
|
1458
|
+
"gemfile",
|
1459
|
+
"Gemfile"
|
1460
|
+
],
|
1461
|
+
[
|
1462
|
+
"mediaconv",
|
1463
|
+
"lib/apple_tv_converter/media_converter.rb"
|
1464
|
+
],
|
1465
|
+
[
|
1466
|
+
"command",
|
1467
|
+
"lib/apple_tv_converter/command_line.rb"
|
1468
|
+
],
|
1469
|
+
[
|
1470
|
+
"tvdb",
|
1471
|
+
"lib/apple_tv_converter/tv_db_fetcher.rb"
|
1472
|
+
],
|
1473
|
+
[
|
1474
|
+
"verion",
|
1475
|
+
"lib/apple_tv_converter/version.rb"
|
1476
|
+
],
|
1477
|
+
[
|
1478
|
+
"ffmpegmovie",
|
1479
|
+
"gems/streamio-ffmpeg/lib/ffmpeg/movie.rb"
|
1480
|
+
],
|
1481
|
+
[
|
1482
|
+
"media",
|
1483
|
+
"lib/apple_tv_converter/media.rb"
|
1484
|
+
],
|
1485
|
+
[
|
1486
|
+
"ffmpetra",
|
1487
|
+
"gems/streamio-ffmpeg/lib/ffmpeg/transcoder.rb"
|
1488
|
+
],
|
1489
|
+
[
|
1490
|
+
"binap",
|
1491
|
+
"bin/apple-tv-converter"
|
1492
|
+
],
|
1493
|
+
[
|
1494
|
+
"gemf",
|
1495
|
+
"Gemfile"
|
1496
|
+
],
|
1497
|
+
[
|
1498
|
+
"meda",
|
1499
|
+
"lib/apple_tv_converter/media_converter_adapter.rb"
|
1500
|
+
],
|
1501
|
+
[
|
1502
|
+
"appl",
|
1503
|
+
"lib/apple_tv_converter.rb"
|
1504
|
+
],
|
1505
|
+
[
|
1506
|
+
"mediacon",
|
1507
|
+
"lib/apple_tv_converter/media_converter_adapter.rb"
|
1508
|
+
],
|
1509
|
+
[
|
1510
|
+
"ver",
|
1511
|
+
"lib/apple_tv_converter/version.rb"
|
1512
|
+
],
|
1513
|
+
[
|
1514
|
+
"chagn",
|
1515
|
+
"CHANGELOG"
|
1516
|
+
],
|
1517
|
+
[
|
1518
|
+
"movie",
|
1519
|
+
"gems/streamio-ffmpeg/lib/ffmpeg/movie.rb"
|
1520
|
+
],
|
1521
|
+
[
|
1522
|
+
"comman",
|
1523
|
+
"lib/apple_tv_converter/command_line.rb"
|
1524
|
+
],
|
1525
|
+
[
|
1526
|
+
"apple",
|
1527
|
+
"bin/apple-tv-converter"
|
1528
|
+
],
|
1529
|
+
[
|
1530
|
+
"med",
|
1531
|
+
"lib/apple_tv_converter/media.rb"
|
1532
|
+
],
|
1533
|
+
[
|
1534
|
+
"mac",
|
1535
|
+
"lib/apple_tv_converter/media_converter_mac_adapter.rb"
|
1536
|
+
],
|
1195
1537
|
[
|
1196
1538
|
"comma",
|
1197
1539
|
"lib/apple_tv_converter/command_line.rb"
|
@@ -1208,10 +1550,6 @@
|
|
1208
1550
|
"version",
|
1209
1551
|
"lib/apple_tv_converter/version.rb"
|
1210
1552
|
],
|
1211
|
-
[
|
1212
|
-
"gemspec",
|
1213
|
-
"apple_tv_converter.gemspec"
|
1214
|
-
],
|
1215
1553
|
[
|
1216
1554
|
"gem",
|
1217
1555
|
"Gemfile"
|
@@ -1224,18 +1562,10 @@
|
|
1224
1562
|
"rea",
|
1225
1563
|
"README.md"
|
1226
1564
|
],
|
1227
|
-
[
|
1228
|
-
"tvdb",
|
1229
|
-
"lib/apple_tv_converter/tv_db_fetcher.rb"
|
1230
|
-
],
|
1231
1565
|
[
|
1232
1566
|
"medico",
|
1233
1567
|
"lib/apple_tv_converter/media_converter_adapter.rb"
|
1234
1568
|
],
|
1235
|
-
[
|
1236
|
-
"movie",
|
1237
|
-
"gems/streamio-ffmpeg/lib/ffmpeg/movie.rb"
|
1238
|
-
],
|
1239
1569
|
[
|
1240
1570
|
"ada",
|
1241
1571
|
"lib/apple_tv_converter/media_converter_adapter.rb"
|
@@ -1244,10 +1574,6 @@
|
|
1244
1574
|
"medaia",
|
1245
1575
|
"lib/apple_tv_converter/media_converter_adapter.rb"
|
1246
1576
|
],
|
1247
|
-
[
|
1248
|
-
"mac",
|
1249
|
-
"lib/apple_tv_converter/media_converter_mac_adapter.rb"
|
1250
|
-
],
|
1251
1577
|
[
|
1252
1578
|
"medada",
|
1253
1579
|
"lib/apple_tv_converter/media_converter_adapter.rb"
|
@@ -1260,18 +1586,6 @@
|
|
1260
1586
|
"ffmpegstre",
|
1261
1587
|
"gems/streamio-ffmpeg/lib/ffmpeg/stream.rb"
|
1262
1588
|
],
|
1263
|
-
[
|
1264
|
-
"apple",
|
1265
|
-
"lib/apple_tv_converter.rb"
|
1266
|
-
],
|
1267
|
-
[
|
1268
|
-
"gemf",
|
1269
|
-
"Gemfile"
|
1270
|
-
],
|
1271
|
-
[
|
1272
|
-
"media",
|
1273
|
-
"lib/apple_tv_converter/media.rb"
|
1274
|
-
],
|
1275
1589
|
[
|
1276
1590
|
"meida",
|
1277
1591
|
"lib/apple_tv_converter/media.rb"
|
@@ -1280,10 +1594,6 @@
|
|
1280
1594
|
"read",
|
1281
1595
|
"README.md"
|
1282
1596
|
],
|
1283
|
-
[
|
1284
|
-
"appl",
|
1285
|
-
"lib/apple_tv_converter.rb"
|
1286
|
-
],
|
1287
1597
|
[
|
1288
1598
|
"medima",
|
1289
1599
|
"lib/apple_tv_converter/media_converter_mac_adapter.rb"
|
@@ -1296,14 +1606,6 @@
|
|
1296
1606
|
"show",
|
1297
1607
|
"cache/tvdb/show_ids.yml"
|
1298
1608
|
],
|
1299
|
-
[
|
1300
|
-
"mediacon",
|
1301
|
-
"lib/apple_tv_converter/media_converter_adapter.rb"
|
1302
|
-
],
|
1303
|
-
[
|
1304
|
-
"command",
|
1305
|
-
"lib/apple_tv_converter/command_line.rb"
|
1306
|
-
],
|
1307
1609
|
[
|
1308
1610
|
"re",
|
1309
1611
|
"README.md"
|
@@ -1332,10 +1634,6 @@
|
|
1332
1634
|
"chang",
|
1333
1635
|
"CHANGELOG"
|
1334
1636
|
],
|
1335
|
-
[
|
1336
|
-
"gemfile",
|
1337
|
-
"Gemfile"
|
1338
|
-
],
|
1339
1637
|
[
|
1340
1638
|
"sub",
|
1341
1639
|
"lib/apple_tv_converter/subtitles_fetcher/opensubtitles.rb"
|
@@ -1388,10 +1686,6 @@
|
|
1388
1686
|
"appletv",
|
1389
1687
|
"lib/apple_tv_converter.rb"
|
1390
1688
|
],
|
1391
|
-
[
|
1392
|
-
"ver",
|
1393
|
-
"lib/apple_tv_converter/version.rb"
|
1394
|
-
],
|
1395
1689
|
[
|
1396
1690
|
"medaiada",
|
1397
1691
|
"lib/apple_tv_converter/media_converter_adapter.rb"
|
@@ -1536,10 +1830,6 @@
|
|
1536
1830
|
"gemps",
|
1537
1831
|
"streamio-ffmpeg/streamio-ffmpeg.gemspec"
|
1538
1832
|
],
|
1539
|
-
[
|
1540
|
-
"mediaconv",
|
1541
|
-
"apple-tv-converter/lib/apple_tv_converter/media_converter.rb"
|
1542
|
-
],
|
1543
1833
|
[
|
1544
1834
|
"mediaconver",
|
1545
1835
|
"apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb"
|
@@ -1548,10 +1838,6 @@
|
|
1548
1838
|
"commandline",
|
1549
1839
|
"apple-tv-converter/lib/apple_tv_converter/command_line.rb"
|
1550
1840
|
],
|
1551
|
-
[
|
1552
|
-
"ffmpegmovie",
|
1553
|
-
"streamio-ffmpeg/lib/ffmpeg/movie.rb"
|
1554
|
-
],
|
1555
1841
|
[
|
1556
1842
|
"enco",
|
1557
1843
|
"streamio-ffmpeg/lib/ffmpeg/encoding_options.rb"
|
@@ -1588,10 +1874,6 @@
|
|
1588
1874
|
"mkvread",
|
1589
1875
|
"mkv/README.md"
|
1590
1876
|
],
|
1591
|
-
[
|
1592
|
-
"comman",
|
1593
|
-
"apple-tv-converter/lib/apple_tv_converter/command_line.rb"
|
1594
|
-
],
|
1595
1877
|
[
|
1596
1878
|
"comm",
|
1597
1879
|
"apple-tv-converter/lib/apple_tv_converter/command_line.rb"
|
@@ -1624,10 +1906,6 @@
|
|
1624
1906
|
"mediaconvadap",
|
1625
1907
|
"apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb"
|
1626
1908
|
],
|
1627
|
-
[
|
1628
|
-
"meda",
|
1629
|
-
"apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb"
|
1630
|
-
],
|
1631
1909
|
[
|
1632
1910
|
"mkvtra",
|
1633
1911
|
"mkv/lib/mkv/track.rb"
|
@@ -1683,26 +1961,6 @@
|
|
1683
1961
|
[
|
1684
1962
|
"appl_",
|
1685
1963
|
"apple-tv-converter/lib/apple_tv_converter.rb"
|
1686
|
-
],
|
1687
|
-
[
|
1688
|
-
"apll_",
|
1689
|
-
"apple-tv-converter/lib/apple_tv_converter.rb"
|
1690
|
-
],
|
1691
|
-
[
|
1692
|
-
"rake",
|
1693
|
-
"Rakefile"
|
1694
|
-
],
|
1695
|
-
[
|
1696
|
-
"mediaconverada",
|
1697
|
-
"lib/apple_tv_converter/media_converter_adapter.rb"
|
1698
|
-
],
|
1699
|
-
[
|
1700
|
-
"documnthelp",
|
1701
|
-
"toconline/app/helpers/documents_helper.rb"
|
1702
|
-
],
|
1703
|
-
[
|
1704
|
-
"applicontr",
|
1705
|
-
"toconline/app/controllers/application_controller.rb"
|
1706
1964
|
]
|
1707
1965
|
],
|
1708
1966
|
"width": 0.0
|
@@ -41,6 +41,8 @@ module AppleTvConverter
|
|
41
41
|
options.plex_format = false
|
42
42
|
options.interactive = true
|
43
43
|
options.imdb_id = nil
|
44
|
+
options.use_absolute_numbering = false
|
45
|
+
options.episode_number_padding = nil
|
44
46
|
options.languages = []
|
45
47
|
options.media = []
|
46
48
|
|
@@ -111,6 +113,17 @@ module AppleTvConverter
|
|
111
113
|
options.skip_cleanup = true
|
112
114
|
end
|
113
115
|
|
116
|
+
opts.separator ""
|
117
|
+
opts.separator "Advanced options:"
|
118
|
+
|
119
|
+
opts.on('--use-absolute-numbering', 'Use absolute numbering for TV Show episodes (specially useful for cartoons)') do |f|
|
120
|
+
options.use_absolute_numbering = true
|
121
|
+
end
|
122
|
+
|
123
|
+
opts.on('--episode-number-padding NUMBER', 'Set the episode number padding length (ie, 3 for 001, 002, etc.)') do |i|
|
124
|
+
options.episode_number_padding = i.to_i
|
125
|
+
end
|
126
|
+
|
114
127
|
opts.separator ""
|
115
128
|
opts.separator "Other options:"
|
116
129
|
|
@@ -4,6 +4,7 @@ module AppleTvConverter
|
|
4
4
|
attr_accessor :imdb_movie, :imdb_id, :imdb_episode_id
|
5
5
|
attr_accessor :tvdb_movie
|
6
6
|
attr_accessor :network, :tvdb_id, :tvdb_season_id, :tvdb_episode_id, :first_air_date, :release_date, :episode_title
|
7
|
+
attr_accessor :use_absolute_episode_numbering, :episode_number_padding
|
7
8
|
attr_reader :original_filename
|
8
9
|
|
9
10
|
def self.subtitle_extensions ; ['srt', 'sub', 'ssa', 'ass'] ; end
|
@@ -53,9 +54,12 @@ module AppleTvConverter
|
|
53
54
|
def data_file ; @data_file ||= File.join(base_location, '.apple-tv-converter.data') ; end
|
54
55
|
def has_data_file? ; File.exists?(data_file) ; end
|
55
56
|
|
57
|
+
def tvdb_season_number ; @tvdb_season_number ||= media.tvdb_movie_data(@use_absolute_episode_numbering ? '1' : 'SeasonNumber') rescue nil ; end
|
58
|
+
def tvdb_episode_number ; @tvdb_episode_number ||= media.tvdb_movie_data(@use_absolute_episode_numbering ? 'absolute_number' : 'EpisodeNumber') rescue nil ; end
|
59
|
+
|
56
60
|
def plex_format_filename
|
57
61
|
filename = if is_tv_show_episode?
|
58
|
-
%Q[#{show} - s#{season.to_s.rjust(2, '0')}e#{number.to_s.rjust(2, '0')}#{"-e#{last_number.to_s.rjust(2, '0')}" if last_number}#{" - #{episode_title.gsub(/\\|\//, '-').gsub(/\:/, '.').gsub(/&/, '&').strip}" if !episode_title.nil? && !episode_title.blank?}.mp4]
|
62
|
+
%Q[#{show} - s#{season.to_s.rjust(2, '0')}e#{number.to_s.rjust(episode_number_padding || 2, '0')}#{"-e#{last_number.to_s.rjust(episode_number_padding || 2, '0')}" if last_number}#{" - #{episode_title.gsub(/\\|\//, '-').gsub(/\:/, '.').gsub(/&/, '&').strip}" if !episode_title.nil? && !episode_title.blank?}.mp4]
|
59
63
|
else
|
60
64
|
"#{show} (#{release_date || imdb_movie.year}).mp4"
|
61
65
|
end
|
@@ -85,7 +89,7 @@ module AppleTvConverter
|
|
85
89
|
|
86
90
|
def quality=(value) ; @quality = value ; end
|
87
91
|
|
88
|
-
def name ; %Q[#{show}#{" S#{season.to_s.rjust(2, '0')}E#{number.to_s.rjust(2, '0')}" if is_tv_show_episode?}] ; end
|
92
|
+
def name ; %Q[#{show}#{" S#{season.to_s.rjust(2, '0')}E#{number.to_s.rjust(episode_number_padding || 2, '0')}" if is_tv_show_episode?}] ; end
|
89
93
|
|
90
94
|
def is_tv_show_episode? ; !season.nil? && !number.nil? ; end
|
91
95
|
|
@@ -116,7 +120,7 @@ module AppleTvConverter
|
|
116
120
|
|
117
121
|
def needs_audio_conversion? ; return ffmpeg_data.audio_codec !~ /(?:aac)/i ; end
|
118
122
|
|
119
|
-
def needs_video_conversion? ; return ffmpeg_data.video_codec !~ /(?:.*?h264|^mpeg4).*/i || ffmpeg_data.video_codec =~ /.*(?:xvid|divx).*/i ; end
|
123
|
+
def needs_video_conversion? ; return ffmpeg_data.video_codec !~ /(?:.*?h264|^mpeg4).*/i || ffmpeg_data.video_codec =~ /.*(?:xvid|divx).*/i || ffmpeg_data.video_stream =~ /h264.*?yuv420p10le/i ; end
|
120
124
|
|
121
125
|
def needs_subtitles_conversion? ; return ffmpeg_data.subtitle_streams.any? ; end
|
122
126
|
|
@@ -156,6 +160,8 @@ module AppleTvConverter
|
|
156
160
|
|
157
161
|
data[:tvdb_id] = self.tvdb_id if self.tvdb_id
|
158
162
|
data[:imdb_id] = self.imdb_id if self.imdb_id
|
163
|
+
data[:episode_number_padding] = self.episode_number_padding if self.episode_number_padding
|
164
|
+
data[:use_absolute_episode_numbering] = self.use_absolute_episode_numbering if self.use_absolute_episode_numbering
|
159
165
|
|
160
166
|
if self.is_tv_show_episode?
|
161
167
|
episode_data = {}
|
@@ -180,6 +186,8 @@ module AppleTvConverter
|
|
180
186
|
data = YAML.load_file(data_file)
|
181
187
|
self.tvdb_id = data[:tvdb_id] if data.has_key?(:tvdb_id)
|
182
188
|
self.imdb_id = data[:imdb_id] if data.has_key?(:imdb_id)
|
189
|
+
@episode_number_padding = data[:episode_number_padding] if data.has_key?(:episode_number_padding)
|
190
|
+
@use_absolute_episode_numbering = data[:use_absolute_episode_numbering] if data.has_key?(:use_absolute_episode_numbering)
|
183
191
|
end
|
184
192
|
rescue => e
|
185
193
|
ap ['e', e]
|
@@ -12,9 +12,7 @@ module AppleTvConverter
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def process_media(media)
|
15
|
-
|
16
|
-
media.imdb_id ||= @options.imdb_id
|
17
|
-
|
15
|
+
apply_options_to_media! media
|
18
16
|
|
19
17
|
if media.is_tv_show_episode?
|
20
18
|
puts "* TV Show Episode information:"
|
@@ -85,5 +83,15 @@ module AppleTvConverter
|
|
85
83
|
|
86
84
|
media.update_data_file!
|
87
85
|
end
|
86
|
+
|
87
|
+
private
|
88
|
+
|
89
|
+
def apply_options_to_media!(media)
|
90
|
+
# Load IMDB id from options
|
91
|
+
media.imdb_id ||= @options.imdb_id
|
92
|
+
|
93
|
+
media.use_absolute_episode_numbering = @options.use_absolute_numbering
|
94
|
+
media.episode_number_padding = @options.episode_number_padding if @options.episode_number_padding
|
95
|
+
end
|
88
96
|
end
|
89
97
|
end
|
@@ -117,8 +117,20 @@ module AppleTvConverter
|
|
117
117
|
|
118
118
|
# If the file has more than one audio track, map all tracks but subtitles when transcoding
|
119
119
|
if media.audio_streams.length > 0
|
120
|
+
# Check whether to filter audio tracks (ie, we have at least one of the languages we're filtering)
|
121
|
+
filter_by_language = false
|
122
|
+
|
123
|
+
if languages.any?
|
124
|
+
media.streams.each do |stream|
|
125
|
+
if stream.type == :audio && languages.include?(stream.language ? stream.language.to_sym : stream.language)
|
126
|
+
filter_by_language = true
|
127
|
+
break
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
120
132
|
media.streams.each do |stream|
|
121
|
-
options[:map] << " -map #{stream.input_number}:#{stream.stream_number}" if stream.type == :video || (stream.type == :audio && (
|
133
|
+
options[:map] << " -map #{stream.input_number}:#{stream.stream_number}" if stream.type == :video || (stream.type == :audio && (!filter_by_language || languages.include?(stream.language ? stream.language.to_sym : stream.language)))
|
122
134
|
end
|
123
135
|
end
|
124
136
|
|
@@ -53,10 +53,8 @@ module AppleTvConverter
|
|
53
53
|
metadata['Director'] = media.tvdb_movie_data('Director')
|
54
54
|
metadata['TV Show'] = media.tvdb_movie[:show][:series]['SeriesName']
|
55
55
|
metadata['TV Show'] ||= media.show
|
56
|
-
metadata['TV Season'] = media.
|
57
|
-
metadata['TV
|
58
|
-
metadata['TV Episode #'] = media.tvdb_movie_data('EpisodeNumber')
|
59
|
-
metadata['TV Episode #'] ||= media.number
|
56
|
+
metadata['TV Season'] = media.tvdb_season_number || media.season
|
57
|
+
metadata['TV Episode #'] = media.tvdb_episode_number || media.number
|
60
58
|
metadata['TV Network'] ||= media.tvdb_movie[:show][:series]['Network']
|
61
59
|
metadata['Screenwriters'] = media.tvdb_movie_data('Writer').gsub(/(?:^\|)|(?:\|$)/, '').split('|').join(', ') if media.tvdb_movie_data('Writer')
|
62
60
|
|
@@ -65,7 +63,7 @@ module AppleTvConverter
|
|
65
63
|
metadata['Sort Album'] = media.show
|
66
64
|
metadata['Sort Album Artist'] = media.show
|
67
65
|
metadata['Sort Composer'] = media.show
|
68
|
-
metadata['Sort Show'] = "#{media.show} Season #{media.season.to_s.rjust(2, '0')}"
|
66
|
+
metadata['Sort Show'] = "#{media.show} Season #{(media.tvdb_season_number || media.season).to_s.rjust(2, '0')}"
|
69
67
|
|
70
68
|
if media.imdb_movie
|
71
69
|
# Fallback to IMDB data if present
|
@@ -74,7 +74,10 @@ module AppleTvConverter
|
|
74
74
|
end
|
75
75
|
|
76
76
|
return {
|
77
|
-
:episode => show_data[:episodes].detect
|
77
|
+
:episode => show_data[:episodes].detect do |ep|
|
78
|
+
# For season 1, check the absolute number first (for cartoons, etc.), and then check the usual season/episode combo
|
79
|
+
(media.season.to_i == 1 && ep['absolute_number'].to_i == media.number.to_i) || (ep['SeasonNumber'].to_i == media.season.to_i && ep['EpisodeNumber'].to_i == media.number.to_i)
|
80
|
+
end,
|
78
81
|
:show => show_data
|
79
82
|
}
|
80
83
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apple-tv-converter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-12-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -229,3 +229,4 @@ signing_key:
|
|
229
229
|
specification_version: 3
|
230
230
|
summary: Converts movies to a format playable on Apple TV.
|
231
231
|
test_files: []
|
232
|
+
has_rdoc:
|