sensible-cinema 0.26.0 → 0.26.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +3 -0
- data/README +9 -6
- data/TODO +91 -41
- data/VERSION +1 -1
- data/bin/sensible-cinema +13 -1506
- data/bin/sensible-cinema-cli +156 -151
- data/change_log_with_feature_list.txt +17 -2
- data/developer_how_to_contribute_to_the_project.txt +3 -2
- data/documentation/upconversion.txt +4 -0
- data/history_and_related_works_list.txt +1 -0
- data/{play_with_inserted_scene.bat → legal/play_with_inserted_scene.bat} +0 -0
- data/{play_with_overlay.bat → legal/play_with_overlay.bat} +0 -0
- data/legal2 +2 -0
- data/lib/count_down_timer_jruby_swing.rb +3 -4
- data/lib/edl_parser.rb +345 -339
- data/lib/eight_three.rb +6 -1
- data/lib/gui/sensible-cinema-base.rb +671 -0
- data/lib/gui/sensible-cinema-create.rb +304 -0
- data/lib/{sensible-cinema-dependencies.rb → gui/sensible-cinema-dependencies.rb} +0 -0
- data/lib/gui/sensible-cinema-normal.rb +349 -0
- data/lib/gui/sensible-cinema-side-by-side.rb +27 -0
- data/lib/gui/sensible-cinema-upconvert.rb +254 -0
- data/lib/screen_tracker.rb +1 -0
- data/spec/edl_parser.spec.rb +6 -0
- data/spec/notes +107 -16
- data/spec/sensible_cinema_gui.spec.rb +63 -58
- data/todo.inventionzy.txt +12 -0
- data/todo.propaganda +1 -2
- data/todo.upconvert +3 -1
- data/upconvert_netflix/record_screen/record.bat +2 -0
- data/upconvert_netflix/record_screen/recording/1.png +0 -0
- data/upconvert_netflix/record_screen/recording/10.png +0 -0
- data/upconvert_netflix/record_screen/recording/2.png +0 -0
- data/upconvert_netflix/record_screen/recording/3.png +0 -0
- data/upconvert_netflix/record_screen/recording/4.png +0 -0
- data/upconvert_netflix/record_screen/recording/5.png +0 -0
- data/upconvert_netflix/record_screen/recording/6.png +0 -0
- data/upconvert_netflix/record_screen/recording/7.png +0 -0
- data/upconvert_netflix/record_screen/recording/8.png +0 -0
- data/upconvert_netflix/record_screen/recording/9.png +0 -0
- data/upconvert_netflix/record_screen/recording/d.png +0 -0
- data/www/content_editor.html +2 -2
- data/zamples/edit_decision_lists/dvds/edls_being_edited/cars_disney.txt +5 -7
- data/zamples/edit_decision_lists/dvds/innerspace.txt +77 -0
- data/zamples/edit_decision_lists/netflix_instant/avatar-last-air-bender-movie.txt +12 -0
- data/zamples/edit_decision_lists/netflix_instant/avatar-last-airbender-series.txt +1 -0
- data/zamples/players/netflix/netflix_firefox_non_maximized.txt +1 -1
- metadata +28 -11
- data/lib/file_chooser.rb +0 -46
- data/lib/swing_helpers.rb +0 -142
- data/www/monkey.png +0 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
"mutes" => [
|
2
|
+
"1:20:06.309" , "1:20:09.572", "profanity", "deitys", "We are noW the [deitys]",
|
3
|
+
|
4
|
+
|
5
|
+
],
|
6
|
+
|
7
|
+
"blank_outs" => [
|
8
|
+
],
|
9
|
+
|
10
|
+
"name" => "The Last Airbender", # TODO english name?
|
11
|
+
"url" => "http://movies.netflix.com/WiMovie/The_Last_Airbender/70119441?trkid=496624",
|
12
|
+
"subtitle_url" => "http://www.engsub.net/97528/", # TODO rename...
|
@@ -0,0 +1 @@
|
|
1
|
+
# deemed clean [not even any killings, no profanity], though the first "beach" episode has some cleavage
|
@@ -1,4 +1,4 @@
|
|
1
|
-
name: !ruby/regexp /microsoftsilverlight|geckopluginwindow/i # does this work in non FF? nativewindowclass for chrome, but needs some serious love before that will work well...
|
1
|
+
name: !ruby/regexp /microsoftsilverlight|geckopluginwindow|NativeWindowClass/i # does this work in non FF? nativewindowclass for chrome, but needs some serious love before that will work well...
|
2
2
|
use_class_name: true
|
3
3
|
x: -241
|
4
4
|
y: -45
|
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.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Roger Pack
|
@@ -10,8 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
14
|
-
default_executable:
|
13
|
+
date: 2011-09-07 00:00:00 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: os
|
@@ -212,6 +211,7 @@ extra_rdoc_files:
|
|
212
211
|
- README
|
213
212
|
- TODO
|
214
213
|
files:
|
214
|
+
- .gitmodules
|
215
215
|
- LICENSE.TXT
|
216
216
|
- README
|
217
217
|
- Rakefile
|
@@ -231,6 +231,7 @@ files:
|
|
231
231
|
- documentation/how_to_get_files_from_dvd.txt
|
232
232
|
- documentation/is_it_legal_to_copy_dvds.txt
|
233
233
|
- documentation/troubleshooting.txt
|
234
|
+
- documentation/upconversion.txt
|
234
235
|
- experimental_online_player_ocr_readme.txt
|
235
236
|
- go.bat
|
236
237
|
- go.sh
|
@@ -240,6 +241,8 @@ files:
|
|
240
241
|
- history_and_related_works_list.txt
|
241
242
|
- legal/control_youtube.html
|
242
243
|
- legal/md5s.txt
|
244
|
+
- legal/play_with_inserted_scene.bat
|
245
|
+
- legal/play_with_overlay.bat
|
243
246
|
- legal/serve.rb
|
244
247
|
- legal/transcript_mute_vlc.txt
|
245
248
|
- legal2
|
@@ -253,8 +256,13 @@ files:
|
|
253
256
|
- lib/edl_parser.rb
|
254
257
|
- lib/eight_three.rb
|
255
258
|
- lib/fake_blanker.rb
|
256
|
-
- lib/file_chooser.rb
|
257
259
|
- lib/frame_accurate.rb
|
260
|
+
- lib/gui/sensible-cinema-base.rb
|
261
|
+
- lib/gui/sensible-cinema-create.rb
|
262
|
+
- lib/gui/sensible-cinema-dependencies.rb
|
263
|
+
- lib/gui/sensible-cinema-normal.rb
|
264
|
+
- lib/gui/sensible-cinema-side-by-side.rb
|
265
|
+
- lib/gui/sensible-cinema-upconvert.rb
|
258
266
|
- lib/keyboard_input.rb
|
259
267
|
- lib/media_info_parser.rb
|
260
268
|
- lib/mencoder_wrapper.rb
|
@@ -269,16 +277,12 @@ files:
|
|
269
277
|
- lib/play_audio.rb
|
270
278
|
- lib/ruby_clip.rb
|
271
279
|
- lib/screen_tracker.rb
|
272
|
-
- lib/sensible-cinema-dependencies.rb
|
273
280
|
- lib/shutdown_kill.rb
|
274
281
|
- lib/storage.rb
|
275
282
|
- lib/subtitle_profanity_finder.rb
|
276
|
-
- lib/swing_helpers.rb
|
277
283
|
- lib/vlc_programmer.rb
|
278
284
|
- never_do
|
279
285
|
- ocr.todo_if_need_speed
|
280
|
-
- play_with_inserted_scene.bat
|
281
|
-
- play_with_overlay.bat
|
282
286
|
- preamble
|
283
287
|
- spec/arse.srt
|
284
288
|
- spec/auto_window_finder.spec.rb
|
@@ -340,6 +344,18 @@ files:
|
|
340
344
|
- upconvert_netflix/old/upconvert_from_screen_me_push_source.avs
|
341
345
|
- upconvert_netflix/old/uscreen.GRF
|
342
346
|
- upconvert_netflix/old/uscreen_me.GRF
|
347
|
+
- upconvert_netflix/record_screen/record.bat
|
348
|
+
- upconvert_netflix/record_screen/recording/1.png
|
349
|
+
- upconvert_netflix/record_screen/recording/10.png
|
350
|
+
- upconvert_netflix/record_screen/recording/2.png
|
351
|
+
- upconvert_netflix/record_screen/recording/3.png
|
352
|
+
- upconvert_netflix/record_screen/recording/4.png
|
353
|
+
- upconvert_netflix/record_screen/recording/5.png
|
354
|
+
- upconvert_netflix/record_screen/recording/6.png
|
355
|
+
- upconvert_netflix/record_screen/recording/7.png
|
356
|
+
- upconvert_netflix/record_screen/recording/8.png
|
357
|
+
- upconvert_netflix/record_screen/recording/9.png
|
358
|
+
- upconvert_netflix/record_screen/recording/d.png
|
343
359
|
- vendor/jruby-complete-1.6.2.jar
|
344
360
|
- vendor/mac_dvdid/bin/dvdid
|
345
361
|
- vendor/mac_dvdid/include/dvdid/dvdid.h
|
@@ -355,7 +371,6 @@ files:
|
|
355
371
|
- vendor/tsmuxer_1.10.6/licence.txt
|
356
372
|
- www/content_editor.html
|
357
373
|
- www/index.html
|
358
|
-
- www/monkey.png
|
359
374
|
- www/upconverting_movie_player.html
|
360
375
|
- www/video reel.jpg
|
361
376
|
- zamples/edit_decision_lists/dvds/Harry Potter 2 chamber of secrets.txt
|
@@ -374,6 +389,7 @@ files:
|
|
374
389
|
- zamples/edit_decision_lists/dvds/hitchhiker's_guide_to_the_galaxy.txt
|
375
390
|
- zamples/edit_decision_lists/dvds/how_to_train_your_dragon.txt
|
376
391
|
- zamples/edit_decision_lists/dvds/if_a_man_answers.txt
|
392
|
+
- zamples/edit_decision_lists/dvds/innerspace.txt
|
377
393
|
- zamples/edit_decision_lists/dvds/iq.txt
|
378
394
|
- zamples/edit_decision_lists/dvds/kung_fu_panda_1.txt
|
379
395
|
- zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt
|
@@ -384,6 +400,8 @@ files:
|
|
384
400
|
- zamples/edit_decision_lists/dvds/snow_white_and_the_7_dwarfs_1937.txt
|
385
401
|
- zamples/edit_decision_lists/dvds/tron_legacy.txt
|
386
402
|
- zamples/edit_decision_lists/dvds/turn_around_alma_younger.txt
|
403
|
+
- zamples/edit_decision_lists/netflix_instant/avatar-last-air-bender-movie.txt
|
404
|
+
- zamples/edit_decision_lists/netflix_instant/avatar-last-airbender-series.txt
|
387
405
|
- zamples/edit_decision_lists/netflix_instant/greatest_story_ever_told_netflix.txt
|
388
406
|
- zamples/edit_decision_lists/old_not_yet_updated/dvds/White Christmas.txt
|
389
407
|
- zamples/edit_decision_lists/old_not_yet_updated/dvds/all_dogs_go_to_heaven.txt
|
@@ -408,7 +426,6 @@ files:
|
|
408
426
|
- zamples/players/youtube/full_screened_1680x1050.txt
|
409
427
|
- zamples/players/youtube/normal_in_youtube.com.chrome.txt
|
410
428
|
- zamples/players/youtube/note_these_assume_less_than_10_minutes_length.txt
|
411
|
-
has_rdoc: true
|
412
429
|
homepage: http://github.com/rdp
|
413
430
|
licenses: []
|
414
431
|
|
@@ -432,7 +449,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
432
449
|
requirements: []
|
433
450
|
|
434
451
|
rubyforge_project:
|
435
|
-
rubygems_version: 1.
|
452
|
+
rubygems_version: 1.8.9
|
436
453
|
signing_key:
|
437
454
|
specification_version: 3
|
438
455
|
summary: an EDL scene-selector/bleeper that works with online players like hulu
|
data/lib/file_chooser.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
Copyright 2010, Roger Pack
|
3
|
-
This file is part of Sensible Cinema.
|
4
|
-
|
5
|
-
Sensible Cinema is free software: you can redistribute it and/or modify
|
6
|
-
it under the terms of the GNU General Public License as published by
|
7
|
-
the Free Software Foundation, either version 3 of the License, or
|
8
|
-
(at your option) any later version.
|
9
|
-
|
10
|
-
Sensible Cinema is distributed in the hope that it will be useful,
|
11
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
-
GNU General Public License for more details.
|
14
|
-
|
15
|
-
You should have received a copy of the GNU General Public License
|
16
|
-
along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
|
17
|
-
=end
|
18
|
-
require 'java'
|
19
|
-
|
20
|
-
module FileChooser # used in the cli only...
|
21
|
-
|
22
|
-
def choose_file(title, use_this_dir = nil)
|
23
|
-
|
24
|
-
fc = java.awt.FileDialog.new(nil, title)
|
25
|
-
if use_this_dir
|
26
|
-
# FileDialog only accepts it a certain way.
|
27
|
-
dir = File.expand_path(use_this_dir).gsub(File::Separator, File::ALT_SEPARATOR)
|
28
|
-
fc.setDirectory(dir)
|
29
|
-
end
|
30
|
-
# lodo allow for a FileFilter, too...
|
31
|
-
Thread.new { sleep 2; fc.to_front } # it gets hidden, unfortunately, so try and bring it again to the front...
|
32
|
-
fc.show
|
33
|
-
if fc.get_file
|
34
|
-
out = fc.get_directory + fc.get_file
|
35
|
-
end
|
36
|
-
fc.remove_notify # allow out app to exit
|
37
|
-
out
|
38
|
-
end
|
39
|
-
|
40
|
-
extend self
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
if __FILE__ == $0
|
45
|
-
p FileChooser.choose_file("test1", '..')
|
46
|
-
end
|
data/lib/swing_helpers.rb
DELETED
@@ -1,142 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
Copyright 2010, Roger Pack
|
3
|
-
This file is part of Sensible Cinema.
|
4
|
-
|
5
|
-
Sensible Cinema is free software: you can redistribute it and/or modify
|
6
|
-
it under the terms of the GNU General Public License as published by
|
7
|
-
the Free Software Foundation, either version 3 of the License, or
|
8
|
-
(at your option) any later version.
|
9
|
-
|
10
|
-
Sensible Cinema is distributed in the hope that it will be useful,
|
11
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
-
GNU General Public License for more details.
|
14
|
-
|
15
|
-
You should have received a copy of the GNU General Public License
|
16
|
-
along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
|
17
|
-
=end
|
18
|
-
require 'java'
|
19
|
-
module SensibleSwing
|
20
|
-
include_package 'javax.swing'
|
21
|
-
[JProgressBar, JButton, JFrame, JLabel, JPanel, JOptionPane,
|
22
|
-
JFileChooser, JComboBox, JDialog, SwingUtilities, JSlider] # grab these constants (http://jira.codehaus.org/browse/JRUBY-5107)
|
23
|
-
include_package 'java.awt'
|
24
|
-
[FlowLayout, Font, BorderFactory, BorderLayout]
|
25
|
-
include_class java.awt.event.ActionListener
|
26
|
-
JFile = java.io.File
|
27
|
-
include_class java.awt.FileDialog
|
28
|
-
include_class java.lang.System
|
29
|
-
|
30
|
-
class JButton
|
31
|
-
def initialize *args
|
32
|
-
super *args
|
33
|
-
set_font Font.new("Tahoma", Font::PLAIN, 11)
|
34
|
-
end
|
35
|
-
|
36
|
-
def on_clicked &block
|
37
|
-
raise unless block
|
38
|
-
@block = block
|
39
|
-
add_action_listener do |e|
|
40
|
-
begin
|
41
|
-
block.call
|
42
|
-
rescue Exception => e
|
43
|
-
puts 'got fatal exception thrown in button [ignoring]', e, e.class
|
44
|
-
if $VERBOSE
|
45
|
-
puts e.backtrace, e
|
46
|
-
else
|
47
|
-
puts e.backtrace[0], e
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
self
|
52
|
-
end
|
53
|
-
|
54
|
-
def simulate_click
|
55
|
-
@block.call
|
56
|
-
end
|
57
|
-
|
58
|
-
def tool_tip= text
|
59
|
-
if text
|
60
|
-
text = "<html>" + text + "</html>"
|
61
|
-
text = text.gsub("\n", "<br/>")
|
62
|
-
end
|
63
|
-
self.set_tool_tip_text text
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
|
-
ToolTipManager.sharedInstance().setDismissDelay(10000)
|
69
|
-
|
70
|
-
class JFrame
|
71
|
-
def close
|
72
|
-
dispose # sigh
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
class JFileChooser
|
77
|
-
# also set_current_directory et al...
|
78
|
-
|
79
|
-
# raises on failure...
|
80
|
-
def go
|
81
|
-
success = show_open_dialog nil
|
82
|
-
unless success == Java::javax::swing::JFileChooser::APPROVE_OPTION
|
83
|
-
java.lang.System.exit 1 # kills background proc...but we shouldn't let them do stuff while a background proc is running, anyway
|
84
|
-
end
|
85
|
-
get_selected_file.get_absolute_path
|
86
|
-
end
|
87
|
-
|
88
|
-
# match FileDialog
|
89
|
-
def set_title x
|
90
|
-
set_dialog_title x
|
91
|
-
end
|
92
|
-
|
93
|
-
def set_file f
|
94
|
-
set_selected_file JFile.new(f)
|
95
|
-
end
|
96
|
-
alias setFile set_file
|
97
|
-
|
98
|
-
end
|
99
|
-
|
100
|
-
# awt...
|
101
|
-
class FileDialog
|
102
|
-
def go
|
103
|
-
show
|
104
|
-
File.expand_path(get_directory + '/' + get_file) if get_file
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
class NonBlockingDialog < JDialog
|
109
|
-
def initialize title_and_display_text, close_button_text = 'Close'
|
110
|
-
super nil
|
111
|
-
lines = title_and_display_text.split("\n")
|
112
|
-
set_title lines[0]
|
113
|
-
get_content_pane.set_layout nil
|
114
|
-
lines.each_with_index{|line, idx|
|
115
|
-
jlabel = JLabel.new line
|
116
|
-
jlabel.set_bounds(10, 15*idx, 550, 24)
|
117
|
-
get_content_pane.add jlabel
|
118
|
-
}
|
119
|
-
close = JButton.new( close_button_text ).on_clicked {
|
120
|
-
self.dispose
|
121
|
-
}
|
122
|
-
close.set_bounds(125,30+15*lines.length,70,25)
|
123
|
-
get_content_pane.add close
|
124
|
-
set_size 550, 100+15*lines.length # XXX variable width? or use swing build in better?
|
125
|
-
set_visible true
|
126
|
-
setDefaultCloseOperation JFrame::DISPOSE_ON_CLOSE
|
127
|
-
setLocationRelativeTo nil # center it on the screen
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
require 'os'
|
133
|
-
|
134
|
-
class String
|
135
|
-
def to_filename
|
136
|
-
if OS.windows?
|
137
|
-
self.gsub('/', "\\")
|
138
|
-
else
|
139
|
-
self
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
data/www/monkey.png
DELETED
Binary file
|