sensible-cinema 0.26.2 → 0.26.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|