sensible-cinema 0.26.2 → 0.26.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/TODO +92 -73
- data/VERSION +1 -1
- data/bin/sensible-cinema-cli +3 -1
- data/change_log_with_feature_list.txt +23 -1
- data/developer_how_to_contribute_to_the_project.txt +2 -0
- data/lib/edl_parser.rb +4 -1
- data/lib/eight_three.rb +2 -2
- data/lib/gui/sensible-cinema-base.rb +14 -5
- data/lib/gui/sensible-cinema-create.rb +42 -21
- data/lib/gui/sensible-cinema-normal.rb +9 -4
- data/lib/muter.rb +1 -1
- data/lib/subtitle_profanity_finder.rb +24 -3
- data/spec/dragon.srt +1 -1
- data/spec/edl_parser.spec.rb +10 -2
- data/spec/notes +3 -1
- data/spec/subtitle_profanity_finder.spec.rb +61 -11
- data/todo.inventionzy.txt +5 -1
- data/todo.subtitle +2 -6
- data/todo.upconvert +3 -0
- data/zamples/edit_decision_lists/dvds/muppet_treasure_island.txt +21 -0
- data/zamples/edit_decision_lists/netflix_instant/avatar-last-air-bender-movie.txt +3 -2
- data/zamples/edit_decision_lists/netflix_instant/wrinkle-in-time.txt +23 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/example_edit_decision_list.txt +14 -40
- metadata +4 -13
- data/lib/drive_info.rb +0 -81
- data/spec/drive_info.spec.rb +0 -61
- data/spec/go_line.bat +0 -1
- data/vendor/mac_dvdid/bin/dvdid +0 -0
- data/vendor/mac_dvdid/include/dvdid/dvdid.h +0 -67
- data/vendor/mac_dvdid/include/dvdid/dvdid2.h +0 -131
- data/vendor/mac_dvdid/include/dvdid/export.h +0 -32
- data/vendor/mac_dvdid/lib/libdvdid.0.dylib +0 -0
- data/vendor/mac_dvdid/lib/libdvdid.a +0 -0
- data/vendor/mac_dvdid/lib/libdvdid.dylib +0 -0
- data/vendor/mac_dvdid/lib/libdvdid.la +0 -41
@@ -142,10 +142,10 @@ module SensibleSwing
|
|
142
142
|
def parse_edl path
|
143
143
|
EdlParser.parse_file path
|
144
144
|
end
|
145
|
+
|
145
146
|
def get_freespace path
|
146
147
|
JFile.new(File.dirname(path)).get_usable_space
|
147
148
|
end
|
148
|
-
|
149
149
|
|
150
150
|
def get_title_track descriptors, use_default_of_one = true
|
151
151
|
given = descriptors["dvd_title_track"]
|
@@ -184,7 +184,6 @@ module SensibleSwing
|
|
184
184
|
end
|
185
185
|
end
|
186
186
|
|
187
|
-
|
188
187
|
def get_drive_with_most_space_with_slash
|
189
188
|
DriveInfo.get_drive_with_most_space_with_slash
|
190
189
|
end
|
@@ -333,8 +332,14 @@ module SensibleSwing
|
|
333
332
|
else
|
334
333
|
disk = opticals[selected_idx]
|
335
334
|
out = show_non_blocking_message_dialog "calculating current disk's unique id...if this pauses more than 10s then clean your DVD..."
|
336
|
-
|
337
|
-
|
335
|
+
begin
|
336
|
+
dvd_id = DriveInfo.md5sum_disk(disk.MountPoint)
|
337
|
+
rescue Exception => e
|
338
|
+
show_blocking_message_dialog e.to_s # todo a bit ugly...
|
339
|
+
raise
|
340
|
+
ensure
|
341
|
+
out.dispose
|
342
|
+
end
|
338
343
|
@_choose_dvd_drive_or_file = [disk.MountPoint, opticals[selected_idx].VolumeName, dvd_id]
|
339
344
|
return @_choose_dvd_drive_or_file
|
340
345
|
end
|
data/lib/muter.rb
CHANGED
@@ -57,14 +57,33 @@ module SubtitleProfanityFinder
|
|
57
57
|
|
58
58
|
|
59
59
|
|
60
|
-
def self.edl_output incoming_filename, extra_profanity_hash = {}, subtract_from_each_beginning_ts = 0, add_to_end_each_ts = 0
|
61
|
-
edl_output_from_string File.read(incoming_filename), extra_profanity_hash, subtract_from_each_beginning_ts, add_to_end_each_ts
|
60
|
+
def self.edl_output incoming_filename, extra_profanity_hash = {}, subtract_from_each_beginning_ts = 0, add_to_end_each_ts = 0, beginning_srt = "00:00", beginning_actual_movie = "00:00", ending_srt = "10:00:00", ending_actual = "10:00:00"
|
61
|
+
edl_output_from_string File.read(incoming_filename), extra_profanity_hash, subtract_from_each_beginning_ts, add_to_end_each_ts, beginning_srt, beginning_actual_movie, ending_srt, ending_actual
|
62
62
|
end
|
63
63
|
|
64
|
-
def self.edl_output_from_string subtitles, extra_profanity_hash, subtract_from_each_beginning_ts, add_to_end_each_ts
|
64
|
+
def self.edl_output_from_string subtitles, extra_profanity_hash, subtract_from_each_beginning_ts, add_to_end_each_ts, starting_timestamp_given_srt, starting_timestamp_actual, ending_srt, ending_actual
|
65
65
|
subtitles.gsub!("\r\n", "\n")
|
66
66
|
raise if subtract_from_each_beginning_ts < 0 # these have to be positive...in my twisted paradigm
|
67
67
|
raise if add_to_end_each_ts < 0
|
68
|
+
|
69
|
+
starting_timestamp_given_srt = EdlParser.translate_string_to_seconds(starting_timestamp_given_srt)
|
70
|
+
starting_timestamp_actual = EdlParser.translate_string_to_seconds(starting_timestamp_actual)
|
71
|
+
ending_srt = EdlParser.translate_string_to_seconds(ending_srt)
|
72
|
+
ending_actual = EdlParser.translate_string_to_seconds ending_actual
|
73
|
+
|
74
|
+
# accomodate for both styles of rewrite, except it messes up the math, so just leave it separate:
|
75
|
+
# difference = starting_timestamp_given_srt - starting_timestamp_actual
|
76
|
+
# subtract_from_each_beginning_ts += difference
|
77
|
+
# add_to_end_each_ts -= difference
|
78
|
+
|
79
|
+
# you minus the initial srt time... (given)
|
80
|
+
# ratio = (end actual - init actual/ end given - init given)*(how far you are past the initial srt) plus initial actual
|
81
|
+
multiply_by_this_factor = (ending_actual - starting_timestamp_actual)/(ending_srt - starting_timestamp_given_srt)
|
82
|
+
|
83
|
+
multiply_proc = proc {|you|
|
84
|
+
((you - starting_timestamp_given_srt) * multiply_by_this_factor) + starting_timestamp_actual
|
85
|
+
}
|
86
|
+
|
68
87
|
|
69
88
|
|
70
89
|
|
@@ -181,10 +200,12 @@ module SubtitleProfanityFinder
|
|
181
200
|
ts_begin = "#{$2}.#{$3}"
|
182
201
|
ts_begin = EdlParser.translate_string_to_seconds ts_begin
|
183
202
|
ts_begin -= subtract_from_each_beginning_ts
|
203
|
+
ts_begin = multiply_proc.call(ts_begin)
|
184
204
|
ts_begin = EdlParser.translate_time_to_human_readable ts_begin, true
|
185
205
|
ts_end = "#{$4}.#{$5}"
|
186
206
|
ts_end = EdlParser.translate_string_to_seconds ts_end
|
187
207
|
ts_end += add_to_end_each_ts
|
208
|
+
ts_end = multiply_proc.call(ts_end)
|
188
209
|
ts_end = EdlParser.translate_time_to_human_readable ts_end, true
|
189
210
|
unless output.contain? ts_begin
|
190
211
|
output += %!"#{ts_begin}" , "#{ts_end}", "profanity", "#{sanitized.gsub(/[\[\]]/, '').strip}", "#{sanitized_glop.strip}",\n!
|
data/spec/dragon.srt
CHANGED
data/spec/edl_parser.spec.rb
CHANGED
@@ -182,13 +182,21 @@ describe EdlParser do
|
|
182
182
|
translate("1:01:01").should == 60*61+1
|
183
183
|
end
|
184
184
|
|
185
|
+
it "should translate subtitle type timestamps" do
|
186
|
+
translate("00:00:34,451").should == 34.451
|
187
|
+
end
|
188
|
+
|
189
|
+
it "should disallow malformed" do
|
190
|
+
proc {translate("00:00:34,45a")}.should raise_exception
|
191
|
+
end
|
192
|
+
|
185
193
|
it "should translate ints to english timestamps well" do
|
186
194
|
english(60).should == "01:00"
|
187
|
-
english(60.1).should == "01:00.
|
195
|
+
english(60.1).should == "01:00.10"
|
188
196
|
english(3600).should == "1:00:00"
|
189
197
|
english(3599).should == "59:59"
|
190
198
|
english(3660).should == "1:01:00"
|
191
|
-
english(3660 + 0.1).should == "1:01:00.
|
199
|
+
english(3660 + 0.1).should == "1:01:00.10"
|
192
200
|
end
|
193
201
|
|
194
202
|
it "should auto-select a (nested) EDL if it matches a DVD's id" do
|
data/spec/notes
CHANGED
@@ -4,8 +4,10 @@ curious george 2 http://movies.netflix.com/WiPlayer?trkid=805148&movieid=7013048
|
|
4
4
|
|
5
5
|
== netflix upscale notes ==
|
6
6
|
|
7
|
-
:width=>657 for "HD" that said it was playing in HD, eh? ... hmm...
|
7
|
+
netflix :width=>657 for "HD" that said it was playing in HD, eh? ... hmm...
|
8
8
|
|
9
|
+
at home: never says playing in HD, but lines look really good full screen...hmm...
|
10
|
+
|
9
11
|
hulu has "up to 480p" as options...hmm...
|
10
12
|
360p speedracer displays as {:start_x=>535, :start_y=>328, :width=>542, :height=>410}
|
11
13
|
480p speedracer displays as {:start_x=>524, :start_y=>331, :width=>550, :height=>408} (same)
|
@@ -28,7 +28,7 @@ describe SubtitleProfanityFinder do
|
|
28
28
|
|
29
29
|
describe "he.." do
|
30
30
|
it "should include the bad line with timestamp" do
|
31
|
-
output.should match(/0:00:54.
|
31
|
+
output.should match(/0:00:54.93.*"he\.\."/)
|
32
32
|
end
|
33
33
|
|
34
34
|
it "should include the description in its output" do
|
@@ -65,13 +65,13 @@ describe SubtitleProfanityFinder do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
it 'should parse them at EOL' do
|
68
|
-
output2.should include '0:00:55.
|
69
|
-
output2.should include "0:00:55.
|
70
|
-
output2.should include '0:00:55.
|
68
|
+
output2.should include '0:00:55.07' # EOL
|
69
|
+
output2.should include "0:00:55.07" # full line...
|
70
|
+
output2.should include '0:00:55.07' # BOL TODO fix spec :P
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'should replace l for i' do
|
74
|
-
output2.should include "
|
74
|
+
output2.should include "07" # implies it got the substutition right...
|
75
75
|
end
|
76
76
|
|
77
77
|
it 'should keep apostrophes' do
|
@@ -88,32 +88,82 @@ describe SubtitleProfanityFinder do
|
|
88
88
|
|
89
89
|
it 'should add to begin, end' do
|
90
90
|
out = SubtitleProfanityFinder.edl_output 'dragon.srt', {'word' => 'word'}, 1, 1.5
|
91
|
-
out.should include "45.
|
92
|
-
out.should include "51.
|
91
|
+
out.should include "45.46"
|
92
|
+
out.should include "51.59"
|
93
93
|
end
|
94
94
|
|
95
95
|
it "should accomodate lesser profanities" do
|
96
|
-
out = SubtitleProfanityFinder.edl_output_from_string <<-EOL, {}, 0, 0
|
96
|
+
out = SubtitleProfanityFinder.edl_output_from_string <<-EOL, {}, 0, 0, 1.0
|
97
97
|
6
|
98
98
|
00:00:55,068 --> 00:00:59,164
|
99
99
|
a butt
|
100
100
|
|
101
101
|
EOL
|
102
102
|
out.should include "55.0"
|
103
|
+
|
103
104
|
end
|
104
105
|
|
105
106
|
describe "it should take optional user params" do
|
106
107
|
output = SubtitleProfanityFinder.edl_output 'dragon.srt', {'word' => 'word'}
|
107
108
|
|
108
109
|
it "should parse out the word word" do
|
109
|
-
output.should match(/0:00:50.
|
110
|
+
output.should match(/0:00:50.09.*"word"/)
|
110
111
|
end
|
111
112
|
|
112
113
|
it "should parse out and replace with euphemism" do
|
113
114
|
output = SubtitleProfanityFinder.edl_output 'dragon.srt', {'word' => 'w...'}
|
114
|
-
output.should match(/0:00:50.
|
115
|
+
output.should match(/0:00:50.09.*In a \[w\.\.\.\]/)
|
115
116
|
end
|
116
117
|
|
117
118
|
end
|
119
|
+
|
120
|
+
S = SubtitleProfanityFinder
|
121
|
+
|
122
|
+
describe "it should let you re-factor the timestamps on the fly if desired" do
|
123
|
+
|
124
|
+
# def self.edl_output_from_string subtitles, extra_profanity_hash, subtract_from_each_beginning_ts, add_to_end_each_ts, starting_timestamp_given, starting_timestamp_actual, ending_timestamp_given, ending_timestamp_actual^M
|
125
|
+
|
126
|
+
it "should subtract from beginning etc. etc." do
|
127
|
+
normal = S.edl_output 'dragon.srt'
|
128
|
+
normal.should =~ /0:00:50.23/
|
129
|
+
normal.should =~ /0:00:54.93/
|
130
|
+
subtract = S.edl_output 'dragon.srt', {}, 1.0
|
131
|
+
subtract.should =~ /0:00:49.23/
|
132
|
+
normal.should =~ /0:00:54.93/
|
133
|
+
add = S.edl_output 'dragon.srt', {}, 0.0, 1.0
|
134
|
+
add.should =~ /0:00:55.93/
|
135
|
+
add.should =~ /0:00:50.23/
|
136
|
+
end
|
137
|
+
|
138
|
+
it "should compensate for differing start timestamps" do
|
139
|
+
starts_ten_later_than_srt = S.edl_output 'dragon.srt', {}, 0.0, 0.0, "00:10", "00:20"
|
140
|
+
starts_ten_later_than_srt.should =~ /0:01:00.23/
|
141
|
+
starts_ten_later_than_srt.should =~ /0:01:04.93/
|
142
|
+
end
|
143
|
+
|
144
|
+
it "should compensate for differing end timestamps with a multiple" do
|
145
|
+
lasts_longer = S.edl_output 'dragon.srt', {}, 0.0, 0.0, "00:00", "00:00", "01:00", "01:30" # actual ends 50% later
|
146
|
+
lasts_longer.should =~ /0:01:15.34/
|
147
|
+
lasts_longer.should =~ /0:01:22.39/
|
148
|
+
end
|
149
|
+
|
150
|
+
describe "combining different initial time offsets with total times" do
|
151
|
+
|
152
|
+
it "should combine different initial time offset with different total time" do
|
153
|
+
lasts_longer_with_initial_add = S.edl_output 'dragon.srt', {}, 0.0, 0.0, begin_srt = "00:00", begin_actual = "00:10", end_srt = "00:55", end_actual = "00:55"
|
154
|
+
# this one starts off weird, but then ends at almost exactly the same!
|
155
|
+
lasts_longer_with_initial_add.should =~ /0:00:51.10/
|
156
|
+
lasts_longer_with_initial_add.should =~ /0:00:54.94/ # note--almost on
|
157
|
+
end
|
158
|
+
|
159
|
+
it "should be ok if they line up perfectly with just an offset" do
|
160
|
+
plus_ten = S.edl_output 'dragon.srt', {}, 0.0, 0.0, begin_srt = "00:00", begin_actual = "00:10", end_srt = "00:55", end_actual = "01:05"
|
161
|
+
plus_ten.should =~ /0:01:00.23/
|
162
|
+
plus_ten.should =~ /0:01:04.93/
|
163
|
+
end
|
164
|
+
|
165
|
+
end
|
166
|
+
|
167
|
+
end
|
118
168
|
|
119
|
-
end
|
169
|
+
end
|
data/todo.inventionzy.txt
CHANGED
@@ -11,7 +11,11 @@
|
|
11
11
|
with several, or start one, end one, etc.
|
12
12
|
allow for extra start time offset for videos, if netflix instant has any
|
13
13
|
a way to integrate with cable TV, ex: "this show we know started at 1:01, and its offsets should be this after that point"
|
14
|
-
it can
|
14
|
+
it can query the currently open browser window, check to see which movie it's playing, and auotmatically spawn off a correct player instance with EDL for that movie
|
15
|
+
based on title or url.
|
16
|
+
netflix "try this srt, does it match?" no "what about this one, now?"
|
17
|
+
it can "infer" where the thumb slider would be, and "drag" it to where it infers the new timestamp location should likely be, for skipping et al.
|
18
|
+
I can imagine a system that scans incoming audio, does voice recognition sofware analysis on it, search for (angry tones, profanities, "questionable" tones/text like making love), and excludes them from output [search forward, skip forward, just display nothing, either one, mute audio, decrease audio et al].
|
15
19
|
make an API web service that can search for EDL's
|
16
20
|
or with youtube, use the api to fast forwarrd there
|
17
21
|
and if it isn't already loaded, display an extra notice "forwarding" or what not.
|
data/todo.subtitle
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
|
2
|
+
handle gates of hell...
|
3
3
|
|
4
4
|
http://en.gentoo-wiki.com/wiki/DVD_to_MP4 mentions "subtitle ripper"
|
5
5
|
avidemux can apparently do it, too
|
@@ -9,13 +9,9 @@ somehow map DVD's to the "subdownloader" style subtitles?
|
|
9
9
|
|
10
10
|
don't use as many..uh...large of spaces for mutes that was way wide...is that safe though?
|
11
11
|
|
12
|
-
|
13
|
-
it can use "two" .srt files [user generated versus original] and combine them both [?]
|
14
|
-
|
15
12
|
is there a way to double check your .srt file is accurate?
|
16
|
-
describe it...
|
17
13
|
|
18
14
|
somehow interface with md5/opensubtitles or someone else? hmm..
|
19
15
|
|
20
16
|
Don't mute the whole line if not needed? [just end of it, etc...?]
|
21
|
-
allow them to enter whatever they want as arbitrary search...
|
17
|
+
allow them to enter whatever they want as arbitrary search profanities, search for them...
|
data/todo.upconvert
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
# comments can go after a # on any line, for example this one.
|
2
|
+
"name" => "muppet treasure island",
|
3
|
+
|
4
|
+
"mutes" => [
|
5
|
+
"4254.7", "4275.9", "the red gates of he.. are waiting for you...and beg for deliverance from [da..]ation",
|
6
|
+
"5383.4", "5386.0", "profanity", "aww [he..] Jim",
|
7
|
+
|
8
|
+
],
|
9
|
+
|
10
|
+
"blank_outs" => [
|
11
|
+
],
|
12
|
+
|
13
|
+
"volume_name" => "MUPPET_TREASURE_ISLAND",
|
14
|
+
"disk_unique_id" => "aac1bc79|734cd8e4",
|
15
|
+
"dvd_title_track" => "1", # the "show DVD info" button will tell you title lengths (typically longest title is the title track)
|
16
|
+
"dvd_title_track_length" => "5977.666", # length, on the DVD, of dvd_title_track (use the show DVD info button to get this number).
|
17
|
+
# "subtitle_url" => "1234567",
|
18
|
+
# "not edited out stuff" => "some...",
|
19
|
+
"closing thoughts" => "lacks some references to bloody...",
|
20
|
+
# In mplayer, the DVD timestamp "resets" to zero for some reason, so you need to specify when if you want to use mplayer DVD realtime playback, or use mencoder -edl to split your file. See http://goo.gl/yMfqX
|
21
|
+
"mplayer_dvd_splits" => [],
|
@@ -7,6 +7,7 @@
|
|
7
7
|
"blank_outs" => [
|
8
8
|
],
|
9
9
|
|
10
|
-
"name" => "The Last Airbender",
|
10
|
+
"name" => "The Last Airbender",
|
11
11
|
"url" => "http://movies.netflix.com/WiMovie/The_Last_Airbender/70119441?trkid=496624",
|
12
|
-
"subtitle_url" => "http://www.engsub.net/97528/",
|
12
|
+
"subtitle_url" => "http://www.engsub.net/97528/",
|
13
|
+
"tenseness_metric" => "99"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"mutes" => [
|
2
|
+
|
3
|
+
"0:27:07.75" , "0:27:08.88", "profanity", "goodness", "DANA Oh [goodness] If I can find it",
|
4
|
+
"0:55:08.08" , "0:55:11.32", "profanity", "goodness", "Who the heck do you think you are [goodness]'s gift to cockroaches",
|
5
|
+
"1:18:44.60" , "1:18:45.94", "profanity", "goodness", "[goodness] I'm sorry",
|
6
|
+
"1:18:59.63" , "1:19:02.34", "profanity", "goodness", "My [goodness] You've gotten so tall",
|
7
|
+
"2:01:17.96" , "2:01:18.93", "profanity", "goodness", "Oh [goodness]",
|
8
|
+
"2:01:31.39" , "2:01:33.66", "profanity", "goodness", "Oh my [goodness]",
|
9
|
+
"2:01:37", "2:01:42", "profanity", "goodness",
|
10
|
+
#"0:08:43.01" , "0:08:45.18", "profanity", "moron", "Hey [moron]",
|
11
|
+
#"0:16:07.71" , "0:16:09.27", "profanity", "idiot", "He's an [idiot]",
|
12
|
+
#"0:24:26.51" , "0:24:28.00", "profanity", "idiot", "My [idiot] brother",
|
13
|
+
#"1:03:45.55" , "1:03:47.79", "profanity", "dumb", "It looks [dumb]",
|
14
|
+
|
15
|
+
|
16
|
+
],
|
17
|
+
|
18
|
+
"blank_outs" => [
|
19
|
+
],
|
20
|
+
|
21
|
+
"name" => "A Wrinkle in Time",
|
22
|
+
"url" => "http://movies.netflix.com/WiMovie/A_Wrinkle_in_Time/70011945?trkid=496624",
|
23
|
+
#"subtitle_url" => "",
|
@@ -1,40 +1,14 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
"
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
#
|
11
|
-
|
12
|
-
"
|
13
|
-
|
14
|
-
|
15
|
-
"01:01:00", "01:02:00"
|
16
|
-
],
|
17
|
-
|
18
|
-
# note: items can be out of chronological order, that's ok
|
19
|
-
|
20
|
-
# you can also have blank outs
|
21
|
-
# example:
|
22
|
-
|
23
|
-
"blank_outs" => [
|
24
|
-
# this first one blanks (by overlaying *over* the video, a black window)
|
25
|
-
# from one hour one minute to one hour two minutes, like:
|
26
|
-
"01:01:00" , "01:02:00", "nudity", "...",
|
27
|
-
# you can also always optionally use decimals, like 3 minutes 3 seconds and a half to 3 minutes 4 seconds and a half (one second blank out):
|
28
|
-
"00:03:03.5", "00:03:04.5",
|
29
|
-
],
|
30
|
-
|
31
|
-
# you can also add other notes, too, like title, source, whatever you want
|
32
|
-
# these are basically free form and not used for anything else yet
|
33
|
-
"missing_content" => "this doesn't list some mild name calling",
|
34
|
-
"title" => "Forever Strong",
|
35
|
-
"source" => "Hulu",
|
36
|
-
"url" => "http://www.byutv.org/watch/1790-100",
|
37
|
-
"whatever_else_you_want" => "this is the old version of the film",
|
38
|
-
"disk_unique_id" => "1234|4678", # allow DVD's to be able to differentiate (and auto select) themselves.
|
39
|
-
|
40
|
-
# NB that you have to put commas just about everywhere. That might help...
|
1
|
+
# prototype file, don't use this, see the other examples
|
2
|
+
# {
|
3
|
+
# "dvd_title_track":1,
|
4
|
+
# "title":"Bob's Big Plan",
|
5
|
+
# "blank_outs":[
|
6
|
+
#
|
7
|
+
# ],
|
8
|
+
# "other notes":"could use more nit-picking of the
|
9
|
+
# song, as some parts seem all right in the end"
|
10
|
+
# }
|
11
|
+
|
12
|
+
#29:00 30:00 blank # {"category":"profanity","details":"beaver darn","level":3,"type":"da..","category":"profanity"}
|
13
|
+
|
14
|
+
{"category":"profanity","details":"beaver darn","start":"29:00","level":3,"end":"30:00","type":"da..","category":"profanity","style":"blank"}
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: sensible-cinema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.26.
|
5
|
+
version: 0.26.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Roger Pack
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-09-
|
13
|
+
date: 2011-09-15 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: os
|
@@ -252,7 +252,6 @@ files:
|
|
252
252
|
- lib/check_installed_mac.rb
|
253
253
|
- lib/convert_thirty_fps.rb
|
254
254
|
- lib/count_down_timer_jruby_swing.rb
|
255
|
-
- lib/drive_info.rb
|
256
255
|
- lib/edl_parser.rb
|
257
256
|
- lib/eight_three.rb
|
258
257
|
- lib/fake_blanker.rb
|
@@ -289,10 +288,8 @@ files:
|
|
289
288
|
- spec/convert_image.rb
|
290
289
|
- spec/deity_end.srt
|
291
290
|
- spec/dragon.srt
|
292
|
-
- spec/drive_info.spec.rb
|
293
291
|
- spec/edl_parser.spec.rb
|
294
292
|
- spec/frame_accurate.spec.rb
|
295
|
-
- spec/go_line.bat
|
296
293
|
- spec/keyboard_input.spec.rb
|
297
294
|
- spec/media_info_parser.spec.rb
|
298
295
|
- spec/mencoder_wrapper.spec.rb
|
@@ -353,14 +350,6 @@ files:
|
|
353
350
|
- upconvert_netflix/record_screen/recording/9.png
|
354
351
|
- upconvert_netflix/record_screen/recording/d.png
|
355
352
|
- vendor/jruby-complete-1.6.2.jar
|
356
|
-
- vendor/mac_dvdid/bin/dvdid
|
357
|
-
- vendor/mac_dvdid/include/dvdid/dvdid.h
|
358
|
-
- vendor/mac_dvdid/include/dvdid/dvdid2.h
|
359
|
-
- vendor/mac_dvdid/include/dvdid/export.h
|
360
|
-
- vendor/mac_dvdid/lib/libdvdid.0.dylib
|
361
|
-
- vendor/mac_dvdid/lib/libdvdid.a
|
362
|
-
- vendor/mac_dvdid/lib/libdvdid.dylib
|
363
|
-
- vendor/mac_dvdid/lib/libdvdid.la
|
364
353
|
- vendor/monkey.png
|
365
354
|
- vendor/profs.png
|
366
355
|
- vendor/readme.txt
|
@@ -390,6 +379,7 @@ files:
|
|
390
379
|
- zamples/edit_decision_lists/dvds/kung_fu_panda_1.txt
|
391
380
|
- zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt
|
392
381
|
- zamples/edit_decision_lists/dvds/making_marriage_work.txt
|
382
|
+
- zamples/edit_decision_lists/dvds/muppet_treasure_island.txt
|
393
383
|
- zamples/edit_decision_lists/dvds/narnia_voyage_of_the_dawn_treader.txt
|
394
384
|
- zamples/edit_decision_lists/dvds/pack_jackson_wedding_2007-03-03.txt
|
395
385
|
- zamples/edit_decision_lists/dvds/sintel_open_source_blender_ntsc_dvd.txt
|
@@ -399,6 +389,7 @@ files:
|
|
399
389
|
- zamples/edit_decision_lists/netflix_instant/avatar-last-air-bender-movie.txt
|
400
390
|
- zamples/edit_decision_lists/netflix_instant/avatar-last-airbender-series.txt
|
401
391
|
- zamples/edit_decision_lists/netflix_instant/greatest_story_ever_told_netflix.txt
|
392
|
+
- zamples/edit_decision_lists/netflix_instant/wrinkle-in-time.txt
|
402
393
|
- zamples/edit_decision_lists/old_not_yet_updated/dvds/White Christmas.txt
|
403
394
|
- zamples/edit_decision_lists/old_not_yet_updated/dvds/all_dogs_go_to_heaven.txt
|
404
395
|
- zamples/edit_decision_lists/old_not_yet_updated/dvds/cars_disney.txt
|