sensible-cinema 0.20.5 → 0.21.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/ChangeLog +29 -0
- data/LICENSE.TXT +18 -13
- data/README +84 -51
- data/Rakefile +10 -9
- data/TODO +135 -60
- data/VERSION +1 -1
- data/bin/monkey.png +0 -0
- data/bin/sensible-cinema-cli +8 -3
- data/bin/sensible-cinema.rb +169 -76
- data/development.txt +29 -0
- data/experimental_readme.txt +18 -56
- data/go.bat +5 -2
- data/how_to_create.txt +31 -35
- data/lib/edl_parser.rb +28 -6
- data/lib/mencoder_wrapper.rb +5 -5
- data/lib/ocr.rb +4 -4
- data/lib/overlayer.rb +14 -10
- data/lib/screen_tracker.rb +15 -5
- data/lib/swing_helpers.rb +1 -1
- data/sensible-cinema.gemspec +30 -13
- data/spec/edl_parser.spec.rb +1 -1
- 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/ocr.spec.rb +11 -9
- data/spec/screen_tracker.spec.rb +1 -1
- data/spec/sensible_cinema_gui.spec.rb +9 -8
- data/vendor/SetPriority.exe +0 -0
- data/vendor/readme.txt +120 -0
- data/zamples/edit_decision_lists/dvds/happiest baby on the block.txt +1 -1
- data/zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt +18 -0
- data/zamples/edit_decision_lists/dvds/making_marriage_work.txt +17 -0
- data/zamples/edit_decision_lists/netflix/greatest_story_ever_told_netflix.txt +10 -0
- data/zamples/edit_decision_lists/{example_edit_decision_list.txt → old_not_yet_updated/example_edit_decision_list.txt} +0 -0
- data/zamples/edit_decision_lists/{old_not_yet_update → old_not_yet_updated}/youtube/gummy_bear_song_youtube.txt +0 -0
- data/zamples/edit_decision_lists/{old_not_yet_update → old_not_yet_updated}/youtube/nuki_song_youtube.txt +0 -0
- data/zamples/players/netflix/netflix_firefox_non_maximized.txt +25 -0
- metadata +39 -44
data/ChangeLog
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
== 0.21.3 ==
|
|
2
|
+
|
|
3
|
+
Fix installation mistake.
|
|
4
|
+
Add a "netflix instant" descriptor. Seems to work well on firefox on windows.
|
|
5
|
+
|
|
6
|
+
Note also that anything you can view on your computer you can view precisely the same,
|
|
7
|
+
and with audio, by capturing and "beaming" the screen (like playon.tv does) to your
|
|
8
|
+
console or to another computer. See also VLC, which can stream arbitrary streams,
|
|
9
|
+
including the current system screen, and the current system sound, if you pass it
|
|
10
|
+
the right directshow parameters.
|
|
11
|
+
|
|
12
|
+
You could also use a projector to project anything you see on your computer.
|
|
13
|
+
|
|
14
|
+
Note also that with the previous code (screen tracker), it already had the capability to do
|
|
15
|
+
"mutes" and "blank out overlays" simultaneously, for quite a few releases.
|
|
16
|
+
|
|
17
|
+
== 0.21.2 ==
|
|
18
|
+
|
|
19
|
+
Make fast preview faster, some minor cleanups.
|
|
20
|
+
|
|
21
|
+
== 0.21.1 ==
|
|
22
|
+
|
|
23
|
+
Set lower priority for processes better.
|
|
24
|
+
|
|
25
|
+
== 0.20.5 ==
|
|
26
|
+
|
|
27
|
+
Now allow for editing using EDL mode only.
|
|
28
|
+
Also lower the priority for [most] processes during create time.
|
|
29
|
+
|
|
1
30
|
== 0.20.3 ==
|
|
2
31
|
|
|
3
32
|
Minor aesthetics, also it works now with mplayer EDL mode.
|
data/LICENSE.TXT
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
All files (c) Roger Pack 2010
|
|
2
|
-
All files
|
|
3
|
-
The edit lists are CC license, like wikipedia.
|
|
2
|
+
All files released under the GPLv3 license [1] unless otherwise specified. Ping me if you want/need this changed at all.
|
|
4
3
|
|
|
5
|
-
|
|
4
|
+
The edit lists, however are public domain.
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
Note: may call out to some 3rd party libraries/executables under their own (separate, open source) licenses.
|
|
7
|
+
|
|
8
|
+
So...is this legal?
|
|
8
9
|
|
|
9
10
|
Unclear. In general ripping personal DVD's is legal.
|
|
10
|
-
And making "backup copies" of commercial DVD's (I think--I'm no laywer) may fall under fair use.
|
|
11
|
+
And making "backup copies" of commercial DVD's (I think--I'm no laywer) may fall under fair use [3] .
|
|
12
|
+
|
|
11
13
|
It is controversial to use open source software to play/rip commercial DVD's.
|
|
12
14
|
There are a few conflicting views.
|
|
13
15
|
Sensible-cinema doesn't actually do any decryption or decoding, nor has any knowledge of it.
|
|
14
16
|
It doesn't even have knowledge
|
|
15
17
|
as to whether the DVD being ripped is encrypted or not. We don't distribute sensible-cinema with
|
|
16
|
-
the ripping program, either (the user must install it later).
|
|
18
|
+
the ripping program, or any ripping codes, either (the user must install it later after being prompted).
|
|
17
19
|
You can ask the authors of that program if it is legal. Apparently
|
|
18
20
|
libdvdcss (which the other programs that it calls out to use) has never been legally challenged in court (or so they say),
|
|
19
21
|
and uses a slightly different algorithm than those that have, so the jury's out.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
Also since we only call out to another (separate) executable, we're as legal as audacity calling out to winlame.dll for its
|
|
23
|
+
mp3 conversions, or perhaps similar to Handbrake calling out to VLC Media Player. Use only after knowing the risk.
|
|
24
|
+
Using sensible-cinema is also might not be more unethical than ripping your DVD collection to your hard
|
|
25
|
+
drive so you can "keep your DVD's all in one place" or what not (which might be fair use), since it
|
|
26
|
+
basically saves away the original with sections removed. Only original content is saved.
|
|
22
27
|
It's about the same as using VLC media player to watch a DVD, which also uses libdvdcss.
|
|
23
28
|
Also note that if you watch an edited DVD in a commercial DVD player, your are using a DVD player that conforms
|
|
24
29
|
with encryption specifications, so that might have some sway.
|
|
@@ -32,16 +37,15 @@ regarding its use themselves, since they re-distribute no edited media,
|
|
|
32
37
|
nor distribute cracking codes. Check your country's rules first.
|
|
33
38
|
If it's illegal, don't use it!
|
|
34
39
|
|
|
35
|
-
Note: do not redistribute/re-sell edited DVD's. We have learned
|
|
36
|
-
redistributing edited commercial DVD's is against copyright in the US. We hope that sensible-cinema
|
|
40
|
+
Note: for sure do not redistribute/re-sell edited DVD's. We have learned from clean flicks that
|
|
41
|
+
redistributing (well at least renting/selling) edited commercial DVD's is against copyright in the US. We hope that sensible-cinema
|
|
37
42
|
is more legal, since you can get the DVD's from wherever you want, and keep the original.
|
|
38
43
|
Please don't redistribute. If creating copies of commercial DVD's is illegal
|
|
39
44
|
in your country, then don't do it! Use the "watch in realtime" option.
|
|
40
|
-
|
|
41
45
|
DO NOT MAKE ILLEGAL COPIES.
|
|
42
46
|
|
|
43
47
|
In terms of copyright, it could be legal under the The Family Home Movie Act of 2005,
|
|
44
|
-
at least in the United States, when viewed using the "playlist" option (v 0.10'ish,
|
|
48
|
+
at least in the United States, when viewed using the "playlist" option (v 0.10'ish, later removed--used VLC), or the "realtime" option (0.18.0'ish +, using mplayer).
|
|
45
49
|
In general, if I have the original DVD sitting next to my TV, I don't feel bad about watching
|
|
46
50
|
its edited copy, but please consult a laywer first if you have any concerns.
|
|
47
51
|
|
|
@@ -69,4 +73,5 @@ USING THIS SOFTWARE MIGHT BE ILLEGAL IN SOME COUNTRIES
|
|
|
69
73
|
Please check with your legal advisor, and if this is the case in your country, you are NOT licensed to use this freeware.
|
|
70
74
|
|
|
71
75
|
[1] http://www.gnu.org/licenses/gpl.html, also gplv3 file.
|
|
72
|
-
[2] http://www.videolan.org/support/faq.html
|
|
76
|
+
[2] http://www.videolan.org/support/faq.html
|
|
77
|
+
[3] http://www.macworld.com/article/150731/2010/04/dvdripping_faqs.html
|
data/README
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Sensible-cinema (also known to us as "paranoid cinema" [our own inside joke ha ha])
|
|
1
|
+
Sensible-cinema (also known to us as "paranoid cinema" [our own inside joke ha ha]) allows you to apply
|
|
2
2
|
pre-programmed delete lists (e.g. Edit Decision Lists [2]) to DVD's you already own.
|
|
3
3
|
|
|
4
4
|
I.e. you can play or edit a DVD to "mute out" or skip certain scenes.
|
|
@@ -7,12 +7,12 @@ This allows you to sit back and relax as you watch a more "sensiblized" showing
|
|
|
7
7
|
|
|
8
8
|
To use it, basically install it, insert an original DVD that you want to see edited, then run sensible cinema.
|
|
9
9
|
It will pop up some windows where you choose what to do.
|
|
10
|
+
|
|
10
11
|
You can either watch it edited, or created an edited version of the DVD, on your hard drive.
|
|
11
|
-
You could burn that edited file to a new DVD, if you desire and have a DVD burner on your computer.
|
|
12
|
+
You could also burn that edited file to a new DVD, if you desire and have a DVD burner on your computer.
|
|
12
13
|
|
|
13
14
|
How? Sensible is essentially a linear editor [1] that applies Edit Decision Lists [2] to videos, by wrapping
|
|
14
|
-
a few freely available open source programs [3]
|
|
15
|
-
to accomplish the editing for you.
|
|
15
|
+
a few freely available open source programs [3] to accomplish the editing for you.
|
|
16
16
|
|
|
17
17
|
Note that the whole process can at times take hours, so budget some time for it.
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ Also note that just because a video lacks profanity...does not immediately make
|
|
|
20
20
|
I'd suggest carefully evaluating your motives, and going with those.
|
|
21
21
|
Sensible cinema does not a clean movie make of a dirty one. Don't watch it if it's not wholesome! Be nice to yourself!
|
|
22
22
|
dove.org is a good reference for discovering the "uplifting" level of movies [4]. And of course sensible cinema does help
|
|
23
|
-
a little bit.
|
|
23
|
+
a little bit with that, too.
|
|
24
24
|
Also note that even if you have an edited copy of a DVD floating around, if you have kids, chances are they
|
|
25
25
|
will eventually find (and watch) the unedited originals, so be careful there, and do what is needful.
|
|
26
26
|
|
|
@@ -28,16 +28,14 @@ Enjoy your movies!
|
|
|
28
28
|
|
|
29
29
|
[1] http://en.wikipedia.org/wiki/Linear_video_editing
|
|
30
30
|
[2] http://en.wikipedia.org/wiki/Edit_decision_list
|
|
31
|
-
[3] mostly GPL programs, see http://www.gnu.org/licenses/ VLC Media Player, Mplayer/mencoder, ffmpeg,
|
|
31
|
+
[3] mostly GPL programs, see http://www.gnu.org/licenses/ VLC Media Player, Mplayer/mencoder, ffmpeg, et al.
|
|
32
32
|
[4] http://lds.org/library/display/0,4945,161-1-11-1,00.html search for the word "wholesome"
|
|
33
33
|
|
|
34
34
|
== Installation ==
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
then unzip it (right click -> Extract all)
|
|
38
|
-
then "click into it" and search for and run the file "run sensible cinema.bat"
|
|
36
|
+
Instructions available here: http://rogerdpack.t28.net/sensible-cinema/
|
|
39
37
|
|
|
40
|
-
== Creating Your Own Delete Lists, or modifying previously existing ones ==
|
|
38
|
+
== Creating Your Own Delete Lists, or modifying the previously existing ones ==
|
|
41
39
|
|
|
42
40
|
See the accompanied how_to_create.txt file.
|
|
43
41
|
|
|
@@ -50,16 +48,19 @@ A. You could burn a new DVD with it. First create it on your hard drive. Then
|
|
|
50
48
|
For OS X : iDVD might work well.
|
|
51
49
|
You might be able to move your laptop over to near your TV and hook it in from there.
|
|
52
50
|
Or buy a very long cord and plug it in as an extra monitor from your desktop.
|
|
51
|
+
You could buy a projector, attach it to your computer as a display, and then use that to display the video.
|
|
53
52
|
If you're interested in also being able to "beam" it from your computer to your game console (ex: PS3) ping me--I might have
|
|
54
|
-
something in mind that could help, though hasn't been created yet.
|
|
53
|
+
something in mind that could help, though hasn't been created yet. (Playon.tv does something like this, too, but
|
|
54
|
+
I might come up with a competitor to it if the same is desired).
|
|
55
|
+
If you're really good you could try VGA over an Ethernet cable, too: http://ps3mediaserver.org/forum/viewtopic.php?f=6&t=5731#p34279
|
|
55
56
|
|
|
56
57
|
Q. I want to give an edited DVD to a friend, how do I do that?
|
|
57
|
-
A. Probably give them the original DVD and a link to sensible-cinema :)
|
|
58
|
-
You may want to loan them a DVD burner if they don't have one.
|
|
58
|
+
A. Probably give them the original DVD and email them a link to download and play it using sensible-cinema :)
|
|
59
|
+
You may want to loan them a DVD burner if they don't have one and want one, too.
|
|
59
60
|
|
|
60
61
|
== Caveats ==
|
|
61
62
|
|
|
62
|
-
NB that "someone" has to create a delete list, per DVD.
|
|
63
|
+
NB that "someone" has to first create a delete list, per DVD.
|
|
63
64
|
If one doesn't yet exist for the DVD you want edited,
|
|
64
65
|
you could employ somebody to create it, or create it yourself. Make sure to submit it
|
|
65
66
|
back to us when you're done, so that everyone can benefit from it.
|
|
@@ -70,63 +71,78 @@ Also note that if your DVD has scratches that cause it to skip, the time signatu
|
|
|
70
71
|
== Motivation ==
|
|
71
72
|
|
|
72
73
|
The initial motivation for the project was that I dislike deity profanity in movies.
|
|
73
|
-
And
|
|
74
|
-
|
|
75
|
-
Also sometimes only certain scenes in movies
|
|
76
|
-
and I'd rather not watch a movie that has them.
|
|
74
|
+
And really any profanity is jarring, if you're not used to it in real life, and can
|
|
75
|
+
put you a bit on edge when you watch a movie.
|
|
76
|
+
Also sometimes only certain scenes (read sex scenes) in movies are offensive to me,
|
|
77
|
+
and don't contribute to the overall plot, and I'd rather not watch a movie that has them.
|
|
78
|
+
But I still want to be able to watch movies at all :)
|
|
79
|
+
|
|
77
80
|
I tried Clearplay (a realtime filtering DVD player)
|
|
78
|
-
but (for me) it didn't seem to cut it. It costs money (I'm too cheap to pay--and many
|
|
79
|
-
many other people don't
|
|
81
|
+
but (for me) it didn't seem to cut it. It costs money monthly (I'm too cheap to pay--and many
|
|
82
|
+
many other people don't use it because of that...). Their
|
|
80
83
|
filters sometimes don't cut out all unwanted content (ex: Saints and
|
|
81
|
-
Soldiers left profanity in
|
|
82
|
-
|
|
83
|
-
are slightly
|
|
84
|
-
|
|
85
|
-
confusing subscription policy,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
They
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
84
|
+
Soldiers left profanity in...which wasn't what I had
|
|
85
|
+
expected). Others have noted that sometimes their edit timings (or perhaps DVD players)
|
|
86
|
+
are slightly mismatched so that it will mute sections just previous to profanity, while
|
|
87
|
+
not muting the profanity itself. Clearplay apparently also runs a rather
|
|
88
|
+
confusing subscription policy, I'm told [1], as well as selling DVD players that
|
|
89
|
+
seem to be a bit lackluster at times [2].
|
|
90
|
+
Clearplay also has little community collaboration/review (though you can email them feedback).
|
|
91
|
+
They no longer seem to have a "request a filter" option, though they used to.
|
|
92
|
+
They also don't have filters for all movies that I, at times, would like to watch edited (Condorman and Tron
|
|
93
|
+
lacking last time I checked...probably because they are too
|
|
94
|
+
obscure.) Also, some people watch movies only on computer, and they
|
|
95
|
+
no longer have a computer player, only DVD players. They also don't edit streamed
|
|
92
96
|
online movies either (last time I checked, anyway). So overall I
|
|
93
97
|
wanted to build my own that overcame some of these hurdles and was
|
|
94
|
-
also more accessible/open.
|
|
98
|
+
also more accessible/open/cheap.
|
|
99
|
+
I also emailed them once (2003?) to inform them I'd be making an open source
|
|
100
|
+
equivalent, and haven't heard back from them, which I assume to mean implicitly
|
|
101
|
+
they're all for the idea :)
|
|
95
102
|
|
|
96
103
|
I also wanted to get a prototype out there of some of my ideas so that
|
|
97
|
-
others can't patent them and pretend that they were inventors :)
|
|
104
|
+
others can't patent them and pretend that they were first inventors :)
|
|
98
105
|
|
|
99
106
|
So originally the project started off as a prototype that could "watch hulu (online) and netflix instant movies
|
|
100
|
-
edited" (it uses screen
|
|
101
|
-
timestamp,
|
|
102
|
-
However, this functionality, though working, is disabled for patent
|
|
103
|
-
|
|
104
|
-
Some older released versions had it enabled, but not
|
|
107
|
+
edited" (it uses/used screen snap-shotting and track, using OCR, the on-screen
|
|
108
|
+
timestamp of the player, monitor it for specific times, and react appropriately).
|
|
109
|
+
However, this functionality, though working, is disabled currently for patent
|
|
110
|
+
concerns.
|
|
111
|
+
Some older released versions had it enabled, but not latest releases.
|
|
105
112
|
Then I realized I could basically create the same effect using
|
|
106
|
-
(more patent friendly) pre-processing and deletion lists (basically
|
|
113
|
+
(more patent friendly) pre-processing and/or deletion lists (basically
|
|
107
114
|
Edit Decision Lists enforced using playlists for
|
|
108
115
|
VLC, like play from second x to y, then from x to mu, etc.).
|
|
109
|
-
I just pass in a playlist, it does all the work for me.
|
|
110
|
-
There are a few released versions that
|
|
116
|
+
I just pass in a playlist, it does all the work for me, without real-time tracking.
|
|
117
|
+
There are a few released versions that did this.
|
|
111
118
|
Then it occurred to me that you could grab the several clean segments
|
|
112
119
|
off a DVD, and piece them together to create an edited copy. This avoids
|
|
113
120
|
realtime tracking. This seems reasonably patent friendly, so it is
|
|
114
121
|
what I release here.
|
|
122
|
+
I also added mplayer functionality later, which does real-time tracking, as well.
|
|
123
|
+
The playlist option is currently disabled, as it was deemed too user-non-friendly.
|
|
115
124
|
|
|
116
|
-
See also the LICENSE.TXT file.
|
|
125
|
+
See also the LICENSE.TXT file for more legal information.
|
|
117
126
|
|
|
118
|
-
[1] http://www.amazon.com/
|
|
127
|
+
[1] http://www.amazon.com/gp/product/B002YPRW7S/ref=cm_rdp_product
|
|
128
|
+
"...I agree that it is not made clear on their website that if you don't continue your membership, you can't continue
|
|
129
|
+
to use the [previously downloaded] filters"
|
|
119
130
|
|
|
131
|
+
[2] http://deseretbook.com/ClearPlay-HDMI-DVD-Player-30-Day-Trial-Membership/i/5038491
|
|
132
|
+
"We bought a clearplay player about 2 years ago. It worked great, until it just stopped working. I called their support line,
|
|
133
|
+
and they told us the model we got was defective, and that the new one was much better and we could get it at a discount, but
|
|
134
|
+
the next one just died also."
|
|
135
|
+
|
|
120
136
|
== License ==
|
|
121
137
|
|
|
122
|
-
See the included LICENSE file for licensing and usage terms (basically it's under gplv3 for all the source).
|
|
138
|
+
See the included LICENSE.TXT file for licensing and usage terms (basically it's under gplv3 for all the source).
|
|
123
139
|
Some other programs are (distributed separately and) used by this one, typically they are under the gplv2 license.
|
|
124
140
|
|
|
125
141
|
All files (c) 2010 Roger Pack
|
|
126
142
|
|
|
127
143
|
== Related ==
|
|
128
144
|
|
|
129
|
-
The concept isn't too novel. Some other previously existing examples:
|
|
145
|
+
The concept isn't too novel. Some other previously existing related type examples:
|
|
130
146
|
|
|
131
147
|
Edited "airplane edit" style movies.
|
|
132
148
|
Commercial TV (ABC, NBC) show their own (edited) movies.
|
|
@@ -151,7 +167,7 @@ http://forums.gbpvr.com/showthread.php?10606-Automated-Cutting-and-Transcoding-G
|
|
|
151
167
|
http://www.imdb.com/swiki/special?ParentalGuideHelp (search for "scene description")
|
|
152
168
|
http://www.mythtv.org/wiki/Removing_Commercials
|
|
153
169
|
Using the remote control with the pause, mute, stop, fast forward, and play buttons, along with previous knowledge of scene locations
|
|
154
|
-
The scissors and old VHS tapes (Clean Flicks' origin, if I remember correctly).
|
|
170
|
+
The scissors and old VHS tapes (Clean Flicks' origin, if I remember correctly). http://www.familysafemedia.com/home_movie_editor.html
|
|
155
171
|
Windows Movie Maker. Allows for users to cut and copy scenes of movies to their heart's content.
|
|
156
172
|
http://forum.videolan.org/viewtopic.php?f=7&t=56998 VLC Media Player using EDL's via playlists
|
|
157
173
|
Corel WinDVD has "Quick Clip" settings for capturing from DVD.
|
|
@@ -181,12 +197,29 @@ If you don't know what this means then you're probably ok and don't have to worr
|
|
|
181
197
|
"DVDNAV stream read error!"
|
|
182
198
|
this typically means a dirty or scratched DVD.
|
|
183
199
|
|
|
184
|
-
|
|
200
|
+
You try to play back a sensible cinema-ized video file and it plays back without
|
|
201
|
+
audio or video (example: windows media player)?
|
|
202
|
+
|
|
203
|
+
This probably means you're using windows media player, and don't have "codecs" installed
|
|
204
|
+
to handle this type of video. Not to fear, just download the "ffdshow tryouts"
|
|
205
|
+
and, when it gives you the option, be sure to check "mpeg2 video" and then
|
|
206
|
+
it should "just work." You could also play the file in VLC Media Player or smplayer
|
|
207
|
+
(there's a button for that).
|
|
208
|
+
|
|
209
|
+
== Thanks ==
|
|
185
210
|
|
|
186
|
-
|
|
211
|
+
Thanks to Jarmo for the win32-screenshot gem, mini_magick gem authors, jruby guys, etc.
|
|
212
|
+
The combination of these tools made programming this actually something of a pleasure.
|
|
213
|
+
|
|
214
|
+
== Feedback/Development ==
|
|
215
|
+
|
|
216
|
+
Feedback, including feature requests, comments, etc. welcome:
|
|
217
|
+
|
|
218
|
+
(for example it's windows only currently--if you want that changed, send an email, etc.):
|
|
187
219
|
|
|
188
220
|
Mailing List: http://groups.google.com/group/sensible-cinema
|
|
189
221
|
|
|
190
|
-
If you're a developer and want to help out with programmming
|
|
191
|
-
|
|
192
|
-
|
|
222
|
+
If you're a developer and want to help out with programmming or look and feel, etc., please do!
|
|
223
|
+
See development.txt
|
|
224
|
+
|
|
225
|
+
You can see a full list of features from the various releases in the file ChangeLog.txt
|
data/Rakefile
CHANGED
|
@@ -7,12 +7,12 @@ Jeweler::Tasks.new do |s|
|
|
|
7
7
|
s.homepage = "http://github.com/rdp"
|
|
8
8
|
s.authors = ["Roger Pack"]
|
|
9
9
|
s.add_dependency 'sane', '>= 0.22.0'
|
|
10
|
-
s.add_dependency 'rdp-win32screenshot', '>= 0.0.
|
|
10
|
+
s.add_dependency 'rdp-win32screenshot', '>= 0.0.8'
|
|
11
11
|
s.add_dependency 'mini_magick', '>= 3.1' # for ocr...
|
|
12
12
|
s.add_dependency 'whichr', '>= 0.3.6'
|
|
13
13
|
s.add_dependency 'jruby-win32ole'
|
|
14
14
|
s.add_dependency 'rdp-ruby-wmi'
|
|
15
|
-
s.add_dependency 'ffi' # mouse, etc.
|
|
15
|
+
s.add_dependency 'ffi' # mouse, etc. needed at least for MRI
|
|
16
16
|
s.add_development_dependency 'rspec' # prefer rspec 2 I guess...
|
|
17
17
|
s.add_development_dependency 'jeweler'
|
|
18
18
|
s.add_development_dependency 'hitimes' # now jruby compat!
|
|
@@ -66,7 +66,7 @@ task 'bundle_dependencies' => 'gemspec' do
|
|
|
66
66
|
Dir['vendor/cache/*'].each{|f|
|
|
67
67
|
unless f =~ /jruby.*jar/ # that one takes too long to download...
|
|
68
68
|
FileUtils.rm_rf f
|
|
69
|
-
raise 'unable to delete ' + f if File.exist?(f)
|
|
69
|
+
raise 'unable to delete: ' + f if File.exist?(f)
|
|
70
70
|
end
|
|
71
71
|
}
|
|
72
72
|
FileUtils.mkdir_p 'vendor/cache'
|
|
@@ -75,7 +75,6 @@ task 'bundle_dependencies' => 'gemspec' do
|
|
|
75
75
|
system("#{Gem.ruby} -S gem unpack #{d.name}")
|
|
76
76
|
}
|
|
77
77
|
to_here = "jruby-complete-1.5.5.jar"
|
|
78
|
-
p 'do you need to delete your old jruby complete...do you?'
|
|
79
78
|
unless File.exist? to_here
|
|
80
79
|
url = "/downloads/1.6.0.RC1/jruby-complete-1.6.0.RC1.jar"
|
|
81
80
|
puts 'downloading in jruby-complete.jar file ' + url
|
|
@@ -103,7 +102,7 @@ task 'create_distro_dir' do
|
|
|
103
102
|
spec = eval File.read('sensible-cinema.gemspec')
|
|
104
103
|
dir_out = spec.name + "-" + spec.version.version + '/sensible-cinema'
|
|
105
104
|
FileUtils.rm_rf Dir['sensible-cinema-*'] # remove old versions
|
|
106
|
-
raise 'unable to delete' if Dir[spec.name + '-*'].length > 0
|
|
105
|
+
raise 'unable to delete zip' if Dir[spec.name + '-*'].length > 0
|
|
107
106
|
|
|
108
107
|
existing = Dir['*']
|
|
109
108
|
FileUtils.mkdir_p dir_out
|
|
@@ -126,11 +125,13 @@ task 'deploy' do
|
|
|
126
125
|
p 'copying in'
|
|
127
126
|
raise unless system("scp #{name} rdp@ilab1.cs.byu.edu:~/incoming")
|
|
128
127
|
p 'copying over'
|
|
129
|
-
raise unless system("ssh rdp@ilab1.cs.byu.edu \"scp ~/incoming/#{name} wilkboar@freemusicformormons.com:~/www/rogerdpackt28/sensible-cinema\"")
|
|
128
|
+
raise unless system("ssh rdp@ilab1.cs.byu.edu \"scp ~/incoming/#{name} wilkboar@freemusicformormons.com:~/www/rogerdpackt28/sensible-cinema/releases\"")
|
|
130
129
|
end
|
|
131
130
|
|
|
132
131
|
desc 'j -S rake bundle_dependencies create_distro_dir ... (releases with clean cache dir, which we need now)'
|
|
133
132
|
task 'full_release' => [:bundle_dependencies, :create_distro_dir, :build] do # :release sigh
|
|
133
|
+
raise unless system("git pull")
|
|
134
|
+
raise unless system("git push origin master")
|
|
134
135
|
system("cp -r vendor/cache ../cache.bak")
|
|
135
136
|
gems = Dir['pkg/*.gem']
|
|
136
137
|
gems[0..-2].each{|f| File.delete f} # kill old versions...
|
|
@@ -138,8 +139,8 @@ task 'full_release' => [:bundle_dependencies, :create_distro_dir, :build] do # :
|
|
|
138
139
|
FileUtils.rm_rf 'pkg'
|
|
139
140
|
Rake::Task["zip"].execute
|
|
140
141
|
Rake::Task["deploy"].execute
|
|
141
|
-
system("
|
|
142
|
-
|
|
142
|
+
system(c = "cp -r ../cache.bak/* vendor/cache")
|
|
143
|
+
p 'ran', c
|
|
143
144
|
|
|
144
|
-
puts "don't forget to blog about it...
|
|
145
|
+
puts "don't forget to blog about it...UPDATE THE LINK"
|
|
145
146
|
end
|
data/TODO
CHANGED
|
@@ -1,69 +1,137 @@
|
|
|
1
|
-
==
|
|
1
|
+
== high prio like blocking bugs ==
|
|
2
2
|
|
|
3
3
|
== up next release ==
|
|
4
4
|
|
|
5
|
+
a single netflix descriptor
|
|
6
|
+
post demo of it doing netflix (just screencast local computer)
|
|
7
|
+
|
|
8
|
+
== slightly lower than that, only somewhat ordered ==
|
|
9
|
+
|
|
10
|
+
can have the mouse jerk "only every so often"
|
|
11
|
+
use DVD navigator?
|
|
12
|
+
wow terrifying
|
|
13
|
+
http://msdn.microsoft.com/en-us/library/dd388584(v=VS.85).aspx
|
|
14
|
+
http://msdn.microsoft.com/en-us/library/ms787412(VS.85).aspx
|
|
15
|
+
is there a dshow c++ demo? PlayPeriodInTitleAutoStop EC_DVD_PLAYPERIOD_AUTOSTOP
|
|
16
|
+
blu-ray descriptor
|
|
17
|
+
infer from url for netflix
|
|
18
|
+
post some playon.tv demo screencast..this should prove all shouldn't it [?]
|
|
19
|
+
|
|
20
|
+
post a demo of it playing back blu-ray edited, local computer, projector
|
|
21
|
+
does blu-ray work with my C++ project?
|
|
22
|
+
post a demo of it playing back via streaming to another computer, +- only streaming a particular region of the screen
|
|
5
23
|
edl straight DVD replay:
|
|
6
|
-
work cars
|
|
24
|
+
work cars, monsters inc
|
|
7
25
|
clear runnings
|
|
8
|
-
have ben and chris test it out
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
change it to be aggressive sometimes yes, other times no
|
|
19
|
-
note: can make several different versions, with different filenames, and should rewatch the film after finalizing it (edited), like "grab to hard drive" and have a friend watch it, if desired.
|
|
26
|
+
have ben and chris test it out, then ask about quality
|
|
27
|
+
make it so it can suck in from "another wiki" the DL's, at package time
|
|
28
|
+
check if the python one lines up or not/ping them
|
|
29
|
+
port to linux
|
|
30
|
+
add a "play edited file for current DVD" button
|
|
31
|
+
fix "play DVD unedited" button
|
|
32
|
+
vendor smplayer * 2
|
|
33
|
+
test if latest smplayer can work with edl and seek [?]
|
|
34
|
+
"release" it to developers
|
|
35
|
+
plug.org, more rubyists?
|
|
20
36
|
note to previewer "you are about to preview these edits"
|
|
21
|
-
note you can use fast preview with the other going in the background
|
|
22
|
-
add "revision"...
|
|
23
|
-
the "edited.avi" *must* be playable in WMP
|
|
24
|
-
don't exit program if they don't select a disk :)
|
|
25
|
-
if they type in a "new" start time, use that as the default end time input too
|
|
26
|
-
linearize edl's
|
|
27
|
-
don't use them linear, just linearize
|
|
28
|
-
mpeg is lossy (at least my current one pass conversion still is...) and smplayer can't play it right unedited
|
|
29
|
-
frame accurate splitter naive
|
|
30
|
-
vendorize ffmpeg
|
|
31
37
|
more DL's
|
|
32
|
-
my dvd's (loose timestamps...)
|
|
38
|
+
my dvd's (with loose timestamps...)
|
|
33
39
|
cars backport real EDL :)
|
|
34
40
|
enlist chris' help
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
partner for filters (Jon, Karlie if interested...give beta)
|
|
41
|
+
friend dvd's, me create Delete List [?]
|
|
42
|
+
partner for filters (Jon, Karlie [any family interested], and for beta-testing)
|
|
38
43
|
all only after linearize, new year, frame accurate
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
gherkin'ize
|
|
45
|
+
after I do my own DVD's
|
|
46
|
+
ask for more beta testers for use, ask for more beta testers for creation
|
|
47
|
+
facebook? lds lists?
|
|
48
|
+
mpeg is lossy (at least my current one pass conversion still is...) and smplayer can't play it right unedited
|
|
49
|
+
frame accurate splitter naive
|
|
50
|
+
fast preview: change it to be aggressive sometimes yes, other times no
|
|
51
|
+
10 minute splits for much faster viewage [edl fast preview seems way too lossy ?]
|
|
52
|
+
beta release: rinse and repeat with various ppl
|
|
53
|
+
make website more "pictures-zy"/professional
|
|
54
|
+
own really long url movie bad scene skipper sensible cinema.t28.net add in there content editor or something lots of google SEO happy words
|
|
55
|
+
actually, just use sourceforge for hosting...
|
|
56
|
+
compare various computer DVD timings with physical player's timings...
|
|
50
57
|
propaganda-ize
|
|
58
|
+
advertise in LDS newsgroups et al, for beta testers?
|
|
51
59
|
advertise in christian places
|
|
52
60
|
blogs that have ever mentioned clearplay :P
|
|
53
61
|
free google adwords (?)
|
|
54
|
-
advertise
|
|
62
|
+
advertise ruby flow
|
|
55
63
|
only after new year, new LLC
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
http://ldscinema.blogspot.com/
|
|
65
|
+
advertise facebook (at least their page :) [?]
|
|
66
|
+
fast preview mode: look for modifications to file, kill mplayer instances for them :)
|
|
67
|
+
fast preview tends to "go too far" [like the end of profanity is still there when played via the "real way"]
|
|
68
|
+
better "how to create" file, rename
|
|
69
|
+
a button for "just play a dvd unedited" for normal users
|
|
70
|
+
fantom edit DL
|
|
71
|
+
an editor that can track and overlay...use OCR! :)
|
|
72
|
+
youtube videos -> new account
|
|
73
|
+
post demo of it selecting categories.
|
|
62
74
|
|
|
63
|
-
== DVD backlog (unordered, some very low prio, basically all never do) ==
|
|
64
|
-
|
|
75
|
+
== DVD backlog (totally unordered, some very low prio, basically all never do) ==
|
|
76
|
+
|
|
77
|
+
move template .bat's to a template folder
|
|
78
|
+
have them use a real version of jruby.jar (the right er version)
|
|
79
|
+
use wget to download [newer version of] jruby, then can use RC2+ then can rename bin's
|
|
80
|
+
more from that guy, here or there
|
|
81
|
+
force categories to match [?]
|
|
82
|
+
K-Lite Standard codec pack might allow for DVD playback free [?]
|
|
83
|
+
post a demo of it streaming to a console device
|
|
84
|
+
a fully javascript version...hmm...maybe an applet overlay [post 2020 ?]
|
|
85
|
+
alpha transparent "grey" overlay (for partial parts of the window)
|
|
86
|
+
video using play on -> console (+- window only)
|
|
87
|
+
certain sections: can speed them up, to make them less scary or what not, but you can still see what's happening. Not sure how audio could/should apply here.
|
|
88
|
+
donate to mplayer, others [?] [VLC ja, which includes libdvdcss, h264 kind of] dvd flick alternative.to, dns hosting
|
|
89
|
+
google android TV app/iTV ?
|
|
90
|
+
advertise ldsliving once I have patentable stuff done... [?]
|
|
91
|
+
md5 the zips at release time
|
|
92
|
+
somehow map DVD's to the "subdownloader" style subtitles?
|
|
93
|
+
use their md5 now?
|
|
94
|
+
advertise related bounties
|
|
95
|
+
don't exit if a timestamps has same beginning as end, but do warn
|
|
96
|
+
a pro website
|
|
97
|
+
the final "edited.avi" really "could/should" be playable in WMP...
|
|
98
|
+
but double check if they can watch it, either way.
|
|
99
|
+
vendor ffmpeg
|
|
100
|
+
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")?
|
|
101
|
+
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?
|
|
102
|
+
appears the only messed up audio one is smplayer...and probably mplayer with DVD's [?]
|
|
103
|
+
do this after frame accurate
|
|
104
|
+
cleanup look of readme file
|
|
105
|
+
can convert auto to JSON, too, for consumption by other players [?]
|
|
106
|
+
use voice recognition for profanity [?]
|
|
107
|
+
easier submit for DL's
|
|
108
|
+
replay on iphone edited
|
|
109
|
+
linearize edl's
|
|
110
|
+
don't use them linear, just linearize
|
|
111
|
+
add tooltips
|
|
112
|
+
monkey.png is in bin...
|
|
113
|
+
better icon
|
|
114
|
+
better installer etc.
|
|
115
|
+
note: can do the two types of preview at same time...concurrently...
|
|
116
|
+
@mplayer: seeking to within EDL failz
|
|
117
|
+
can make community overlay "comments" somehow or other/whatever cyberlink does :)
|
|
118
|
+
temple EDL at home, just finish don't burn
|
|
119
|
+
some way for, super easy, as they play, it can mark the time signature and add it in...like super easy contribution...hmm...
|
|
120
|
+
auto-upload?
|
|
121
|
+
mencoder playlist mode/batch file style [?]
|
|
122
|
+
just youtube for the various videos
|
|
123
|
+
better icon
|
|
124
|
+
don't exit program if they don't select a disk originally :)
|
|
125
|
+
button start EDL playback from dvd here [?] (for create mode)
|
|
126
|
+
re-play as EDL button for both modes--describe on the how to better
|
|
127
|
+
fix prio for first ffmpeg instance [huh?]
|
|
128
|
+
calculating md5...do this while they choose it [low prio] :)
|
|
129
|
+
@dvd flick: right click on a movie file "write this file to DVD .iso as only title (no menu), burn this file as DVD only title (no menu)"
|
|
130
|
+
@dvd flick: default should not be to loop
|
|
131
|
+
@dvd flick: use first aspect ratio by default.
|
|
132
|
+
burn from files to disc
|
|
133
|
+
vendorize ffmpeg, then they don't have to install imagemagick...
|
|
65
134
|
@smplayer: provide a command line param for "extra params to run this time around" or what not...
|
|
66
|
-
create a "fantom edit"
|
|
67
135
|
check if a newer version of smplayer (+- forum links) can replace raw usage of mplayer now?
|
|
68
136
|
integrate sub-titles-zy-er (like the Python fella)
|
|
69
137
|
or maybe...use theirs?
|
|
@@ -182,14 +250,20 @@ a "certified clean" list
|
|
|
182
250
|
advertise my "splitting joining" google doc page. also test the various options there for accurateness :)
|
|
183
251
|
a check for "newer version available" or not...
|
|
184
252
|
buy blu-ray decrypter, and drive, try it out.
|
|
185
|
-
|
|
253
|
+
|
|
186
254
|
|
|
187
255
|
== random non-DVD backlog ... 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). ==
|
|
188
|
-
|
|
256
|
+
|
|
257
|
+
take out use_class_name for descriptors
|
|
258
|
+
|
|
259
|
+
after 2020: DVD Navigator in C++ ?
|
|
260
|
+
it should track "is paused" better (OCR)
|
|
261
|
+
|
|
262
|
+
something that works with cable TV, too, somehow?
|
|
189
263
|
figure out why I need to uses dvdnav:// sometimes, dvd:// others to not crash :P
|
|
190
264
|
|
|
191
265
|
if sued, could use straight mplayer -ss (+- one at a time, or possibly in a playlist [?] like VLC can...)
|
|
192
|
-
-hr-edl-seek ?
|
|
266
|
+
-hr-edl-seek ?
|
|
193
267
|
|
|
194
268
|
fade in/fade out volume, video
|
|
195
269
|
make the other stuff work again, since I no longer use YAML...
|
|
@@ -343,6 +417,8 @@ OCR the captioning as an auto profanity filter? (or perhaps download subtitles t
|
|
|
343
417
|
|
|
344
418
|
--server? optionally higher prio?
|
|
345
419
|
|
|
420
|
+
@MRI:
|
|
421
|
+
|
|
346
422
|
irb(main):001:0> a = File.open('big1', 'w')
|
|
347
423
|
=> #<File:big1>
|
|
348
424
|
irb(main):002:0> a.seek 10_000_000_000
|
|
@@ -358,25 +434,24 @@ package with portable imagemagick (meh)
|
|
|
358
434
|
create a "book edit list" (word x is at position y...)
|
|
359
435
|
|
|
360
436
|
@dvd flick:
|
|
361
|
-
don't re-encode if not necessary
|
|
362
437
|
are your highest settings optimal?
|
|
363
|
-
accept subtitled video...
|
|
438
|
+
accept subtitled video...huh?
|
|
439
|
+
accept multi-audio track videos
|
|
364
440
|
|
|
365
441
|
@smplayer: your CD config is awful.
|
|
366
442
|
@mencoder: can't split
|
|
367
443
|
something like you watch it *with* you friends and can all chat together...hmm...
|
|
368
|
-
donate money to several projects I use/like :)
|
|
369
|
-
after have LLC
|
|
370
444
|
|
|
371
445
|
@mencoder: ripping like this results in an (avidemux, VLC) fourcc of 'ugh': mencoder2 dvdnav://1 -oac copy -ovc copy -o D:\raw_rip_mpeg_example.avi -endpos 20 -dvd-device E:\
|
|
372
446
|
|
|
373
447
|
@jruby: system("mencoder") from a button doesn't get interrupted by an exception [!]
|
|
374
448
|
@vlc: replay mp4's are too dark.
|
|
375
449
|
|
|
376
|
-
@rspec:
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
450
|
+
@rspec:
|
|
451
|
+
1) EdlParser should raise for end before beginning
|
|
452
|
+
Failure/Error: proc{ go({"mutes"=>{105=>104.9}})}.should raise_error(/SyntaxError/)
|
|
453
|
+
expected Exception with message matching /SyntaxError/, got #<SyntaxError: warning--detected an end before a start 104.9 < 105.0>
|
|
454
|
+
# edl_parser.spec.rb:115
|
|
380
455
|
# :1
|
|
381
456
|
|
|
382
457
|
message confusing :)
|