apple-tv-converter 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,4 +1,14 @@
1
- v0.0.3
1
+ v0.2.0
2
+ ------
3
+ * Add to iTunes
4
+ * Filter audio and subtitles by language
5
+ * Some fixes
6
+
7
+ v0.1.1
8
+ ------
9
+ * Better output
10
+
11
+ v0.1.0
2
12
  ------
3
13
  * Added support for supplying directories to command line utility
4
14
  * Better quality encoding of audio and video
data/README.md CHANGED
@@ -1,27 +1,49 @@
1
- apple-tv-converter
2
- =================
1
+ # apple-tv-converter
3
2
 
4
- Media converter for AppleTV.
3
+ Command line utility to convert media to a format playable on the AppleTV. Supports embedding subtitles and sets metadata according to the media file.
5
4
 
6
5
  ## On Mac OSX
7
6
 
8
- - Uses ffmpeg for encoding (http://ffmpeg.org)
9
- - Uses Subler for adding the subtitles and setting the iTunes metadata tags (http://code.google.com/p/subler/)
10
- - Uses MKVToolNix for extracting the embedded subtitles from MKV files (http://www.bunkus.org/videotools/mkvtoolnix/)
7
+ - Uses [ffmpeg](http://ffmpeg.org) to encode video and audio
8
+ - Uses [Subler](http://code.google.com/p/subler/)'s command line interface to add the subtitles and set the iTunes metadata tags
9
+ - Uses [MKVToolNix](http://www.bunkus.org/videotools/mkvtoolnix/) to extract the embedded subtitles from MKV files
11
10
 
12
- ## Command line usage
11
+ # Command line usage
13
12
 
14
13
  ``` bash
15
- apple-tv-converter option [option] [option]...
16
-
17
- options:
18
- --no-subtitles # Skips subtitles extraction and addition
19
- --no-metadata # Skips adding metadata to the converted file
20
- --no-cleanup # Skips deleting the source files
21
-
22
- Anything not starting with -- is considered a file to convert
14
+ Usage: apple-tv-converter [options] [file]
15
+ [file] must be provided unless the -d (--dir) switch is present.
16
+ --no-transcoding Don't transcode video or audio
17
+ --no-subtitles Don't add subtitles
18
+ --no-metadata Don't add metadata
19
+ --no-cleanup Don't cleanup the source files after processing
20
+ -l, --languages eng,por,... Only keep audio and subtitles in the specified languages
21
+ -d, --dir [DIRECTORY] Process all files in DIRECTORY recursively
22
+ --itunes Add processed file to iTunes library, if it isn't there yet
23
+
24
+ Common options:
25
+ -h, --help Show this message
26
+ --version Show version
23
27
  ```
24
28
 
29
+ ## Remarks
30
+
31
+ - The file metadata name is set according to the file's directory name, ie, the file `/Home Movie 1/movie.mkv` is converted to `/Home Movie 1/movie.mp4` and the name on metadata is set as `Home Movie 1`.
32
+ - For TV Show episodes, the metadata name is a concatenation of the directory (removing a reference to the season number, in the format Sxx) with the season and episode number, ie, `/TV Show S01/tv.show.s01e01.mkv` will have, after conversion, the name `TV Show S01E01`.
33
+ Episode and season information is captured from the file name, in the formats S01E01 or 1x01 (case insensitive).
34
+ - The file genre is set from the directory name, for tv shows (ie, `/TV Show S01/tv.show.s01e01.mkv` will have the genre `TV Show`), and according to the movie's size (ie, `1080p Movies`, `720p Movies`, and `XviD movies`).
35
+ - External subtitles must be in SubRip (srt) format and have the same name as the file, optionally appending the language's code ie, for movie `/Home Movie 1/movie.mkv`, will load subtitles from file `/Home Movie 1/movie.srt` or `/Home Movie 1/movie.<language>.mkv`
36
+ - Subtitles with appended language code will have the correct language set in metadata.
37
+ - Language codes should be [ISO 639-3](http://www.iso.org/iso/home/standards/language_codes.htm) codes (mostly, I haven't quite figured all the languages yet =)
38
+
39
+ Example:
40
+ For the movie file `/Home Movie 1/movie.mkv`, the following subtitle files are loaded:
41
+
42
+ - `/Home Movie 1/movie.srt` (language 'Unknown')
43
+ - `/Home Movie 1/movie.eng.srt` (language 'English')
44
+ - `/Home Movie 1/movie.2.por.srt` (language 'Portuguese'. Note: the _2_ is an mkvinfo id when extracted from an MKV movie)
45
+
46
+
25
47
  # TODO
26
48
 
27
49
  - Windows implementation
@@ -9,6 +9,8 @@ require 'mkv'
9
9
  require 'awesome_print'
10
10
  require 'fileutils'
11
11
  require 'language_list'
12
+ require 'open-uri'
13
+ require 'imdb'
12
14
 
13
15
  require 'apple_tv_converter/version'
14
16
  require 'apple_tv_converter/io_patch'
@@ -28,7 +30,7 @@ module AppleTvConverter
28
30
  def self.logger=(log)
29
31
  @logger = log
30
32
  end
31
-
33
+
32
34
  # Get AppleTvConverter logger.
33
35
  #
34
36
  # @return [Logger]
@@ -70,4 +72,60 @@ module AppleTvConverter
70
72
  def self.atomic_parsley_binary
71
73
  @atomic_parsley_binary.nil? ? 'AtomicParsley' : @atomic_parsley_binary
72
74
  end
75
+
76
+ def get_language_name(language_code)
77
+ # ??? - English
78
+ # ara - Arabic
79
+ # bul - Bulgarian
80
+ # chi - Chilean? -> ignore?
81
+ # cze - Czech -> ces
82
+ # dan - Danish
83
+ # dut - Dutch -> nld
84
+ # eng - English
85
+ # est - Estonian
86
+ # fin - Finnish
87
+ # fre - French -> fra
88
+ # ger - German -> deu
89
+ # gre - Greek -> ell
90
+ # heb - Hebrew
91
+ # hrv - Croatian
92
+ # hun - Hungarian
93
+ # ice - Icelandic -> isl
94
+ # ita - Italian
95
+ # jpn - Japanese
96
+ # kor - Korean
97
+ # lav - Latvian
98
+ # lit - Lithuanian
99
+ # nor - Norwegian
100
+ # pol - Polish
101
+ # por - Portuguese
102
+ # rum - Romanian -> ron
103
+ # rus - Russian
104
+ # slv - Slovenian
105
+ # spa - Spanish
106
+ # srp - Serbian
107
+ # swe - Swedish
108
+ # tha - Thai
109
+ # tur - Turkish
110
+ # ukr - Ukrainian
111
+ language_code_mappings = {
112
+ '' => 'eng',
113
+ 'chi' => nil,
114
+ 'cze' => 'ces',
115
+ 'dut' => 'nld',
116
+ 'fre' => 'fra',
117
+ 'ger' => 'deu',
118
+ 'gre' => 'ell',
119
+ 'ice' => 'isl',
120
+ 'rum' => 'ron'
121
+ }
122
+
123
+ language_code = language_code_mappings.has_key?(language_code) ? language_code_mappings[language_code] : language_code
124
+
125
+ return nil if language_code.nil?
126
+
127
+ language = ::LanguageList::LanguageInfo.find_by_iso_639_3(language_code)
128
+
129
+ return language.name
130
+ end
73
131
  end
@@ -6,6 +6,9 @@
6
6
  },
7
7
  {
8
8
  "path": "/Users/pedro/development/personal/mkv"
9
+ },
10
+ {
11
+ "path": "/Users/pedro/development/gems/streamio-ffmpeg"
9
12
  }
10
13
  ]
11
14
  }
@@ -3,9 +3,105 @@
3
3
  {
4
4
  "selected_items":
5
5
  [
6
+ [
7
+ "la",
8
+ "language"
9
+ ],
10
+ [
11
+ "lan",
12
+ "language"
13
+ ],
14
+ [
15
+ "langu",
16
+ "languages"
17
+ ],
18
+ [
19
+ "is",
20
+ "is_subtitle"
21
+ ],
22
+ [
23
+ "ar",
24
+ "arguments"
25
+ ],
26
+ [
27
+ "lang",
28
+ "languages"
29
+ ],
6
30
  [
7
31
  "argu",
8
- "argument"
32
+ "arguments"
33
+ ],
34
+ [
35
+ "skip",
36
+ "skip_subtitles"
37
+ ],
38
+ [
39
+ "las",
40
+ "last_destination_filename"
41
+ ],
42
+ [
43
+ "language",
44
+ "language_code"
45
+ ],
46
+ [
47
+ "extra",
48
+ "extract_subtitles"
49
+ ],
50
+ [
51
+ "trans",
52
+ "needs_transcoding"
53
+ ],
54
+ [
55
+ "conv",
56
+ "convert_subtitles"
57
+ ],
58
+ [
59
+ "File",
60
+ "FileUtils"
61
+ ],
62
+ [
63
+ "gen",
64
+ "genre"
65
+ ],
66
+ [
67
+ "is_",
68
+ "is_tv_show_episode"
69
+ ],
70
+ [
71
+ "sub",
72
+ "subtitle"
73
+ ],
74
+ [
75
+ "me",
76
+ "metadata"
77
+ ],
78
+ [
79
+ "sb",
80
+ "subtitle"
81
+ ],
82
+ [
83
+ "au",
84
+ "audio"
85
+ ],
86
+ [
87
+ "aud",
88
+ "audio_codec"
89
+ ],
90
+ [
91
+ "ex",
92
+ "exit_status"
93
+ ],
94
+ [
95
+ "dir",
96
+ "director"
97
+ ],
98
+ [
99
+ "En",
100
+ "Encoding"
101
+ ],
102
+ [
103
+ "med",
104
+ "media_objects"
9
105
  ],
10
106
  [
11
107
  "pars",
@@ -15,10 +111,6 @@
15
111
  "di",
16
112
  "directory"
17
113
  ],
18
- [
19
- "skip",
20
- "skip_next"
21
- ],
22
114
  [
23
115
  "ski",
24
116
  "skip_next"
@@ -31,10 +123,6 @@
31
123
  "argume",
32
124
  "arguments"
33
125
  ],
34
- [
35
- "trans",
36
- "transcode"
37
- ],
38
126
  [
39
127
  "new",
40
128
  "new_report_file_name"
@@ -387,10 +475,6 @@
387
475
  "maile",
388
476
  "mailers"
389
477
  ],
390
- [
391
- "sub",
392
- "subject"
393
- ],
394
478
  [
395
479
  "mail",
396
480
  "mailer_message"
@@ -430,124 +514,48 @@
430
514
  [
431
515
  "modal-",
432
516
  "modal-header"
433
- ],
434
- [
435
- "ma",
436
- "margin-bottom"
437
- ],
438
- [
439
- "base",
440
- "base_dir"
441
- ],
442
- [
443
- "is",
444
- "is_guest"
445
- ],
446
- [
447
- "header",
448
- "header_buttons"
449
- ],
450
- [
451
- "doc",
452
- "document"
453
- ],
454
- [
455
- "par",
456
- "partial"
457
- ],
458
- [
459
- "act",
460
- "actividade"
461
- ],
462
- [
463
- "cust",
464
- "customers_reports"
465
- ],
466
- [
467
- "ser",
468
- "serviço"
469
- ],
470
- [
471
- "pa",
472
- "pay-slip-add"
473
- ],
474
- [
475
- "pay",
476
- "pay_slip"
477
- ],
478
- [
479
- "pay_",
480
- "pay_slip"
481
- ],
482
- [
483
- "year",
484
- "yearly_payslips"
485
- ],
486
- [
487
- "Pay",
488
- "PaySlipType"
489
- ],
490
- [
491
- "reco",
492
- "record_type"
493
- ],
494
- [
495
- "fis",
496
- "fiscal"
497
- ],
498
- [
499
- "cert",
500
- "certidão"
501
- ],
502
- [
503
- "fiscal",
504
- "fiscal_statements"
505
- ],
506
- [
507
- "record",
508
- "record_class"
509
- ],
510
- [
511
- "recor",
512
- "record"
513
- ],
514
- [
515
- "rec",
516
- "record"
517
517
  ]
518
518
  ]
519
519
  },
520
520
  "buffers":
521
521
  [
522
522
  {
523
- "file": "media_converter_mac_adapter.rb",
523
+ "file": "media_converter.rb",
524
524
  "settings":
525
525
  {
526
- "buffer_size": 3465,
527
- "line_ending": "Unix"
526
+ "buffer_size": 3014,
527
+ "line_ending": "Windows"
528
528
  }
529
529
  },
530
530
  {
531
531
  "file": "media_converter_adapter.rb",
532
532
  "settings":
533
533
  {
534
- "buffer_size": 2749,
534
+ "buffer_size": 4709,
535
535
  "line_ending": "Unix"
536
536
  }
537
537
  },
538
538
  {
539
- "file": "/Users/pedro/development/personal/apple-tv-converter/Rakefile",
539
+ "file": "/Users/pedro/development/personal/mkv/lib/mkv/movie.rb",
540
540
  "settings":
541
541
  {
542
- "buffer_size": 2302,
543
- "line_ending": "Windows"
542
+ "buffer_size": 3627,
543
+ "line_ending": "Unix"
544
544
  }
545
545
  },
546
546
  {
547
- "file": "command_line.rb",
547
+ "file": "/Users/pedro/development/personal/mkv/lib/mkv/track.rb",
548
548
  "settings":
549
549
  {
550
- "buffer_size": 3347,
550
+ "buffer_size": 1560,
551
+ "line_ending": "Unix"
552
+ }
553
+ },
554
+ {
555
+ "file": "media_converter_mac_adapter.rb",
556
+ "settings":
557
+ {
558
+ "buffer_size": 3500,
551
559
  "line_ending": "Unix"
552
560
  }
553
561
  },
@@ -555,7 +563,7 @@
555
563
  "file": "media.rb",
556
564
  "settings":
557
565
  {
558
- "buffer_size": 1552,
566
+ "buffer_size": 3085,
559
567
  "line_ending": "Windows"
560
568
  }
561
569
  }
@@ -563,9 +571,17 @@
563
571
  "build_system": "",
564
572
  "command_palette":
565
573
  {
566
- "height": 107.0,
574
+ "height": 203.0,
567
575
  "selected_items":
568
576
  [
577
+ [
578
+ "conflits",
579
+ "FindKeyConflicts: All Conflicts"
580
+ ],
581
+ [
582
+ "confl",
583
+ "FindKeyConflicts: Overlap Conflicts"
584
+ ],
569
585
  [
570
586
  "tag",
571
587
  "Tag: Auto-Format Tags on Document"
@@ -647,7 +663,7 @@
647
663
  "Package Control: Install Package"
648
664
  ]
649
665
  ],
650
- "width": 494.0
666
+ "width": 480.0
651
667
  },
652
668
  "console":
653
669
  {
@@ -664,7 +680,37 @@
664
680
  },
665
681
  "file_history":
666
682
  [
683
+ "/Users/pedro/development/gems/streamio-ffmpeg/lib/ffmpeg/transcoder.rb",
684
+ "/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/command_line.rb",
685
+ "/Users/pedro/development/personal/jasper-command-line/x.pdf",
686
+ "/Users/pedro/development/personal/apple-tv-converter/Gemfile",
687
+ "/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/version.rb",
688
+ "/Users/pedro/development/gems/streamio-ffmpeg/lib/ffmpeg/version.rb",
689
+ "/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media.rb",
690
+ "/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter_mac_adapter.rb",
667
691
  "/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter.rb",
692
+ "/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb",
693
+ "/Users/pedro/development/personal/mkv/lib/mkv/track.rb",
694
+ "/Users/pedro/development/personal/mkv/lib/mkv/movie.rb",
695
+ "/Users/pedro/.rvm/gems/ruby-1.9.3-p194/bin/apple-tv-converter",
696
+ "/Users/pedro/development/personal/mkv/lib/mkv/version.rb",
697
+ "/Users/pedro/development/personal/mkv/CHANGELOG",
698
+ "/Users/pedro/development/personal/mkv/README.md",
699
+ "/Users/pedro/development/personal/apple-tv-converter/lib/apple_tv_converter.rb",
700
+ "/Users/pedro/development/gems/streamio-ffmpeg/lib/ffmpeg/movie.rb",
701
+ "/Users/pedro/development/personal/apple-tv-converter/README.md",
702
+ "/Users/pedro/development/personal/mkv/lib/mkv.rb",
703
+ "/Users/pedro/Dropbox/shares/cloudware/FAQs TOCONLINE.yml",
704
+ "/Users/pedro/Dropbox/shares/cloudware/FAQs TOCONLINE",
705
+ "/Users/pedro/development/gems/streamio-ffmpeg/README.md",
706
+ "/Users/pedro/development/personal/apple-tv-converter/CHANGELOG",
707
+ "/Users/pedro/Library/Application Support/Sublime Text 2/Packages/User/Default (OSX).sublime-keymap",
708
+ "/Users/pedro/development/jasper-cmdline/lib/jasper-command-line.rb",
709
+ "/Users/pedro/Downloads/backup_1354003274_d7d598d75e38441f.sql",
710
+ "/Users/pedro/Downloads/output_gitbash.txt",
711
+ "/Users/pedro/Downloads/output_command.txt",
712
+ "/Users/pedro/development/personal/apple-tv-converter/Rakefile",
713
+ "/Users/pedro/development/personal/apple-tv-converter/bin/apple-tv-converter",
668
714
  "/Users/pedro/development/toconline/Gemfile",
669
715
  "/Users/pedro/development/toconline/app/controllers/application_controller.rb",
670
716
  "/Users/pedro/development/toconline/app/views/billing/documents/_document_row.html.erb",
@@ -761,37 +807,7 @@
761
807
  "/Users/pedro/development/toconline/app/assets/stylesheets/sections/_employees.scss",
762
808
  "/Users/pedro/development/toconline/app/views/my_company/gadgets/_employees_data.html.erb",
763
809
  "/Users/pedro/development/toconline/app/views/my_company/gadgets/_employees.html.erb",
764
- "/Users/pedro/development/toconline/config/locales/employees.pt.yml",
765
- "/Users/pedro/development/toconline/app/models/document.rb",
766
- "/Users/pedro/development/toconline/app/assets/stylesheets/bootstrap_overrides/_forms.scss",
767
- "/Users/pedro/development/toconline/app/controllers/employees/employees_controller.rb",
768
- "/Users/pedro/development/toconline/app/assets/stylesheets/bootstrap_overrides/_navigation_bar.scss",
769
- "/Users/pedro/development/toconline/app/views/employees/absences/_form.html.erb",
770
- "/Users/pedro/development/toconline/app/views/records/records/_form.html.erb",
771
- "/Users/pedro/development/toconline/app/views/employees/vacations/_form.html.erb",
772
- "/Users/pedro/development/toconline/app/views/employees/pay_slips/_form.html.erb",
773
- "/Users/pedro/development/toconline/app/models/user.rb",
774
- "/Users/pedro/development/toconline/app/views/billing/customers/_new_modal_form.js.erb",
775
- "/Users/pedro/development/toconline/app/views/billing/items/new.js.erb",
776
- "/Users/pedro/development/toconline/app/controllers/billing/document_series_controller.rb",
777
- "/Users/pedro/development/toconline/app/models/item.rb",
778
- "/Users/pedro/development/toconline/app/assets/stylesheets/bootstrap_overrides/_dropdowns.scss",
779
- "/Users/pedro/development/toconline/app/views/companies/_edit_form.html.erb",
780
- "/Users/pedro/development/toconline/app/views/billing/documents/_form.html.erb",
781
- "/Users/pedro/development/toconline/app/views/addresses/_form.html.erb",
782
- "/Users/pedro/development/toconline/app/views/my_company/gadgets/_import_saft.html.erb",
783
- "/Users/pedro/Downloads/SAFT_FFDISQL2008 502667583.XML",
784
- "/Users/pedro/development/toconline/app/views/my_company/companies/show_import_saft.js.erb",
785
- "/Users/pedro/development/toconline/app/models/country.rb",
786
- "/Users/pedro/development/toconline/config/locales/countries.pt.yml",
787
- "/Users/pedro/development/toconline/db/migrate/20121116174455_add_index_on_countries_tax_country_region.rb",
788
- "/Users/pedro/development/toconline/config/locales/default.pt.yml",
789
- "/Users/pedro/development/toconline/db/migrate/20121116171017_rename_country_name_to_default_name.rb",
790
- "/Users/pedro/development/toconline/app/assets/stylesheets/sections/_sitemap.scss",
791
- "/Users/pedro/development/toconline/lib/cloudware/toc_online/exceptions.rb",
792
- "/Users/pedro/development/toconline/lib/cloudware/toc_online/saft/mapping.rb",
793
- "/Users/pedro/development/toconline/app/models/temporary_upload.rb",
794
- "/Users/pedro/development/toconline/app/views/users/_form.html.erb"
810
+ "/Users/pedro/development/toconline/config/locales/employees.pt.yml"
795
811
  ],
796
812
  "find":
797
813
  {
@@ -816,6 +832,54 @@
816
832
  "case_sensitive": false,
817
833
  "find_history":
818
834
  [
835
+ "512",
836
+ "language",
837
+ "options",
838
+ "@options",
839
+ "options",
840
+ "argument",
841
+ "Argument",
842
+ "argument",
843
+ "has_subtitles",
844
+ "Dir[",
845
+ "exit",
846
+ "season",
847
+ "extract_subtitles",
848
+ "shellwords",
849
+ "extract_subtitles",
850
+ "mkv_data",
851
+ "elapsed",
852
+ "eng",
853
+ "subtitle",
854
+ "extract_subtitles",
855
+ "subtitle",
856
+ "['subtitle', 'subtitles'].include?(t.type)",
857
+ "convert?",
858
+ "convert_",
859
+ "has_subtitles?",
860
+ "convert_subtitles",
861
+ "convert_audio",
862
+ "convert_video",
863
+ "convert?",
864
+ "media.",
865
+ "convert_",
866
+ "convert_audio",
867
+ "shell",
868
+ "converted_filename",
869
+ "mov_text",
870
+ "audio",
871
+ "AppleTvConverter.logger.debug",
872
+ "||=",
873
+ "[:custom]",
874
+ "7",
875
+ "←[0m",
876
+ "←[0m←[0;33m",
877
+ "←[0;37m",
878
+ "ERROR",
879
+ "Encoding",
880
+ "@ffmpeg_data",
881
+ "logger",
882
+ "FFMPEG.logger",
819
883
  "m4v",
820
884
  "\"",
821
885
  "convert",
@@ -895,55 +959,7 @@
895
959
  "s.",
896
960
  "name",
897
961
  "invite_employee",
898
- "companies",
899
- "settings",
900
- "all_employees",
901
- "default_scope",
902
- "numericality",
903
- "document_series",
904
- "f.",
905
- "row-fluid",
906
- ": g",
907
- "Nova",
908
- "country",
909
- "build_address",
910
- "collection_select",
911
- ":name =>",
912
- "fulldrop",
913
- "customer.billing_address",
914
- "c.address",
915
- ".address",
916
- "audit_file.header.company_address",
917
- "company.main_address",
918
- "p.",
919
- "product",
920
- "city",
921
- "address_detail",
922
- "company_name",
923
- "mapping",
924
- "saft_exporter",
925
- "temporary_upload][:",
926
- ".gadgets",
927
- "TemporaryUpload",
928
- "-%>",
929
- "5px",
930
- "í",
931
- "é",
932
- "á",
933
- "ã",
934
- "ç",
935
- "255",
936
- "use_address_as_delivery_address",
937
- "13",
938
- "companie",
939
- "customer",
940
- "render :nothing => true",
941
- "@company.invitations.first",
942
- "set_accepted",
943
- "f",
944
- "use_address_as_delivery_address",
945
- "checkbox",
946
- "item"
962
+ "companies"
947
963
  ],
948
964
  "highlight": true,
949
965
  "in_selection": false,
@@ -968,33 +984,36 @@
968
984
  "groups":
969
985
  [
970
986
  {
971
- "selected": 3,
987
+ "selected": 1,
972
988
  "sheets":
973
989
  [
974
990
  {
975
991
  "buffer": 0,
976
- "file": "media_converter_mac_adapter.rb",
992
+ "file": "media_converter.rb",
977
993
  "settings":
978
994
  {
979
- "buffer_size": 3465,
995
+ "buffer_size": 3014,
980
996
  "regions":
981
997
  {
982
998
  },
983
999
  "selection":
984
1000
  [
985
1001
  [
986
- 3421,
987
- 3421
1002
+ 3014,
1003
+ 3014
988
1004
  ]
989
1005
  ],
990
1006
  "settings":
991
1007
  {
1008
+ "encoding_helper_confidence": 1.0,
1009
+ "encoding_helper_encoding": "UTF-8",
1010
+ "encoding_helper_encoding_sublime": "UTF-8",
992
1011
  "syntax": "Packages/Ruby/Ruby.tmLanguage",
993
1012
  "tab_size": 2,
994
1013
  "translate_tabs_to_spaces": true
995
1014
  },
996
1015
  "translation.x": 0.0,
997
- "translation.y": 0.0,
1016
+ "translation.y": 489.0,
998
1017
  "zoom_level": 1.0
999
1018
  },
1000
1019
  "type": "text"
@@ -1004,109 +1023,152 @@
1004
1023
  "file": "media_converter_adapter.rb",
1005
1024
  "settings":
1006
1025
  {
1007
- "buffer_size": 2749,
1026
+ "buffer_size": 4709,
1008
1027
  "regions":
1009
1028
  {
1010
1029
  },
1011
1030
  "selection":
1012
1031
  [
1013
1032
  [
1014
- 313,
1015
- 313
1033
+ 1522,
1034
+ 1522
1016
1035
  ]
1017
1036
  ],
1018
1037
  "settings":
1019
1038
  {
1039
+ "encoding_helper_confidence": 1.0,
1040
+ "encoding_helper_encoding": "UTF-8",
1041
+ "encoding_helper_encoding_sublime": "UTF-8",
1020
1042
  "syntax": "Packages/Ruby/Ruby.tmLanguage",
1021
1043
  "tab_size": 2,
1022
1044
  "translate_tabs_to_spaces": true
1023
1045
  },
1024
1046
  "translation.x": 0.0,
1025
- "translation.y": 0.0,
1047
+ "translation.y": 501.0,
1026
1048
  "zoom_level": 1.0
1027
1049
  },
1028
1050
  "type": "text"
1029
1051
  },
1030
1052
  {
1031
1053
  "buffer": 2,
1032
- "file": "/Users/pedro/development/personal/apple-tv-converter/Rakefile",
1054
+ "file": "/Users/pedro/development/personal/mkv/lib/mkv/movie.rb",
1033
1055
  "settings":
1034
1056
  {
1035
- "buffer_size": 2302,
1057
+ "buffer_size": 3627,
1036
1058
  "regions":
1037
1059
  {
1038
1060
  },
1039
1061
  "selection":
1040
1062
  [
1041
1063
  [
1042
- 491,
1043
- 491
1064
+ 0,
1065
+ 0
1044
1066
  ]
1045
1067
  ],
1046
1068
  "settings":
1047
1069
  {
1070
+ "encoding_helper_confidence": 1.0,
1071
+ "encoding_helper_encoding": "UTF-8",
1072
+ "encoding_helper_encoding_sublime": "UTF-8",
1048
1073
  "syntax": "Packages/Ruby/Ruby.tmLanguage",
1049
1074
  "tab_size": 2,
1050
1075
  "translate_tabs_to_spaces": true
1051
1076
  },
1052
1077
  "translation.x": 0.0,
1053
- "translation.y": 1.0,
1078
+ "translation.y": 0.0,
1054
1079
  "zoom_level": 1.0
1055
1080
  },
1056
1081
  "type": "text"
1057
1082
  },
1058
1083
  {
1059
1084
  "buffer": 3,
1060
- "file": "command_line.rb",
1085
+ "file": "/Users/pedro/development/personal/mkv/lib/mkv/track.rb",
1061
1086
  "settings":
1062
1087
  {
1063
- "buffer_size": 3347,
1088
+ "buffer_size": 1560,
1064
1089
  "regions":
1065
1090
  {
1066
1091
  },
1067
1092
  "selection":
1068
1093
  [
1069
1094
  [
1070
- 2437,
1071
- 2437
1095
+ 1513,
1096
+ 1513
1072
1097
  ]
1073
1098
  ],
1074
1099
  "settings":
1075
1100
  {
1101
+ "encoding_helper_confidence": 1.0,
1102
+ "encoding_helper_encoding": "UTF-8",
1103
+ "encoding_helper_encoding_sublime": "UTF-8",
1076
1104
  "syntax": "Packages/Ruby/Ruby.tmLanguage",
1077
1105
  "tab_size": 2,
1078
1106
  "translate_tabs_to_spaces": true
1079
1107
  },
1080
1108
  "translation.x": 0.0,
1081
- "translation.y": 1385.0,
1109
+ "translation.y": 681.0,
1082
1110
  "zoom_level": 1.0
1083
1111
  },
1084
1112
  "type": "text"
1085
1113
  },
1086
1114
  {
1087
1115
  "buffer": 4,
1116
+ "file": "media_converter_mac_adapter.rb",
1117
+ "settings":
1118
+ {
1119
+ "buffer_size": 3500,
1120
+ "regions":
1121
+ {
1122
+ },
1123
+ "selection":
1124
+ [
1125
+ [
1126
+ 3304,
1127
+ 3304
1128
+ ]
1129
+ ],
1130
+ "settings":
1131
+ {
1132
+ "encoding_helper_confidence": 1.0,
1133
+ "encoding_helper_encoding": "UTF-8",
1134
+ "encoding_helper_encoding_sublime": "UTF-8",
1135
+ "syntax": "Packages/Ruby/Ruby.tmLanguage",
1136
+ "tab_size": 2,
1137
+ "translate_tabs_to_spaces": true
1138
+ },
1139
+ "translation.x": 0.0,
1140
+ "translation.y": 647.0,
1141
+ "zoom_level": 1.0
1142
+ },
1143
+ "type": "text"
1144
+ },
1145
+ {
1146
+ "buffer": 5,
1088
1147
  "file": "media.rb",
1089
1148
  "settings":
1090
1149
  {
1091
- "buffer_size": 1552,
1150
+ "buffer_size": 3085,
1092
1151
  "regions":
1093
1152
  {
1094
1153
  },
1095
1154
  "selection":
1096
1155
  [
1097
1156
  [
1098
- 1473,
1099
- 1473
1157
+ 2705,
1158
+ 2705
1100
1159
  ]
1101
1160
  ],
1102
1161
  "settings":
1103
1162
  {
1163
+ "encoding_helper_confidence": 1.0,
1164
+ "encoding_helper_encoding": "UTF-8",
1165
+ "encoding_helper_encoding_sublime": "UTF-8",
1104
1166
  "syntax": "Packages/Ruby/Ruby.tmLanguage",
1105
1167
  "tab_size": 2,
1106
1168
  "translate_tabs_to_spaces": true
1107
1169
  },
1108
1170
  "translation.x": 0.0,
1109
- "translation.y": 0.0,
1171
+ "translation.y": 652.0,
1110
1172
  "zoom_level": 1.0
1111
1173
  },
1112
1174
  "type": "text"
@@ -1155,25 +1217,189 @@
1155
1217
  "height": 0.0,
1156
1218
  "selected_items":
1157
1219
  [
1220
+ [
1221
+ "ffmpegtran",
1222
+ "streamio-ffmpeg/lib/ffmpeg/transcoder.rb"
1223
+ ],
1224
+ [
1225
+ "toconline",
1226
+ "apple-tv-converter/lib/apple_tv_converter/command_line.rb"
1227
+ ],
1228
+ [
1229
+ "transco",
1230
+ "streamio-ffmpeg/lib/ffmpeg/transcoder.rb"
1231
+ ],
1232
+ [
1233
+ "applemed",
1234
+ "apple-tv-converter/lib/apple_tv_converter/media.rb"
1235
+ ],
1236
+ [
1237
+ "gemfile",
1238
+ "apple-tv-converter/Gemfile"
1239
+ ],
1158
1240
  [
1159
1241
  "command",
1160
- "lib/apple_tv_converter/command_line.rb"
1242
+ "apple-tv-converter/lib/apple_tv_converter/command_line.rb"
1161
1243
  ],
1162
1244
  [
1163
- "rake",
1164
- "Rakefile"
1245
+ "mkvmov",
1246
+ "mkv/lib/mkv/movie.rb"
1165
1247
  ],
1166
1248
  [
1167
- "mediaconverada",
1168
- "lib/apple_tv_converter/media_converter_adapter.rb"
1249
+ "macadapter",
1250
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_mac_adapter.rb"
1251
+ ],
1252
+ [
1253
+ "track",
1254
+ "mkv/lib/mkv/track.rb"
1255
+ ],
1256
+ [
1257
+ "mediaconvadap",
1258
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb"
1259
+ ],
1260
+ [
1261
+ "mediacon",
1262
+ "apple-tv-converter/lib/apple_tv_converter/media_converter.rb"
1263
+ ],
1264
+ [
1265
+ "comman",
1266
+ "apple-tv-converter/lib/apple_tv_converter/command_line.rb"
1169
1267
  ],
1170
1268
  [
1171
1269
  "media",
1172
- "lib/apple_tv_converter/media_converter.rb"
1270
+ "apple-tv-converter/lib/apple_tv_converter/media.rb"
1173
1271
  ],
1174
1272
  [
1175
- "gemfile",
1176
- "toconline/Gemfile"
1273
+ "medmac",
1274
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_mac_adapter.rb"
1275
+ ],
1276
+ [
1277
+ "meda",
1278
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb"
1279
+ ],
1280
+ [
1281
+ "mkvtra",
1282
+ "mkv/lib/mkv/track.rb"
1283
+ ],
1284
+ [
1285
+ "mkvmovie",
1286
+ "mkv/lib/mkv/movie.rb"
1287
+ ],
1288
+ [
1289
+ "mediaconver",
1290
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb"
1291
+ ],
1292
+ [
1293
+ "applt",
1294
+ "apple-tv-converter/lib/apple_tv_converter.rb"
1295
+ ],
1296
+ [
1297
+ "md",
1298
+ "apple-tv-converter/README.md"
1299
+ ],
1300
+ [
1301
+ "",
1302
+ "apple-tv-converter/lib/apple_tv_converter/command_line.rb"
1303
+ ],
1304
+ [
1305
+ "mediaada",
1306
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb"
1307
+ ],
1308
+ [
1309
+ "mkvmovi",
1310
+ "mkv/lib/mkv/movie.rb"
1311
+ ],
1312
+ [
1313
+ "ffmpegmov",
1314
+ "streamio-ffmpeg/lib/ffmpeg/movie.rb"
1315
+ ],
1316
+ [
1317
+ "mkvtrack",
1318
+ "mkv/lib/mkv/track.rb"
1319
+ ],
1320
+ [
1321
+ "mac",
1322
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_mac_adapter.rb"
1323
+ ],
1324
+ [
1325
+ "mkv",
1326
+ "mkv/lib/mkv.rb"
1327
+ ],
1328
+ [
1329
+ "trans",
1330
+ "streamio-ffmpeg/lib/ffmpeg/transcoder.rb"
1331
+ ],
1332
+ [
1333
+ "ransc",
1334
+ "streamio-ffmpeg/lib/ffmpeg/transcoder.rb"
1335
+ ],
1336
+ [
1337
+ "movie",
1338
+ "streamio-ffmpeg/lib/ffmpeg/movie.rb"
1339
+ ],
1340
+ [
1341
+ "transcoer",
1342
+ "streamio-ffmpeg/lib/ffmpeg/transcoder.rb"
1343
+ ],
1344
+ [
1345
+ "media.",
1346
+ "apple-tv-converter/lib/apple_tv_converter/media.rb"
1347
+ ],
1348
+ [
1349
+ "medimac",
1350
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_mac_adapter.rb"
1351
+ ],
1352
+ [
1353
+ "transcode",
1354
+ "streamio-ffmpeg/lib/ffmpeg/transcoder.rb"
1355
+ ],
1356
+ [
1357
+ "apple",
1358
+ "apple-tv-converter/lib/apple_tv_converter.rb"
1359
+ ],
1360
+ [
1361
+ "appl_",
1362
+ "apple-tv-converter/lib/apple_tv_converter.rb"
1363
+ ],
1364
+ [
1365
+ "apll_",
1366
+ "apple-tv-converter/lib/apple_tv_converter.rb"
1367
+ ],
1368
+ [
1369
+ "medi",
1370
+ "apple-tv-converter/lib/apple_tv_converter/media_converter_adapter.rb"
1371
+ ],
1372
+ [
1373
+ "media.r",
1374
+ "apple-tv-converter/lib/apple_tv_converter/media.rb"
1375
+ ],
1376
+ [
1377
+ "chang",
1378
+ "apple-tv-converter/CHANGELOG"
1379
+ ],
1380
+ [
1381
+ "apple_",
1382
+ "apple-tv-converter/lib/apple_tv_converter.rb"
1383
+ ],
1384
+ [
1385
+ "appl",
1386
+ "apple-tv-converter/bin/apple-tv-converter"
1387
+ ],
1388
+ [
1389
+ "medicon",
1390
+ "apple-tv-converter/lib/apple_tv_converter/media_converter.rb"
1391
+ ],
1392
+ [
1393
+ "mediaconv",
1394
+ "apple-tv-converter/lib/apple_tv_converter/media_converter.rb"
1395
+ ],
1396
+ [
1397
+ "rake",
1398
+ "Rakefile"
1399
+ ],
1400
+ [
1401
+ "mediaconverada",
1402
+ "lib/apple_tv_converter/media_converter_adapter.rb"
1177
1403
  ],
1178
1404
  [
1179
1405
  "documnthelp",
@@ -1502,170 +1728,6 @@
1502
1728
  [
1503
1729
  "companiescnt",
1504
1730
  "toconline/app/controllers/companies_controller.rb"
1505
- ],
1506
- [
1507
- "noti",
1508
- "toconline/app/mailers/notifier.rb"
1509
- ],
1510
- [
1511
- "inv",
1512
- "toconline/app/models/invitation.rb"
1513
- ],
1514
- [
1515
- "companiescontro",
1516
- "toconline/app/controllers/companies_controller.rb"
1517
- ],
1518
- [
1519
- "invit",
1520
- "toconline/app/models/invitation.rb"
1521
- ],
1522
- [
1523
- "documentsereh",
1524
- "toconline/app/views/my_company/document_series/_form.html.erb"
1525
- ],
1526
- [
1527
- "companiescontroller",
1528
- "toconline/app/controllers/companies_controller.rb"
1529
- ],
1530
- [
1531
- "companiesnew",
1532
- "toconline/app/views/companies/new.js.erb"
1533
- ],
1534
- [
1535
- "companyscss",
1536
- "toconline/app/assets/stylesheets/sections/_my_company.scss"
1537
- ],
1538
- [
1539
- "buttons",
1540
- "toconline/app/assets/stylesheets/bootstrap_overrides/_buttons.scss"
1541
- ],
1542
- [
1543
- "emploscs",
1544
- "toconline/app/assets/stylesheets/sections/_employees.scss"
1545
- ],
1546
- [
1547
- "emplo",
1548
- "toconline/config/locales/employees.pt.yml"
1549
- ],
1550
- [
1551
- "abib",
1552
- "toconline/app/models/ability.rb"
1553
- ],
1554
- [
1555
- "employeesindex",
1556
- "toconline/app/views/employees/employees/index.html.erb"
1557
- ],
1558
- [
1559
- "user",
1560
- "toconline/app/models/user.rb"
1561
- ],
1562
- [
1563
- "copmany",
1564
- "toconline/app/models/company.rb"
1565
- ],
1566
- [
1567
- "navig",
1568
- "toconline/app/assets/stylesheets/bootstrap_overrides/_navigation_bar.scss"
1569
- ],
1570
- [
1571
- "button",
1572
- "toconline/app/assets/stylesheets/bootstrap_overrides/_buttons.scss"
1573
- ],
1574
- [
1575
- "compan",
1576
- "toconline/app/models/company.rb"
1577
- ],
1578
- [
1579
- "emplocont",
1580
- "toconline/app/controllers/employees/employees_controller.rb"
1581
- ],
1582
- [
1583
- "forms",
1584
- "toconline/app/assets/stylesheets/bootstrap_overrides/_forms.scss"
1585
- ],
1586
- [
1587
- "compn",
1588
- "toconline/app/models/company.rb"
1589
- ],
1590
- [
1591
- "documentse",
1592
- "toconline/app/models/document_series.rb"
1593
- ],
1594
- [
1595
- "companycoma",
1596
- "toconline/app/controllers/my_company/companies_controller.rb"
1597
- ],
1598
- [
1599
- "companpt",
1600
- "toconline/config/locales/companies.pt.yml"
1601
- ],
1602
- [
1603
- "documentscontro",
1604
- "toconline/app/controllers/billing/documents_controller.rb"
1605
- ],
1606
- [
1607
- "documenrb",
1608
- "toconline/app/models/document.rb"
1609
- ],
1610
- [
1611
- "generall",
1612
- "toconline/app/views/settings/settings/general_ledger.js.erb"
1613
- ],
1614
- [
1615
- "billinpt",
1616
- "toconline/config/locales/billing.pt.yml"
1617
- ],
1618
- [
1619
- "newmoda",
1620
- "toconline/app/views/billing/customers/_new_modal_form.js.erb"
1621
- ],
1622
- [
1623
- "itemsnew",
1624
- "toconline/app/views/billing/items/new.js.erb"
1625
- ],
1626
- [
1627
- "pt.yml",
1628
- "toconline/config/locales/pt.yml"
1629
- ],
1630
- [
1631
- "documentseri",
1632
- "toconline/app/models/document_series.rb"
1633
- ],
1634
- [
1635
- "route",
1636
- "toconline/config/routes.rb"
1637
- ],
1638
- [
1639
- "documentsericontr",
1640
- "toconline/app/controllers/billing/document_series_controller.rb"
1641
- ],
1642
- [
1643
- "navigation",
1644
- "toconline/app/views/layouts/_navigation.html.erb"
1645
- ],
1646
- [
1647
- "_settings",
1648
- "toconline/app/views/my_company/companies/_settings.html.erb"
1649
- ],
1650
- [
1651
- "setting",
1652
- "toconline/app/views/my_company/companies/settings.html.erb"
1653
- ],
1654
- [
1655
- "addressfor",
1656
- "toconline/app/views/addresses/_form.html.erb"
1657
- ],
1658
- [
1659
- "documentsform",
1660
- "toconline/app/views/billing/documents/_form.html.erb"
1661
- ],
1662
- [
1663
- "companiesedit",
1664
- "toconline/app/views/companies/_edit_form.html.erb"
1665
- ],
1666
- [
1667
- "dropdowns",
1668
- "toconline/app/assets/stylesheets/bootstrap_overrides/_dropdowns.scss"
1669
1731
  ]
1670
1732
  ],
1671
1733
  "width": 0.0