sensible-cinema 0.21.9 → 0.21.10
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.TXT +8 -72
- data/README +126 -90
- data/Rakefile +28 -34
- data/TODO +157 -129
- data/VERSION +1 -1
- data/bin/sensible-cinema +40 -23
- data/change_log_with_feature_list.txt +26 -0
- data/development.txt +15 -6
- data/go.bat +1 -1
- data/go_ocr_tracker.bat +1 -1
- data/gocreatemode.bat +1 -1
- data/is_it_legal_to_copy_dvds.txt +80 -0
- data/lib/auto_convert.rb +4 -3
- data/lib/count_down_timer_jruby_swing.rb +5 -5
- data/lib/drive_info.rb +27 -7
- data/lib/edl_parser.rb +0 -1
- data/lib/mencoder_wrapper.rb +4 -5
- data/lib/subtitle_profanity_finder.rb +128 -0
- data/sensible-cinema.gemspec +24 -93
- data/spec/common.rb +8 -9
- data/spec/dragon.srt +32 -0
- data/spec/drive_info.spec.rb +2 -1
- data/spec/how_to +13 -0
- data/spec/notes +651 -41
- data/spec/subtitle_profanity_finder.spec.rb +53 -0
- data/template_bats/RUN SENSIBLE CINEMA CLICK HERE.bat +11 -2
- data/todo.build_library.txt +1 -1
- data/todo.inventionzy.txt +16 -11
- data/todo.open_edl_list_org.txt +19 -2
- data/todo.subtitle +16 -4
- data/{bin → vendor}/monkey.png +0 -0
- data/www/index.html +1 -1
- data/zamples/edit_decision_lists/dvds/how_to_train_your_dragon.txt +25 -0
- data/zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt +1 -1
- data/zamples/edit_decision_lists/dvds/sintel_open_source_blender.txt +18 -0
- data/zamples/edit_decision_lists/dvds/tron_legacy.txt +27 -0
- metadata +306 -413
- data/lib/profanity_finder.rb +0 -84
- data/spec/images/black.bmp +0 -0
- data/spec/images/colon.bmp +0 -0
- data/spec/images/hulu_0.bmp +0 -0
- data/spec/images/hulu_2.bmp +0 -0
- data/spec/images/hulu_2_3.bmp +0 -0
- data/spec/images/hulu_2_4.bmp +0 -0
- data/spec/images/hulu_3.bmp +0 -0
- data/spec/images/hulu_3_4.bmp +0 -0
- data/spec/images/hulu_4.bmp +0 -0
- data/spec/images/hulu_4_4.bmp +0 -0
- data/spec/images/hulu_5.bmp +0 -0
- data/spec/images/hulu_7.bmp +0 -0
- data/spec/images/hulu_8.bmp +0 -0
- data/spec/images/hulu_slash.bmp +0 -0
- data/spec/images/netflix_a0.bmp +0 -0
- data/spec/images/netflix_a1.bmp +0 -0
- data/spec/images/netflix_a2.bmp +0 -0
- data/spec/images/netflix_a3.bmp +0 -0
- data/spec/images/netflix_a4.bmp +0 -0
- data/spec/images/netflix_a5.bmp +0 -0
- data/spec/images/netflix_a6.bmp +0 -0
- data/spec/images/netflix_a7.bmp +0 -0
- data/spec/images/netflix_a8.bmp +0 -0
- data/spec/images/netflix_a9.bmp +0 -0
- data/spec/images/netflix_b9.bmp +0 -0
- data/spec/images/vlc_0.bmp +0 -0
- data/spec/images/vlc_2_4.bmp +0 -0
- data/spec/images/vlc_2_6.bmp +0 -0
- data/spec/images/vlc_4.bmp +0 -0
- data/spec/images/vlc_5.bmp +0 -0
- data/spec/images/vlc_6.bmp +0 -0
- data/spec/images/vlc_9.bmp +0 -0
- data/spec/images/vlc_colon.bmp +0 -0
- data/spec/images/youtube_0.bmp +0 -0
- data/spec/images/youtube_1.bmp +0 -0
- data/spec/images/youtube_2_0.bmp +0 -0
- data/spec/images/youtube_2_5.bmp +0 -0
- data/spec/images/youtube_2_6.bmp +0 -0
- data/spec/images/youtube_3_0.bmp +0 -0
- data/spec/images/youtube_4.bmp +0 -0
- data/spec/images/youtube_4_0.bmp +0 -0
- data/spec/images/youtube_5.bmp +0 -0
- data/spec/images/youtube_6.bmp +0 -0
- data/spec/images/youtube_light_0.bmp +0 -0
- data/spec/images/youtube_light_1_3.bmp +0 -0
- data/spec/images/youtube_light_2_1.bmp +0 -0
- data/spec/images/youtube_light_2_3.bmp +0 -0
- data/spec/images/youtube_light_2_9.bmp +0 -0
- data/spec/images/youtube_light_4.bmp +0 -0
- data/spec/images/youtube_light_4_3.bmp +0 -0
- data/spec/images/youtube_light_5.bmp +0 -0
- data/spec/images/youtube_light_5_0.bmp +0 -0
- data/spec/images/youtube_light_8.bmp +0 -0
- data/spec/images/youtube_light_9.bmp +0 -0
- data/spec/images/youtube_small_0.bmp +0 -0
- data/spec/images/youtube_small_2.bmp +0 -0
- data/spec/images/youtube_small_2_0.bmp +0 -0
- data/spec/images/youtube_small_4.bmp +0 -0
- data/spec/silence.wav +0 -0
- data/vendor/SetPriority.exe +0 -0
- data/vendor/gocr049.exe +0 -0
- data/vendor/music.wav +0 -0
- data/vendor/unzip.exe +0 -0
data/TODO
CHANGED
@@ -1,147 +1,185 @@
|
|
1
|
-
== roadmap ==
|
1
|
+
== roadmap [for just tasks, see below though] ==
|
2
2
|
|
3
|
-
release: cheap inventionzy
|
3
|
+
release: cheap inventionzy, and medium inventionzy
|
4
4
|
release: C EDL+specific portion player
|
5
|
-
|
6
|
-
pull realtime players from mine/update todo
|
5
|
+
?? ordering/looseness below ??
|
6
|
+
pull realtime players from mine/update todo/make mine take a file
|
7
7
|
build library phase, 20 dvd's
|
8
|
-
create web site
|
8
|
+
create web site/api
|
9
9
|
propagate wikipedia with list of realtimers etc.
|
10
|
+
don't mention mplayer EDL, just link to wikipedia :P
|
10
11
|
more build library
|
11
|
-
|
12
|
+
compare netflix/blu-ray timings et al
|
12
13
|
|
13
14
|
== high prio like blocking bugs ==
|
14
15
|
|
15
16
|
== up next release/very next task: ==
|
16
17
|
|
17
|
-
ffmpeg/mencoder timings for splitting files
|
18
18
|
high prio patents
|
19
|
-
time a movie using a 'real' DVD player--which one is accurate by the end, anyway?
|
20
19
|
|
21
|
-
== yes do, un-ordered currently ==
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
20
|
+
== yes do, un-ordered currently, from the various release options ==
|
21
|
+
|
22
|
+
tell them "I need it as a raw mpeg file, use makemkv with tsmuxer to transform it to an mpeg, or use mplayer to grab it"
|
23
|
+
"just look at the title track in the EDL, then..."
|
24
|
+
tell them "to edit easily..."
|
25
|
+
"you could watch it under mplayer with the OSD turned on"
|
26
|
+
[+ button for same?]
|
27
|
+
"you could watch it with a normal DVD player (hardware or software, a la powerDDVD et al)"
|
28
|
+
add button for "convert from DVD Player [mplayer OSD, commercial]" to accurate timestamp [single timestamp]
|
29
|
+
"you could edit it in basically any editor--they are usually pretty accurate [instructions for powerproducer]"
|
30
|
+
windows DVD Maker is not accurate enough
|
31
|
+
"you could edit your file "raw" file "with avidemux, except video will be slightly off, but audio will be on"
|
32
|
+
"you could get timestamps from playing it back with VLC and watching the time, though VLC [or any GUI] is always slightly off."
|
33
|
+
@mulder: dvdnav crashes
|
34
|
+
check with blu-ray...does it match timing-wise? sub-title wise?
|
35
|
+
donate tsmuxer, makemkv
|
36
|
+
google "scripted dvd playback" adobe, one other, avisynth dvd [?]
|
37
|
+
check cp p.'s
|
38
|
+
instructions: reference the sintel DVD :) (download it from my site here)
|
39
|
+
note to google group...
|
40
|
+
add an mencoder convert with mplayer_breaks button :P
|
41
|
+
youtube/hulu timings
|
42
|
+
subtitles: impass assistance :)
|
43
|
+
can I just use mencoder -hr-edl-seek to avoid the fulli phase? please? does it work super-accurately?
|
44
|
+
BY CLICKING "I Agree" YOU SIGNIFY THAT YOU HAVE READ, UNDERSTOOD AND AGREED TO ABIDE BY THE TERMS OF THIS AGREEMENT
|
45
|
+
make install work again
|
46
|
+
package curl [?]
|
47
|
+
add button "play from exactly here to here" in [mplayer uh guess?] :P
|
48
|
+
what does mplayer do with -ss big_number past the end of an end [monster's inc]?
|
49
|
+
Watch...unedited smplayer button doesn't play from the right device if you have two :P
|
50
|
+
get LLC before a "real" domain name
|
51
|
+
add profanity filter this file button
|
52
|
+
remove some buttons by default ?
|
53
|
+
always force them to have a DVD in the drive :P
|
29
54
|
clear runnings
|
30
55
|
have ben and chris test it out, have it work, then ask about video quality
|
31
|
-
|
32
|
-
try disney digital copy/amazon library "local download"
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
legal:
|
37
|
-
"don't do it"
|
38
|
-
rename the file to is_it_legal_to_copy_dvds, reference it
|
39
|
-
"we know x, y are not l..."
|
40
|
-
"sorry, cannot run without...."
|
41
|
-
add a "non work sponsored" note
|
42
|
-
agree to abide, shouldn't in the US [?]
|
43
|
-
note no CP blu-ray, history was "first mplayer had EDL support, then the python guy, this builds on their work" (and mention VLC too)
|
44
|
-
make it not die if you have no DVD in there yet when you click...
|
45
|
-
un-paranoid note
|
46
|
-
note in changelog: avidemux [auto-trainable, usable...]
|
47
|
-
note "inspired by the phantom edit.." too?
|
48
|
-
package curl [?] with its own license
|
49
|
-
# "closing thoughts" => "still a fairly dark movie, overall", smallify this line
|
50
|
-
use DVD navigator?
|
51
|
-
wow terrifying...
|
52
|
-
just use mplayer EDL stuff, plus title :)
|
56
|
+
me try my copy
|
57
|
+
try disney digital copy/amazon library "local download"...
|
58
|
+
C player:
|
59
|
+
use DVD navigator
|
60
|
+
just use mplayer EDL syntax, plus a title track :)
|
53
61
|
http://msdn.microsoft.com/en-us/library/ms787412(VS.85).aspx
|
54
62
|
http://msdn.microsoft.com/en-us/library/dd407175(v=VS.85).aspx can be synchronous? might be a good first pass...
|
55
63
|
PlayPeriodInTitleAutoStop EC_DVD_PLAYPERIOD_AUTOSTOP
|
56
|
-
make it frame accurate output
|
57
|
-
after done:
|
58
|
-
note we don't always use libdvdcss in the legal
|
59
|
-
add new button for it LOL
|
64
|
+
make it frame accurate output text :)
|
60
65
|
allow it to "just play from X to Y exactly" ...
|
61
|
-
does this line up right? can it work, at all?
|
66
|
+
does this line up right/perfect? can it work, at all?
|
62
67
|
lodo:
|
63
68
|
update its semi-bad error messages...
|
64
69
|
show time remaining, too, and less ugly [?]
|
65
70
|
can come out of full screen more easily :P
|
66
|
-
note pay for XP
|
67
|
-
|
68
|
-
|
69
|
-
clearplay: more expensive than normal players, thus less useful, subscription model not fit for casual movie viewers, or poor movie viewers,
|
70
|
-
too slow, too, with new EDL's
|
71
|
-
if it doesn't parse it loops *forever* "error pooping" "error pooping"
|
71
|
+
note pay for XP http://windows.microsoft.com/en-US/windows/downloads/windows-media-player/plug-ins search for the cheapest
|
72
|
+
note to them windows vista/7: use ac3filter [?]
|
73
|
+
if it doesn't parse something it loops *forever* "error pooping" "error pooping"
|
72
74
|
try buy delete lists from all x,y,z [?] maybe ask for them for free first?
|
73
|
-
|
74
|
-
accept "mplayer_dvd_splits" => ["4749"] [large second integers...hmm...]
|
75
|
-
do open_edl_list_org_todo.txt file
|
76
|
-
@legal: requires DVD 1st, and also tell them "make sure you have the drive in there if you ever watch it edited"
|
77
|
-
@legal: one way is probably legal...
|
78
|
-
create an EDL: 10 commandments DVD to skip the intro music LOL
|
79
|
-
by default add: DVD title, english descriptive title [prompt?]
|
80
|
-
note legal: maybe using DVD-R is sometimes ok? http://www.amazon.com/TRY-Grace-Farah/dp/B001KVZGCA/ref=sr_1_2?ie=UTF8&qid=1304366946&sr=8-2
|
81
|
-
the fake blanker EDL doesn't work if title is off [real fix: add another button "just watch the thing" even for real users?]
|
75
|
+
the fake blanker EDL doesn't work well... [real fix: add another button "just watch the thing" even for real users?]
|
82
76
|
also it propagates the filename with weird, for other later buttons: Test_Delete_File_for_if_you_want_to_watch_something_straight_edited_version
|
83
77
|
donate menumeter $
|
84
|
-
just reference their copy of gplv1 etc.
|
85
|
-
create local new DL's to a separate, new folder
|
86
78
|
that one button is broken...play with [s]mplayer unedited [?]
|
87
79
|
tool tips for all buttons...tweak naming, too :P do something!
|
88
|
-
|
89
|
-
the "play DVD with smplayer unedited" prompts for delete list x2
|
80
|
+
the "play DVD with smplayer unedited" prompts for delete list
|
90
81
|
fix the "play previously credited edited file for current DVD" button
|
91
82
|
vendorize smplayer * 2
|
92
83
|
test if latest smplayer can work with edl and seek [?]
|
93
84
|
be able to use smplayer, never just mplayer [yikes]
|
85
|
+
apparently just using webdl is like r30369 yipers
|
94
86
|
note to previewer "you are about to preview these specific edits..." ?
|
95
|
-
ask for more beta testers for use, ask for more beta testers for creation
|
96
|
-
fast preview: change it to be aggressive sometimes yes, other times no
|
87
|
+
ask for more beta testers for use, ask for more beta testers for creation, too
|
97
88
|
beta release: rinse and repeat with various ppl
|
98
|
-
|
99
|
-
fast preview mode: watch for modifications to file, kill mplayer instances for them on change :)
|
100
|
-
fast preview tends to "go too far" [like the end of profanity is still there when played via the "real way"]
|
89
|
+
switch to using sourceforge solely for hosting releases...
|
101
90
|
youtube videos -> new account name
|
102
|
-
|
103
|
-
|
104
|
-
mplayer EDL while grabbing, from grabbed :P
|
91
|
+
vendorize a copy of ffmpeg, then they don't have to install imagemagick...also then we'll have ffprobe
|
92
|
+
and sanity
|
105
93
|
note "pay us/somebody to do it for you on the google group"?
|
106
94
|
note "this is the full list--your help is wanted/needed"
|
107
|
-
create a semi-accurate phantom edit EDL
|
95
|
+
create a semi-accurate phantom edit EDL
|
96
|
+
http://www.chefelf.com/forums/index.php?showtopic=6176
|
97
|
+
karlie?
|
98
|
+
inventionzy: blu-ray OCR
|
108
99
|
calculating disk's unique id... -> have it note on gui...
|
109
|
-
don't exit program if they don't select a disk originally :)
|
110
|
-
|
100
|
+
don't exit program if they don't select a disk originally :) e.g. if they cancel out of "Please pick a DVD Delete list file"
|
101
|
+
tell them "you can open the file for more specific editing accuracy of timestamps via microsoft Windows Movie Maker" or whatever it is (try it out first :P)
|
102
|
+
7: Windows Live Movie Maker
|
103
|
+
previous: Windows Movie Maker
|
104
|
+
mplayer OSD [optionally [?]]
|
105
|
+
re-run with several owned DVD's
|
106
|
+
another full pass on verbiage legal, etc.
|
107
|
+
port to OS X overall
|
111
108
|
auto-download and run for them the smplayer install exe [avoid scary sourceforge/extra step]
|
109
|
+
delete unedited.fulli file automatically
|
110
|
+
except if it's a specific scene run...
|
111
|
+
investigate: can I use the zoomplayer max?
|
112
|
+
the final "edited.avi" really "could/should" be playable in WMP...
|
113
|
+
|
114
|
+
== other lists ==
|
115
|
+
todo.propaganda
|
116
|
+
todo.inventionzy
|
117
|
+
open_edl_list_org_todo.txt file
|
118
|
+
todo.build_library
|
119
|
+
todo.subtitle
|
112
120
|
|
113
121
|
== DVD decide later to move up or down ==
|
114
122
|
|
115
|
-
|
123
|
+
a wholesome meter?
|
116
124
|
|
117
|
-
== DVD backlog
|
125
|
+
== DVD-realtime backlog [?] do, unordered ==
|
118
126
|
|
127
|
+
for mplayer realtime it needs to start early, but end on time
|
128
|
+
mplayer instructions are obscured
|
129
|
+
mplayer EDL allow
|
130
|
+
got fatal exception in button
|
131
|
+
detected an overlap 1397.51 1401.275 mute 1395.474 1397.874 mute
|
132
|
+
SyntaxError
|
133
|
+
accept "mplayer_dvd_splits" => ["4749"] [large second integers...hmm...]
|
134
|
+
it should clear old smplayer options on startup always, just in case, somehow
|
135
|
+
fast preview: change it to be aggressive sometimes yes, other times no
|
136
|
+
fast preview mode: watch for modifications to file, kill mplayer instances for them on change :)
|
137
|
+
fast preview tends to "go too far" [like the end of profanity is still there when played via the "real way"]
|
138
|
+
mplayer EDL while grabbing, from grabbed :P
|
139
|
+
force them to use my bundled mplayer version (currently it doesn't install to vendor/cache if you have an mplayer in the path, then fails to start mplayer)
|
140
|
+
ideal would be use smplayer with my mplayer
|
141
|
+
note to them [in how_to_create]: can do the two types of preview at same time...concurrently...to save time...
|
142
|
+
can I make playback more smooth by upping mplayer cache? does smplayer pass it a parameter?
|
143
|
+
|
144
|
+
== DVD/DVD-realtime backlog (totally unordered, some very low prio, basically all never do) ==
|
145
|
+
|
146
|
+
fix ffmpeg's Application provided invalid, non monotonically increasing dts to muxer in stream 0: 5940 >= 5940
|
147
|
+
@makemkv: wrong title no:Title #0 was added (7 cell(s), 0:14:58)
|
148
|
+
Title #1 was added (8 cell(s), 0:14:57), also give us title no's in the dialog :P
|
149
|
+
@mencoder: you don't rip DVD's quite right. But you try. Oh how you try.
|
150
|
+
@mpc: easier upconvert
|
151
|
+
@VLC: plugin for EDL maybe? [when opening file/DVD look for .edl file?]
|
152
|
+
blu ray timing
|
153
|
+
my one, others. Are they the same as DVD's? They seem really close...
|
154
|
+
can I accomodate for m4v somehow? Is it consistent?
|
155
|
+
pull in information from thetvdb to the GUI app
|
156
|
+
create the following EDL: 10 commandments DVD to skip the intro music LOL
|
157
|
+
todo.subtitle
|
158
|
+
@VLC you lop off the end, somehow, I guess...
|
159
|
+
make it not die if you have no DVD in there yet when you choose a drive...
|
160
|
+
the "frame accurate" splitter
|
161
|
+
sounds like I want to move in that direction, esp. if handbrake ends up being sane
|
162
|
+
bounty dvdnav (calendar will ping me)
|
163
|
+
@mencoder you lop off the end somehow
|
164
|
+
@VLC convert -> dump raw always displays--expected? also saves nothing?
|
165
|
+
fix dvdnav?
|
166
|
+
research the gplv3, add terms. Maybe want real lawyer, even?
|
167
|
+
note "others are released under this license, that license"
|
168
|
+
note/include jruby license, include gplv1 et al, note "also included locally"
|
169
|
+
check if md5 same mac versus PC for VLC/mplayer rips, VLC done several times/fix too
|
119
170
|
disallow choosing empty drive? fail more gracefully when they do?
|
120
|
-
|
121
|
-
|
122
|
-
sons of provo "music video"
|
123
|
-
finish monsters inc. fella
|
124
|
-
it can "slow certain sections down" that looks cool! :)
|
125
|
-
XP timings with cineplayer [osoh, jonah]
|
171
|
+
sons of provo "music video" EDL
|
172
|
+
it can "slow certain sections down" that might look way cool! LOL
|
126
173
|
how does this one download subtitles? http://www.pcworld.com/article/227465/freebie_splayer_plays_almost_any_video_fileand_looks_good_doing_it.html
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
If I use VLC, does cacheing help CPU/disk grabbing?
|
132
|
-
http://www.howtogeek.com/howto/windows/fix-for-vlc-skipping-and-lagging-playing-high-def-video-files/
|
133
|
-
update VLC forum if so
|
134
|
-
donate to some charity or other!
|
174
|
+
also xbmc has a plugin
|
175
|
+
script powerdvd via keystrokes
|
176
|
+
VLC: suggest uservoice
|
135
177
|
can I just use mencoder with an EDL parameter to possibly split/join more quickly or something?
|
136
|
-
force an install of VLC, too
|
137
|
-
todo.subtitle file
|
138
178
|
10 minute splits for much faster viewage [edl fast preview seems way too lossy ?]
|
139
|
-
make optional though? hmm time for a third type blank but non mute...
|
140
179
|
port to linux
|
141
180
|
"release" it to more developers
|
142
181
|
plug.org, more rubyists?
|
143
182
|
after OS X :)
|
144
|
-
port to OS X overall
|
145
183
|
@VLC also tell them to tell people how to play hi-def better, when they try [?] if it shtinks
|
146
184
|
an all online EDL editor
|
147
185
|
flash canvas
|
@@ -149,12 +187,12 @@
|
|
149
187
|
hotkeys
|
150
188
|
advanced editing, like sub-parts of frames, with each way to specify the sub-parts
|
151
189
|
donate http://lame.buanzo.com.ar
|
152
|
-
donate winscp, sox
|
153
|
-
do todo.inventionzy.txt
|
190
|
+
donate winscp, sox
|
191
|
+
do todo.inventionzy.txt all
|
154
192
|
an "automatic mplayer split finder" :)
|
155
193
|
buy forever strong italian, compare... :P
|
156
194
|
mac version of the C player
|
157
|
-
"just play from X to Y exactly"
|
195
|
+
"just play from X to Y exactly" [?]
|
158
196
|
forever strong DVD timestamps [and other?], compare timestamps with amazon VoD, too, also jonah amazon VoD [if desired?]
|
159
197
|
take out the extra console window box output :) [scary, and closing it closes SC!]
|
160
198
|
auto-feedback on crashes [?]
|
@@ -163,8 +201,6 @@
|
|
163
201
|
accomodate failed deletes [files in use] better than dying with a backtrace
|
164
202
|
vendorize ffmpeg, to avoid "scary" warning on install of imagemagick/scary active x
|
165
203
|
machine learning for video analysis [?]
|
166
|
-
transcribe the audio of movies? crowd source it? whoa!
|
167
|
-
slim down the gem
|
168
204
|
figure out how to auto-crop after grab?
|
169
205
|
figure out some way to work with cable providers/iphones/gphones?
|
170
206
|
@smplayer: why do you sometimes start with subtitles enabled?
|
@@ -172,11 +208,11 @@
|
|
172
208
|
bring in batch file mplayer :)
|
173
209
|
make my website slightly more "pictures-zy"
|
174
210
|
check why out of sync my turn on earth on blacky MPH-HC
|
211
|
+
does it with other players...?
|
175
212
|
super spiffy editor that tracks timestamps for you for new lines
|
176
213
|
create a uservoice/uservoice+
|
177
214
|
note that I might be able to make a half and half player that just "sleeps"...if I can get the timing just right...(is this what mplayer does)
|
178
215
|
don't exit if a timestamps has same beginning as end, but do warn (is this a problem still?)
|
179
|
-
check if the python one lines up or not/ping them on it
|
180
216
|
mpeg is lossy (at least my current one pass conversion still is...) and smplayer can't play it right unedited
|
181
217
|
only if asked?
|
182
218
|
alpha transparent "grey" overlay (for partial parts of the window)
|
@@ -184,57 +220,45 @@
|
|
184
220
|
google android TV app/iTV ?
|
185
221
|
advertise related bounties to their various groups
|
186
222
|
create a really snazzy pro looking website
|
187
|
-
the final "edited.avi" really "could/should" be playable in WMP...
|
188
223
|
can I use ffmpeg to re-sync audio, and be able to re-play the edited copy, and thus avoid the small but extra harddup overhead (basically "just avoid")?
|
189
224
|
I can live with "watching while grabbing" being lack luster...or maybe I can grab it with acodec copy (typically), then reencode it somehow later into something that is friendlier to computer players...or is it encoders?
|
190
225
|
appears the only messed up audio one is smplayer...and probably mplayer with DVD's [?]
|
191
226
|
do this after frame accurate
|
192
|
-
|
193
|
-
better program icon
|
227
|
+
better program exe icon
|
194
228
|
@mplayer: seeking to within EDL failz
|
195
229
|
can make community overlay "comments" somehow or other/whatever cyberlink does :)
|
196
|
-
re-look through all my old "thoughts" notes
|
230
|
+
re-look through all my old "thoughts" notes/blogs
|
197
231
|
mplayer playlist mode possible, like real playlist?
|
198
232
|
add button start EDL playback from dvd here [?] (for create mode)
|
199
233
|
re-play as EDL button for both modes--describe on the how to better
|
200
234
|
fix prio for first ffmpeg instance not being settable [huh?]
|
201
|
-
calculating md5...do this while they choose it [low prio] :)
|
202
|
-
|
203
|
-
@dvd flick: default should not be to loop
|
204
|
-
@dvd flick: use first aspect ratio by default.
|
235
|
+
calculating md5...do this for each disc while they choose it [low prio] :)
|
236
|
+
if the dll fella is too slow, that is, like my current one is :P
|
205
237
|
check if a newer version of smplayer (+- forum links) can replace raw usage of mplayer now?
|
206
|
-
integrate sub-titles-zy-er auto-download
|
207
|
-
|
238
|
+
integrate sub-titles-zy-er auto-download
|
239
|
+
I could integrate discid => hashes => opensubtitles.org
|
240
|
+
http://themoviedb.lighthouseapp.com/projects/17044-themoviedborg/tickets/142
|
241
|
+
their mkv player probably does some lookup 'er other...maybe...for dvd's
|
242
|
+
I really need to tell tvdb to allow for discid, and/or themoviedb to allow for series'
|
243
|
+
@themoviedb: allow for series, also allow for subtitles?
|
208
244
|
@mplayer: some way to not have to use phreaky phreaky pipes in doze ("+1")
|
209
|
-
@ffmpeg: do you get slower the farther into large files you are?
|
210
245
|
@ffmpeg: gop 12 for ntsc-dvd?
|
211
246
|
can watch conference like a music video :)
|
212
|
-
|
213
|
-
md5 and verify the fulli version... [?]
|
214
|
-
only useful once I get the frame accurate stuff done, and any audio tweakage, etc.
|
247
|
+
can play "this section then that, with this one's audio [wow that is fringey]
|
215
248
|
speedify things (the whole process takes approximately...eternity?)
|
216
|
-
show them how to use smplayer with subtitles [video?]
|
217
249
|
can overlay with an arbitrary image
|
218
|
-
@dvd flick: auto-detect the aspect ratio, if possible (?)
|
219
250
|
ffmpeg handle 3F2R audio [sigh] [cars, should work with temple at lavc, too, bob dvd's are dual, I think...hmm...]
|
220
251
|
an 'always blank not skip the mutes' option for paranoid
|
221
|
-
video on how to use imdb
|
222
|
-
if times match all DVD players...
|
252
|
+
video on how to use imdb wiki
|
223
253
|
accomodate alternate endings et al
|
224
254
|
@mplayer you *die* with edl's on many DVD's... ex: on bunny one
|
225
255
|
vendor\cache\mencoder\mplayer dvdnav://2 -nocache -edl C:\Users\packrd\AppData\Local\Temp\mplayer.temp.edl -dvd-device f:\
|
226
|
-
delete fulli file automatically
|
227
|
-
except if it's a specific scene run...
|
228
256
|
.exe installer
|
229
257
|
just unzips, runs the .bat file for them [?] :)
|
230
258
|
full msi
|
231
|
-
ask if you can somehow more easily grab to "mostly the same" exact codec (ffmpeg, mencoder mailing lists) [blog that you can't]
|
232
259
|
add md5 "warning" when something (anything) had failed disc fails doesn't match because of DVD read failure...
|
233
260
|
LLC before I ever pay anyone anything, if I ever do
|
234
261
|
add some or any of the following "play now" options...without a true navigator of course :)
|
235
|
-
visualbasic-like msdvdweb playlist
|
236
|
-
one line at a time :P
|
237
|
-
provide link for cheap DVD decoder if they lack one :)
|
238
262
|
"round conservatively, yes write inaccurate file straight from DVD in pieces" ?
|
239
263
|
then I guess they could play that file back immediately...?
|
240
264
|
get half-way through (rip, start writing edited copy), then start playing back as continuing to write edited full copy (if windows allows...might have to watch it piece-wise)
|
@@ -274,16 +298,20 @@
|
|
274
298
|
@smplayer: right click on DVD...
|
275
299
|
the ac3 thing (I have to specify it...is this necessary? is it always ac3?) [basically, can I copy audio again?]
|
276
300
|
make it so it can have different volume settings, like low volume instead of just always 0
|
277
|
-
DVD's: right click on DVD player, play with SC
|
278
301
|
an auto-check for "newer version available" automagically not...
|
279
|
-
warn when labels both exist
|
280
|
-
|
281
|
-
ISO copy, then scratch out appropriate bits?
|
302
|
+
warn when labels both exist and don't match...
|
282
303
|
|
283
|
-
@
|
304
|
+
@mplayer warn before overwrite
|
305
|
+
@mplayer you cannot convert mkv files correctly you silly!
|
284
306
|
|
285
307
|
== random non-DVD backlog ... or never do DVD. note: just plow forward, to "grab" available ideas...except that for now, just what *I* plan on needing for myself (filters for what I need/want). ==
|
286
308
|
|
309
|
+
@smplayer: bounty or me fix: their for their display [if they use get_time_pos isn't that enough ?]
|
310
|
+
@mplayer is it really too slow [link], and there thus no hope for EDL working right? maybe it could change to be based off the get_time_pos ?
|
311
|
+
Also things skip-worthy include The prefix/endfix of Netflix
|
312
|
+
series' that they run together( ex: Dr. Who has 4 episodes in a row, with 4 jarring
|
313
|
+
main-title themes between them all.) This type of thing
|
314
|
+
|
287
315
|
timing all dogs go to heaven--way off in hulu? huh?
|
288
316
|
some low level frame hijacker for incoming cable movies, too? ... hmm...
|
289
317
|
|
@@ -537,4 +565,4 @@ create a "map" of VLC DVD timings to "real" timings via tracking. Hopefully nev
|
|
537
565
|
if it looks paused I should basically pause my tracking [if it looks nothing, then keep going with my tracking]
|
538
566
|
it fails on "friday" tracks 0:48 as 1:48
|
539
567
|
probably at startup should not start at 0, either, wait for first screen trackage
|
540
|
-
figure out a way to get to the roku [ps3ms?], +- netflix edited to roku LOL
|
568
|
+
figure out a way to get to the roku [ps3ms?], +- netflix edited to roku LOL
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.21.
|
1
|
+
0.21.10
|
data/bin/sensible-cinema
CHANGED
@@ -27,8 +27,8 @@ rescue LoadError
|
|
27
27
|
require 'sane'
|
28
28
|
end
|
29
29
|
|
30
|
-
raise 'need jruby' unless OS.
|
31
|
-
raise 'need newer jruby!' unless RUBY_DESCRIPTION >= 'jruby 1.6.0.RC2'
|
30
|
+
raise 'need jruby' unless OS.java?
|
31
|
+
raise 'need newer jruby!' unless RUBY_DESCRIPTION >= 'jruby 1.6.0.RC2' # may not need this since we still accomodate for so many oddities :P
|
32
32
|
|
33
33
|
require_relative '../lib/mencoder_wrapper'
|
34
34
|
require_relative '../lib/storage'
|
@@ -59,6 +59,8 @@ module SensibleSwing
|
|
59
59
|
VERSION = File.read(File.dirname(__FILE__) + "/../VERSION").strip
|
60
60
|
puts "v. " + VERSION
|
61
61
|
|
62
|
+
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()) # sigh
|
63
|
+
|
62
64
|
class MainWindow < JFrame
|
63
65
|
|
64
66
|
def new_jbutton title, only_on_create_mode, always_add = false
|
@@ -88,8 +90,10 @@ module SensibleSwing
|
|
88
90
|
def initialize
|
89
91
|
super "Sensible-Cinema #{VERSION} (GPL)"
|
90
92
|
if !(Storage['main_license_accepted'] == VERSION)
|
91
|
-
show_blocking_license_accept_dialog 'Sensible Cinema', 'gplv3', 'http://www.gnu.org/licenses/gpl.html', 'Sensible Cinema license agreement',
|
92
|
-
|
93
|
+
show_blocking_license_accept_dialog 'Sensible Cinema', 'gplv3', 'http://www.gnu.org/licenses/gpl.html', 'Sensible Cinema license agreement',
|
94
|
+
'Sensible Cinema is distributed under the gplv3. Click accept if you accept the terms of this license agreement.'
|
95
|
+
show_blocking_license_accept_dialog 'Sensible Cinema', 'is_it_legal_to_copy_dvds.txt file', File.expand_path(File.dirname(__FILE__) + "/../is_it_legal_to_copy_dvds.txt"),
|
96
|
+
'is_it_legal_to_copy_dvds.txt file', 'I acknowledge that I have read, understand, and accept and agree to abide by the implications noted in the is_it_legal_to_copy_dvds.txt file'
|
93
97
|
Storage['main_license_accepted'] = VERSION
|
94
98
|
end
|
95
99
|
|
@@ -129,12 +133,12 @@ module SensibleSwing
|
|
129
133
|
do_copy_dvd_to_hard_drive false
|
130
134
|
}
|
131
135
|
|
132
|
-
@mplayer_edl = new_jbutton( "Watch DVD
|
136
|
+
@mplayer_edl = new_jbutton( "Watch DVD edited (realtime -- mplayer EDL)", false, true )
|
133
137
|
@mplayer_edl.on_clicked {
|
134
138
|
do_mplayer_edl
|
135
139
|
}
|
136
140
|
|
137
|
-
@play_smplayer = new_jbutton( "Watch DVD
|
141
|
+
@play_smplayer = new_jbutton( "Watch DVD unedited (realtime smplayer)", true).on_clicked {
|
138
142
|
play_dvd_smplayer_unedited
|
139
143
|
}
|
140
144
|
|
@@ -226,33 +230,37 @@ module SensibleSwing
|
|
226
230
|
increment_button_location
|
227
231
|
|
228
232
|
setSize @button_width+80, @starting_button_y
|
229
|
-
setIconImage(ImageIcon.new(__dir__ + "/monkey.png").getImage())
|
233
|
+
setIconImage(ImageIcon.new(__dir__ + "/../vendor/monkey.png").getImage())
|
230
234
|
check_for_dependencies
|
231
235
|
end
|
232
236
|
|
233
237
|
def create_brand_new_edl
|
234
238
|
drive, volume, md5 = choose_dvd_drive
|
235
|
-
|
239
|
+
english_name = get_user_input("Enter a human readable DVD description for #{volume}", volume.gsub('_', ' ').downcase)
|
236
240
|
input = <<-EOL
|
237
241
|
# comments can go after a # on any line, for example this one.
|
238
242
|
|
239
243
|
"mutes" => [
|
240
|
-
|
244
|
+
# example line, uncomment the leading "#" to make it active
|
245
|
+
# "0:00:01.0", "0:00:02.0", "profanity", "da..",
|
241
246
|
],
|
242
247
|
|
243
248
|
"blank_outs" => [
|
244
|
-
|
249
|
+
# example line, uncomment the leading "#" to make it active
|
250
|
+
# "00:03:00.0" , "00:04:00.0", "violence", "of some sort",
|
245
251
|
],
|
246
252
|
|
247
|
-
"name" => "#{
|
253
|
+
"name" => "#{english_name}",
|
254
|
+
"volume_name" => "#{volume}",
|
248
255
|
"disk_unique_id" => "#{md5}",
|
249
256
|
|
250
|
-
# "dvd_title_track" => "1", # most DVD's use title 1. Not all do, though. If sensible-cinema plays anything except the main title (for example, a trailer), when you use it, see http://goo.gl/QHLIF to set this
|
257
|
+
# "dvd_title_track" => "1", # most DVD's use title 1. Not all do, though. If sensible-cinema plays anything except the main title (for example, a trailer), when you use it, see http://goo.gl/QHLIF to set this right.
|
251
258
|
# "not edited out stuff" => "some violence",
|
252
|
-
# "closing thoughts" => "still
|
253
|
-
# "mplayer_dvd_splits" => ["59:59", "1:04:59"], # these are where, in mplayer, the DVD timestamp "resets" to zero for
|
259
|
+
# "closing thoughts" => "still...",
|
260
|
+
# "mplayer_dvd_splits" => ["59:59", "1:04:59"], # these are where, in mplayer, the DVD timestamp "resets" to zero for some reason (bug) http://goo.gl/yMfqX . [] is a valid option, if there are none.
|
254
261
|
EOL
|
255
|
-
|
262
|
+
# frame0 is the name of our window LOL tough to avoid that one...
|
263
|
+
filename = EDL_DIR + "\\" + english_name.gsub(' ', '_') + '.txt'
|
256
264
|
filename.downcase!
|
257
265
|
File.write(filename, input) unless File.exist?(filename) # lodo let them choose name (?)
|
258
266
|
open_file_to_edit_it filename
|
@@ -336,8 +344,12 @@ module SensibleSwing
|
|
336
344
|
# oh the insanity of the console UI...LODO more user friendly player
|
337
345
|
@popup ||= NonBlockingDialog.new("About to run mplayer DVD. To control it, use space for pause, f to toggle full screen, arrow keys to seek.")
|
338
346
|
# LODO dry up mplayer dvd opts...
|
339
|
-
play_this_mplayer ||= "mplayer dvd://#{title_track}
|
340
|
-
|
347
|
+
play_this_mplayer ||= "mplayer dvd://#{title_track} "
|
348
|
+
# direct3d for windows 7 nvidia's sake yipes
|
349
|
+
command = "#{play_this_mplayer} -vo direct3d -framedrop -alang en -sid 1000 -edl #{File.expand_path EdlTempFile} -dvd-device #{drive}"
|
350
|
+
# -framedrop for slower systems, once had -nocache, but that's only for dvdnav:// I think
|
351
|
+
# -hardframedrop might help a bit but hurts so much too
|
352
|
+
#dvd:// bcause the bundled mplayer crashes with dvdnav LOL
|
341
353
|
p command
|
342
354
|
Thread.new { system_blocking command; @popup.dispose }
|
343
355
|
end
|
@@ -431,12 +443,13 @@ module SensibleSwing
|
|
431
443
|
end
|
432
444
|
|
433
445
|
def single_edit_list_matches_dvd md5
|
434
|
-
return unless md5 # ignore nil searches, where it wasn't set in the .txt file
|
435
446
|
matching = Dir[EDL_DIR + '/*.txt'].select{|file|
|
436
447
|
begin
|
437
448
|
parse_edl(file)["disk_unique_id"] == md5
|
438
449
|
rescue SyntaxError
|
439
|
-
# ignore poorly formed delete lists for auto choose
|
450
|
+
# ignore poorly formed delete lists for the auto choose
|
451
|
+
p 'warning, unable to parse:' + file
|
452
|
+
false
|
440
453
|
end
|
441
454
|
}
|
442
455
|
if matching.length == 1
|
@@ -464,8 +477,11 @@ module SensibleSwing
|
|
464
477
|
end
|
465
478
|
|
466
479
|
include_class javax.swing.UIManager
|
480
|
+
|
467
481
|
def get_user_input(message, default = '')
|
468
|
-
|
482
|
+
received = JOptionPane.showInputDialog(message, default)
|
483
|
+
raise 'user canceled' unless received
|
484
|
+
received
|
469
485
|
end
|
470
486
|
|
471
487
|
def parse_edl path
|
@@ -542,7 +558,7 @@ module SensibleSwing
|
|
542
558
|
# LODO allow for spaces in the save_to filename
|
543
559
|
if should_prompt_for_start_and_end_times
|
544
560
|
# only show this message once :)
|
545
|
-
@show_block ||= show_blocking_message_dialog("Ok, let's preview just a portion of it. \nNote that you'll want to preview a section that wholly includes a deleted section in it\n For example, if it mutes from second 1 to second 10, you'll want to play from 00:00 to 00:12 or what not.\nAlso note that the first time you preview a section of a video, it will take a long time as it sets up the video for previewing.\nSubsequent previews will be faster, though, as long as you use the same filename.\n
|
561
|
+
@show_block ||= show_blocking_message_dialog("Ok, let's preview just a portion of it. \nNote that you'll want to preview a section that wholly includes a deleted section in it\n For example, if it mutes from second 1 to second 10, you'll want to play from 00:00 to 00:12 or what not.\nAlso note that the first time you preview a section of a video, it will take a long time (like an hour) as it sets up the video for previewing.\nSubsequent previews will be faster, though, as long as you use the same filename.\n
|
546
562
|
Also note that if you change your delete list, you'll need to close, and regenerate the video to see it with your new settings.", "Preview")
|
547
563
|
old_start = Storage['start_time']
|
548
564
|
start_time = get_user_input("At what point in the video would you like to start your preview? (like 01:00 for starting at 1 minute)", Storage['start_time'])
|
@@ -753,8 +769,9 @@ end
|
|
753
769
|
end
|
754
770
|
|
755
771
|
at_exit2 {
|
756
|
-
system("taskkill /f /im mencoder.exe") # todo...
|
757
|
-
system("taskkill /f /im ffmpeg.exe")
|
772
|
+
system("taskkill /f /im mencoder.exe 2>NUL") # todo...is there a cleaner way?
|
773
|
+
system("taskkill /f /im ffmpeg.exe 2>NUL")
|
774
|
+
system("taskkill /f /im mplayer.exe 2>NUL")
|
758
775
|
}
|
759
776
|
|
760
777
|
if $0 == __FILE__
|