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.
Files changed (101) hide show
  1. data/LICENSE.TXT +8 -72
  2. data/README +126 -90
  3. data/Rakefile +28 -34
  4. data/TODO +157 -129
  5. data/VERSION +1 -1
  6. data/bin/sensible-cinema +40 -23
  7. data/change_log_with_feature_list.txt +26 -0
  8. data/development.txt +15 -6
  9. data/go.bat +1 -1
  10. data/go_ocr_tracker.bat +1 -1
  11. data/gocreatemode.bat +1 -1
  12. data/is_it_legal_to_copy_dvds.txt +80 -0
  13. data/lib/auto_convert.rb +4 -3
  14. data/lib/count_down_timer_jruby_swing.rb +5 -5
  15. data/lib/drive_info.rb +27 -7
  16. data/lib/edl_parser.rb +0 -1
  17. data/lib/mencoder_wrapper.rb +4 -5
  18. data/lib/subtitle_profanity_finder.rb +128 -0
  19. data/sensible-cinema.gemspec +24 -93
  20. data/spec/common.rb +8 -9
  21. data/spec/dragon.srt +32 -0
  22. data/spec/drive_info.spec.rb +2 -1
  23. data/spec/how_to +13 -0
  24. data/spec/notes +651 -41
  25. data/spec/subtitle_profanity_finder.spec.rb +53 -0
  26. data/template_bats/RUN SENSIBLE CINEMA CLICK HERE.bat +11 -2
  27. data/todo.build_library.txt +1 -1
  28. data/todo.inventionzy.txt +16 -11
  29. data/todo.open_edl_list_org.txt +19 -2
  30. data/todo.subtitle +16 -4
  31. data/{bin → vendor}/monkey.png +0 -0
  32. data/www/index.html +1 -1
  33. data/zamples/edit_decision_lists/dvds/how_to_train_your_dragon.txt +25 -0
  34. data/zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt +1 -1
  35. data/zamples/edit_decision_lists/dvds/sintel_open_source_blender.txt +18 -0
  36. data/zamples/edit_decision_lists/dvds/tron_legacy.txt +27 -0
  37. metadata +306 -413
  38. data/lib/profanity_finder.rb +0 -84
  39. data/spec/images/black.bmp +0 -0
  40. data/spec/images/colon.bmp +0 -0
  41. data/spec/images/hulu_0.bmp +0 -0
  42. data/spec/images/hulu_2.bmp +0 -0
  43. data/spec/images/hulu_2_3.bmp +0 -0
  44. data/spec/images/hulu_2_4.bmp +0 -0
  45. data/spec/images/hulu_3.bmp +0 -0
  46. data/spec/images/hulu_3_4.bmp +0 -0
  47. data/spec/images/hulu_4.bmp +0 -0
  48. data/spec/images/hulu_4_4.bmp +0 -0
  49. data/spec/images/hulu_5.bmp +0 -0
  50. data/spec/images/hulu_7.bmp +0 -0
  51. data/spec/images/hulu_8.bmp +0 -0
  52. data/spec/images/hulu_slash.bmp +0 -0
  53. data/spec/images/netflix_a0.bmp +0 -0
  54. data/spec/images/netflix_a1.bmp +0 -0
  55. data/spec/images/netflix_a2.bmp +0 -0
  56. data/spec/images/netflix_a3.bmp +0 -0
  57. data/spec/images/netflix_a4.bmp +0 -0
  58. data/spec/images/netflix_a5.bmp +0 -0
  59. data/spec/images/netflix_a6.bmp +0 -0
  60. data/spec/images/netflix_a7.bmp +0 -0
  61. data/spec/images/netflix_a8.bmp +0 -0
  62. data/spec/images/netflix_a9.bmp +0 -0
  63. data/spec/images/netflix_b9.bmp +0 -0
  64. data/spec/images/vlc_0.bmp +0 -0
  65. data/spec/images/vlc_2_4.bmp +0 -0
  66. data/spec/images/vlc_2_6.bmp +0 -0
  67. data/spec/images/vlc_4.bmp +0 -0
  68. data/spec/images/vlc_5.bmp +0 -0
  69. data/spec/images/vlc_6.bmp +0 -0
  70. data/spec/images/vlc_9.bmp +0 -0
  71. data/spec/images/vlc_colon.bmp +0 -0
  72. data/spec/images/youtube_0.bmp +0 -0
  73. data/spec/images/youtube_1.bmp +0 -0
  74. data/spec/images/youtube_2_0.bmp +0 -0
  75. data/spec/images/youtube_2_5.bmp +0 -0
  76. data/spec/images/youtube_2_6.bmp +0 -0
  77. data/spec/images/youtube_3_0.bmp +0 -0
  78. data/spec/images/youtube_4.bmp +0 -0
  79. data/spec/images/youtube_4_0.bmp +0 -0
  80. data/spec/images/youtube_5.bmp +0 -0
  81. data/spec/images/youtube_6.bmp +0 -0
  82. data/spec/images/youtube_light_0.bmp +0 -0
  83. data/spec/images/youtube_light_1_3.bmp +0 -0
  84. data/spec/images/youtube_light_2_1.bmp +0 -0
  85. data/spec/images/youtube_light_2_3.bmp +0 -0
  86. data/spec/images/youtube_light_2_9.bmp +0 -0
  87. data/spec/images/youtube_light_4.bmp +0 -0
  88. data/spec/images/youtube_light_4_3.bmp +0 -0
  89. data/spec/images/youtube_light_5.bmp +0 -0
  90. data/spec/images/youtube_light_5_0.bmp +0 -0
  91. data/spec/images/youtube_light_8.bmp +0 -0
  92. data/spec/images/youtube_light_9.bmp +0 -0
  93. data/spec/images/youtube_small_0.bmp +0 -0
  94. data/spec/images/youtube_small_2.bmp +0 -0
  95. data/spec/images/youtube_small_2_0.bmp +0 -0
  96. data/spec/images/youtube_small_4.bmp +0 -0
  97. data/spec/silence.wav +0 -0
  98. data/vendor/SetPriority.exe +0 -0
  99. data/vendor/gocr049.exe +0 -0
  100. data/vendor/music.wav +0 -0
  101. data/vendor/unzip.exe +0 -0
data/LICENSE.TXT CHANGED
@@ -1,79 +1,15 @@
1
- All files (c) Roger Pack 2010
2
- All files released under the GPLv3 license [1] unless otherwise specified. Ping me if you want/need this changed at all.
1
+ All files (c) Roger Pack 2010-2011
3
2
 
4
- The edit lists, however are public domain.
3
+ All files released under the GPLv3 license [1] unless otherwise specified. Ping me if you want/need this changed at some point.
5
4
 
6
- Note: may call out to some 3rd party libraries/executables under their own (separate, open source) licenses.
7
-
8
- So...is this legal?
9
-
10
- Unclear. In general ripping personal DVD's is legal.
11
- And making "backup copies" of commercial DVD's (I think--I'm no laywer) may fall under fair use [3] .
12
-
13
- It is controversial to use open source software to play/rip commercial DVD's.
14
- There are a few conflicting views.
15
- Sensible-cinema doesn't actually do any decryption or decoding, nor has any knowledge of it.
16
- It doesn't even have knowledge
17
- as to whether the DVD being ripped is encrypted or not. We don't distribute sensible-cinema with
18
- the ripping program, or any ripping codes, either (the user must install it later after being prompted).
19
- You can ask the authors of that program if it is legal. Apparently
20
- libdvdcss (which the other programs that it calls out to use) has never been legally challenged in court (or so they say),
21
- and uses a slightly different algorithm than those that have, so the jury's out.
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.
27
- It's about the same as using VLC media player to watch a DVD, which also uses libdvdcss.
28
- Also note that if you watch an edited DVD in a commercial DVD player, your are using a DVD player that conforms
29
- with encryption specifications, so that might have some sway.
30
- Note also that fair use at times does allow one to "record" things for personal use/backup (for example off the TV).
31
- Note that sensible cinema does require the original DVD to be present when using it, also.
32
-
33
- If general, if it's not legal in your country, then don't use it!
34
- You are responsible for your actions and use of this program.
35
- It is possible that the authors of sensible-cinema are not cupable of anything
36
- regarding its use themselves, since they re-distribute no edited media,
37
- nor distribute cracking codes. Check your country's rules first.
38
- If it's illegal, don't use it!
39
-
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
42
- is more legal, since you basically have to have the original DVD in hand.
43
- Please don't redistribute. If creating copies of commercial DVD's is illegal
44
- in your country, then don't do it! Use the "watch in realtime" option. Unless that's illegal.
45
- USING THIS SOFTWARE MIGHT BE ILLEGAL IN SOME COUNTRIES.
46
- DO NOT MAKE ILLEGAL COPIES.
47
-
48
- In terms of copyright, it could be legal under the The Family Home Movie Act of 2005,
49
- 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).
50
- In general, if I have the original DVD sitting next to my TV, I don't feel bad about watching
51
- its edited copy, but please consult a laywer first if you have any concerns.
5
+ The edit lists included, are creative commons licensed.
52
6
 
53
- This program can also be used for editing home movies, etc (example, the "pack wedding" file herein included).
54
-
55
- Note that this software might well be legal in the EU,
56
- as it is only software (if you watch it on your computer), and therefore possibly not subject to patents in certain countries
57
- (see "What about patent licenses?" in [2]).
58
-
59
- Also note that several ideas have been released in the code that are disabled in the final release. Please see the blog
60
- for release notes http://betterlogic.com/roger, as well as http://ruby-forum.com (ruby talk ML there), and rubygems.org
61
- which lists the various releases, including release notes, when installed, and also github.com/rdp/sensible-cinema which,
62
- lists commits and changes and release notes, and is publicly available.
63
-
64
- A more ancient history of various brainstorming thoughts was described here:
65
- http://betterlogic.com/roger/?p=2618
66
-
67
- Note sensible cinema is distributed free for free, source code is also available (see README text file).
68
-
69
- YOU MUST AGREE TO THE gplv3 in order to use this software.
7
+ Note: may call out to some 3rd party libraries/executables under their own (separate, open source) licenses.
70
8
 
71
- Note also that we used parts of the 7-Zip program, that 7-Zip is licensed under the GNU LGPL license, see http://www.7-zip.org, where the source code can be found.
9
+ Note also that we used parts of the 7-Zip program, that 7-Zip is licensed under the GNU LGPL license, see http://www.7-zip.org, where its source code can be found.
72
10
 
73
- See also the README text file which contains some invention related notes.
11
+ Ffmpeg is included, under the GPLv2: http://www.ffmpeg.org/legal.html http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
74
12
 
75
- [1] http://www.gnu.org/licenses/gpl.html, also gplv3 file.
76
- [2] http://www.videolan.org/legal.html
77
- [3] http://www.macworld.com/article/150731/2010/04/dvdripping_faqs.html
13
+ curl is included, released under an MIT/X style license: http://curl.haxx.se/docs/copyright.html
78
14
 
79
- note also http://en.wikipedia.org/wiki/DVD_Decrypter
15
+ See first also the file "is_it_legal_to_copy_dvds.txt" for more information on legal use in your country.
data/README CHANGED
@@ -1,33 +1,37 @@
1
- Sensible-cinema (also known to us as "paranoid cinema" [our own inside joke ha ha]) allows you to apply
2
- pre-programmed delete lists (e.g. Edit Decision Lists [2]) to DVD's you already own. It is currently in beta,
3
- though will always be free software, even after release.
4
-
5
- I.e. you can play or edit a DVD to "mute out" or skip certain scenes.
6
-
1
+ Sensible-cinema [5] allows you to apply pre-programmed delete lists
2
+ (e.g. Edit Decision Lists [2]) to DVD's you own.
3
+ I.e. you can edit a DVD to "mute out" or skip certain scenes.
7
4
  This allows you to sit back and relax as you watch a more "sensiblized" showing of your DVD.
8
5
 
9
- Note: please install from the zip files at http://rogerdpack.t28.net/sensible-cinema and not from gitub.
6
+ It is currently in beta, though will always be free software, even after release.
7
+ It also includes a library of EDL's that go along with various DVD's, we need volunteers
8
+ to help it to grow!
10
9
 
11
- To use it, basically install, then insert an original DVD that you want to edited, then run sensible cinema.
12
- It will pop up some windows where you choose what to do with that DVD.
10
+ To use, basically install, then insert an original DVD that you want to edited, then run sensible cinema.
11
+ It will pop up some windows where you choose what to do.
13
12
 
14
- You can either watch it edited in realtime from the DVD, or created an edited
15
- video version of the DVD (an sensibilized video file), on your hard drive.
13
+ Note: please install from the zip files at http://rogerdpack.t28.net/sensible-cinema and not from gitub's "downloads" button.
14
+ See the "install" section.
16
15
 
17
- How? Sensible cinema basically takes the original DVD, slices out the bad parts, then gives you the result.
18
- It is essentially a linear editor [1] that applies Edit Decision Lists [2] to videos. It wraps
16
+ It basically allows you to create an edited video version of the DVD, onto your hard drive, and you can watch it there.
17
+
18
+ How? Sensible cinema basically takes the original DVD, slices out the bad parts, then combines it back
19
+ into a new file and gives you the result.
20
+ It is basically a linear editor [1] that applies Edit Decision Lists [2] to videos. It wraps
19
21
  a few freely available open source programs [3] to accomplish the editing for you.
20
22
  It also has a few "realtime viewing" options available, again based on open source software [3].
21
23
 
22
24
  Note that the whole process can take several hours, so budget some time for it.
23
25
 
24
26
  Also note that just because an edited video lacks profanity...does not immediately make it an inspiring experience.
25
- I'd suggest carefully evaluating your motives, and going with those.
27
+ I'd suggest carefully evaluating your real values, and going with those.
26
28
  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!
27
29
 
28
- dove.org and common sense media are good references for discovering the "uplifting" level of movies [4].
29
- Also note that even if you have an edited copy of a DVD floating around, if you have kids, chances are they
30
- will eventually find (and watch) the unedited originals, so be careful there, and do what is needed.
30
+ dove.org and common sense media are good references for discovering the "uplifting" level of movies [4].
31
+ kids-in-mind.com is also a good reference for profanity levels, though sometimes it misses profanities,
32
+ and it also lacks timestamps to know when the profanities occur. Hence this project.
33
+ Also note that even if you happen to have an edited copy of a DVD floating around, if you have kids, chances are they
34
+ will eventually find (and watch) the unedited originals, so be careful there.
31
35
 
32
36
  Enjoy your movies!
33
37
 
@@ -35,88 +39,103 @@ Enjoy your movies!
35
39
  [2] http://en.wikipedia.org/wiki/Edit_decision_list
36
40
  [3] mostly GPL programs, see http://www.gnu.org/licenses/ VLC Media Player, Mplayer/mencoder, ffmpeg, et al.
37
41
  [4] http://lds.org/library/display/0,4945,161-1-11-1,00.html search for the word "wholesome"
42
+ [5] Also known to us as "paranoid cinema" (our inside joke :).
38
43
 
39
44
  == Installation ==
40
45
 
41
- Instructions available here: http://rogerdpack.t28.net/sensible-cinema
42
- NB that you want to download from there, not from github, and the file you want is called "latest-sensible-cinema.zip"
46
+ Installation instructions available here: http://rogerdpack.t28.net/sensible-cinema
47
+ NB that you want to download from there only, not from github, and the file you want to get
48
+ is called "latest-sensible-cinema.zip"
43
49
 
44
- == Creating Your Own Delete Lists, or modifying the previously existing ones ==
50
+ == Creating Your Own Delete Lists, or modifying previously existing ones ==
45
51
 
46
52
  See the accompanied how_to_create_your_own_delete_lists.txt file.
47
53
 
48
- == Creating your own edited DVD ==
54
+ == Creating an edited DVD ==
49
55
 
50
- I don't know how I've never burned a DVD.
56
+ See also is_it_legal_to_copy_dvds.txt for some caveats you should understand.
57
+ I don't actually know how I've never burned a DVD.
51
58
  Windows DVD Maker might help, http://www.dvdflick.net might help.
52
- See also LICENSE.TXT for some caveats you should understand first.
59
+ iDVD might help on mac.
60
+ DO NOT MAKE ILLEGAL COPIES OF DVD's. See is_it_legal_to_copy_dvds.txt.
53
61
 
54
62
  == FAQ ==
55
63
 
56
64
  Q. How do I watch these on my TV, not just on my computer?
57
65
  A. You also might be able to move a laptop over to near your TV and hook it in from your laptop.
58
66
  Or buy a very long monitor cord and plug it in from your desktop/laptop.
59
- You could also buy a projector, attach it to your laptop, and then use that to display the video.
67
+ You could also buy a projector, attach it to your laptop, and then use that to watch it.
60
68
  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
61
69
  something in mind that could help, though hasn't been created yet. (Playon.tv does something like this, too, but
62
- I might come up with a competitor to it if desired, as it costs).
70
+ I might come up with a competitor to it if desired, as the existing one costs money).
63
71
  If you're really ambitious and bleeding edge you could even try VGA over an Ethernet cable, too:
64
- http://ps3mediaserver.org/forum/viewtopic.php?f=6&t=5731#p34279
72
+ http://ps3mediaserver.org/forum/viewtopic.php?f=6&t=5731#p34279
73
+ You may be able to create your own edited DVD, see section "Creating an edited DVD"
74
+ You may be able to come up with some real-time player editor, too, see section "related works" et al
65
75
 
66
76
  Q. I want to give an edited DVD to a friend, how do I do that well?
67
- A. Give them the original DVD and a link to sensible-cinema's website so they can download and use it.
77
+ A. Give them the original unedited DVD and a link to sensible-cinema's website.
68
78
 
69
79
  == Caveats ==
70
80
 
71
81
  NB that "someone" has to first create a delete list, per DVD.
72
82
  If one doesn't yet exist for the DVD you want edited,
73
- you could employ somebody to create it, or create it yourself. Make sure to submit it
74
- back to us when you're done, so that everyone can benefit from it.
75
- Fortunately only one person has to do it, once, for everybody to benefit, and the
76
- editing process is fairly easy.
83
+ you could create it yourself, or employ somebody to create it. Make sure to submit it
84
+ back to us when you're done, so that the rest of the users can benefit from it.
85
+ Fortunately just one person has to do it, once, for everybody to benefit, and the
86
+ editing process is not too bad.
87
+
88
+ We also have a subtitle parser which really helps locate profanity more conveniently, so that will help you
89
+ build your delete list.
77
90
 
78
91
  Also note that if your DVD has scratches that cause it to skip, the time signatures will be off,
79
- so we recommend to always clean your discs!
92
+ so we recommend to always clean your discs first!
80
93
 
81
94
  == Motivation ==
82
95
 
83
96
  The initial motivation for the project was that I dislike deity profanity in movies.
84
97
  And really any profanity is jarring, if you're not used to it in real life, and can
85
- put you a bit on edge when you watch a movie.
86
- Also sometimes producers put in certain scenes (read: sex scenes) just to get a rating.
87
- I don't want just those scenes, but still want to be able to watch the movies :)
98
+ put you a bit on edge when you watch a movie.
99
+ Also sometimes producers put in certain scenes (read: sex scenes)
100
+ just to get a desired rating.
101
+ I don't want those scenes, but still want to be able to enjoy said movies :)
88
102
 
89
103
  I once tried Clearplay (a "filter"ed DVD player)
90
- but (for me) it didn't seem to cut it. It costs money monthly (I'm too cheap to pay--and many
91
- many other people don't use it because of this fact...). Their
104
+ but (for me) it didn't cut it. It costs money monthly (I'm too cheap to pay--and many
105
+ many other people don't use it because of this...). Their
92
106
  filters sometimes don't cut out all unwanted content (ex: Saints and
93
107
  Soldiers left profanity in...which wasn't what I had
94
- expected, so they differed in standards somewhat).
108
+ expected), so if they differ in standards somewhat, you're out of luck.
95
109
  Others have noted that sometimes their edit timings (or perhaps DVD players)
96
- are slightly mismatched so that it will mute sections just previous to profanity, while
97
- not muting the profanity itself. Clearplay apparently also runs a rather
98
- confusing subscription policy, I'm told [1], as well as selling DVD players that
99
- are a bit lackluster at times [2].
100
- Clearplay also has little community collaboration/review (though you can email them feedback).
101
- They no longer seem to have a "request a filter" option, though they used to.
110
+ are slightly mismatched so that it will end up muting sections just previous to profanity, while
111
+ not muting the profanity itself, or so I've heard. Clearplay apparently also runs a rather
112
+ confusing subscription policy, so I'm told [1], as well as selling DVD players that
113
+ are a bit lackluster at times [2]. Their DVD players aren't quite as readily accessible (read:
114
+ can't buy at walmart anymore), nor as cheap to buy as some out there.
115
+ Clearplay also has little community collaboration/review (though you can email them feedback I suppose).
102
116
  They also don't have filters for all movies that I, at times, would like to watch edited (Condorman and Tron
103
117
  lacking last time I checked...probably because they are too
104
- obscure.) Also, some people watch movies only on computer, and they
105
- no longer have a computer player, only hardware DVD players. They also don't edit streamed
106
- online movies either (last time I checked, anyway). So overall I
107
- wanted to build my own that overcame some of these hurdles.
118
+ obscure.) If there isn't one, you basically have to request one and then *hope* they get around to it.
119
+ They might never get around to it, or it might take a bit longer than you'd hope.
120
+ Also, some people watch movies only on computer, and they
121
+ no longer seem to offer a computer player, just hardware DVD players. They also don't edit streamed
122
+ online movies either (last time I checked, anyway), nor offer a blu-ray player.
108
123
  I also emailed them once (2003?) to inform them I'd be making an open source
109
124
  equivalent, and haven't heard back, which I assume to mean implicitly
110
- they're all for it :)
111
- Also no blu ray player support.
112
- Also clearplay isn't quite flexible enough, editing out only offensive content. Some users may want to,
113
- for example, skip the intro to specific movies (read: older movies with long songs and no content) because...it's deemed boring. Clearplay
114
- does not do that. Also things skip-worthy include The prefix/endfix of Netflix
115
- series' that they run together( ex: Dr. Who has 4 episodes in a row, with 4 jarring
116
- main-title themes between them all.)
125
+ they're all for it (in reality this project is more like in-home cleanflicks than clearplay, anyway)
126
+ Also clearplay isn't quite flexible enough, editing out only profanity/sex/violence et al (and based
127
+ only on their own criteria). Some users may want to,
128
+ for example, skip the intro to specific movies (like older movies with long songs and no
129
+ content during the intro) because...it's deemed boring. Or skip commercials in some recording.
130
+ Or use it on their home dvd's. Clearplay does not allow for that.
131
+ Also clearplay doesn't seem to users for example leave comments on their filters, to improve them, etc.
132
+
133
+ So overall I wanted to build my own that overcame some of these hurdles, hopefully.
117
134
 
118
135
  I also wanted to get a prototype out there of some of these ideas so that
119
- others can't later patent them and pretend that they were first inventors :)
136
+ others can't later patent them and pretend that they were first inventors later :)
137
+
138
+ See also the "Overly Verbose History" section.
120
139
 
121
140
  [1] http://www.amazon.com/gp/product/B002YPRW7S/ref=cm_rdp_product
122
141
  "...I agree that it is not made clear on their website that if you don't continue your membership, you can't continue
@@ -129,19 +148,21 @@ others can't later patent them and pretend that they were first inventors :)
129
148
 
130
149
  == Overly Verbose History ==
131
150
 
132
- It was preceded/inspired by EDL's in the 90's, cleanflicks (both analog and digital ways),
133
- zoomplayer's scene-cut editor, http://code.google.com/p/movie-content-editor, the many
134
- other editors that support EDL for content creation and/or playback, mplayer's EDL's,
135
- mythtv/XBMC's EDL support, and VLC playlists. I knew the right elements were ready.
151
+ It was preceded/inspired by EDL's in editors in the 90's, cleanflicks (both analog and digital incantations late 90's),
152
+ then mplayer began to support EDL, zoomplayer added a scene-cut editor,
153
+ http://code.google.com/p/movie-content-editor came along, and also many
154
+ other editors have historically supported EDL for content creation and/or playback (see wikipedia's "edit decision list"),
155
+ and also mythtv/XBMC's EDL support (as suggested by the phantom edit [1], oreillynet.com),
156
+ VLC also added playlists with optional start and stop positions per entry.
157
+ I knew the right elements were ready for sensible cinema.
136
158
 
137
- See also the "related" section.
159
+ See also the "related" section, and "motivation" section.
138
160
 
139
161
  Originally the project started as a prototype to "watch hulu (online) and netflix instant movies
140
- edited" (it uses/used screen snap-shotting and tracks, using OCR of the on-screen
141
- timestamp of the player, monitors it for specific times, and reacts appropriately).
162
+ edited" (it uses/used screen snap-shotting (of specific locations where the digits are, based on windows position)
163
+ and then tracks, using OCR of the on-screen timestamp of the player, to monitor it for specific times, and react appropriately.
142
164
  However, this functionality, though working and available, is disabled currently for potential patent
143
- issues.
144
- Some older released versions had it enabled, but not the latest releases.
165
+ issues. Some older released versions had it enabled, but not the later releases.
145
166
  Then I realized I could basically create the same effect using the
146
167
  (possibly more patent friendly) pre-processing style, like cutting out bad scenes, like cleanflix did.
147
168
  It basically was implementing Edit Decision Lists (EDL's) using playlists and
@@ -155,20 +176,14 @@ realtime tracking, so I included that ability.
155
176
  The playlist option is disabled in later releases, as it was deemed too user-non-friendly, because VLC timing
156
177
  is "different" than standard DVD players, so I decided to just use standardized timing, though it worked fine
157
178
  for VLC playbacks.
179
+ Many releases had built-in support for mplayer's EDL format, but I took it
180
+ out to concentrate on the cleanflicks side of things.
158
181
 
159
182
  You can see a full list of other features that have been published and demonstrated
160
183
  in the accompanying change_log_with_feature_list.txt. Each feature works in some released version of sensible-cinema
161
- though some features are absent in later versions.
184
+ though some features have been removed in later versions.
162
185
 
163
- == License ==
164
-
165
- See the included LICENSE.TXT file for licensing and usage terms (basically it's released under gplv3).
166
- Some other programs are (distributed separately and) leveraged, if present. These are
167
- typically released under their own copy of the gplv2 license.
168
-
169
- All files (c) 2010 Roger Pack
170
-
171
- See the accompanied LICENSE.TXT file for more legal information, before using the product.
186
+ [1] http://www.oreillynet.com/sysadmin/blog/2005/06/make_your_own_phantom_edit_wit.html
172
187
 
173
188
  == Related ==
174
189
 
@@ -181,6 +196,7 @@ http://imdb.com tends to have reasonably good lists of what occurs in movies (fi
181
196
  Normal movies versus "directors cut" versions of movies (one is at times preferable, profanity wise)
182
197
  http://en.wikipedia.org/wiki/Edit_decision_list (it's a linear editing tool, after all--so see the vast list of those)
183
198
  Clean Flicks (used to) sell edited movies
199
+ http://www.videoredo.com/en/index.htm lets you "cut out" offensive content (commercials et al) and burn DVD's from mpeg's/h264 streams
184
200
  http://www.mplayerhq.hu/DOCS/HTML/en/edl.html
185
201
  http://www.oreillynet.com/sysadmin/blog/2005/06/make_your_own_phantom_edit_wit.html (mplayer has had this ability for awhile, with no complaints).
186
202
  http://clearplay.com a commercial editing player (tracks DVD's while they play--closed source, costs money, no user contribution possible), and only for DVD's.
@@ -197,7 +213,7 @@ http://forums.gbpvr.com/showthread.php?10606-Automated-Cutting-and-Transcoding-G
197
213
  http://www.imdb.com/swiki/special?ParentalGuideHelp (search for "scene description")
198
214
  http://www.mythtv.org/wiki/Removing_Commercials
199
215
  Using the remote control with the pause, mute, stop, fast forward, and play buttons, along with previous knowledge of scene locations
200
- The scissors and old VHS tapes (Clean Flicks' origin, if I remember correctly). http://www.familysafemedia.com/home_movie_editor.html
216
+ The scissors and old VHS tapes (Clean Flicks' origin, if I remember correctly). http://www.familysafemedia.com/home_movie_editor.html (was a helper kit for cutting VHS tape)
201
217
  Windows Movie Maker. Allows for users to cut and copy scenes of movies to their heart's content.
202
218
  http://forum.videolan.org/viewtopic.php?f=7&t=56998 VLC Media Player using EDL's via playlists
203
219
  Corel WinDVD has "Quick Clip" settings for capturing from DVD.
@@ -205,7 +221,17 @@ Microsoft's magnified basically copies DVD's screen output if mouse is placed ov
205
221
  http://superuser.com/questions/85278/how-can-i-cut-scenes-out-of-a-dvd
206
222
  http://blog.josephhall.com/2008/09/command-line-dvd-authoring-part-1.html
207
223
  ZoomPlayer MAX's scene cut editor
208
- anydvd HD's "magic file replacement" for DVD's/blu-ray's
224
+ Anydvd HD's "magic file replacement" for DVD's/blu-ray's
225
+ RiffTrax
226
+
227
+ == License ==
228
+
229
+ See the included LICENSE.TXT file for licensing and usage terms (basically it's released under gplv3).
230
+ Some other programs are (distributed separately and) used, if present. These are
231
+ typically released under their own copy of the gplv2 license.
232
+
233
+ All files are (c) 2010 Roger Pack
234
+ EDL files themselves are released under the Creative Commons License.
209
235
 
210
236
  == Troubleshooting ==
211
237
 
@@ -213,35 +239,35 @@ If you run into some snag, it possibly could have failed in "grabbing" the DVD,
213
239
  Try cleaning your DVD and starting over (delete all files, start again).
214
240
  Baking soda toothpaste might help with cleaning it.
215
241
  If it still errs, report it, along with a screen snapshot and steps of
216
- how to reproduce the problem, preferably. See feedback section.
242
+ how to reproduce the problem, preferably. See the feedback section.
217
243
 
218
244
  It can fail also because a deletion is past end of DVD, or
219
245
  Also note that if your DVD has scratches that cause it to skip, the time signatures will be off after that point,
220
246
  so clean your discs and try again!
247
+ "DVDNAV stream read error!"
248
+ this typically means a dirty or scratched DVD.
221
249
 
222
250
  Also make sure you aren't out of disk space.
223
251
 
224
- Also you could try a different computer (desktop computers' DVD drives seem to work better at times than laptops')
225
-
226
- Also (for power users) make sure your version of ffmpeg is relatively new, as older versions (r19313) is known to crop wrong.
227
- If you don't know what this means then you're probably ok and don't have to worry about it.
228
-
229
- "DVDNAV stream read error!"
230
- this typically means a dirty or scratched DVD.
252
+ Also you could try another computer (desktop computers' DVD drives seem to work better at times than laptops')
231
253
 
232
254
  You try to play back a sensible cinema-ized video file and it plays back without
233
255
  audio or video (example: windows media player)?
234
256
 
235
257
  This probably means you're using windows media player, and don't have "codecs" installed
236
- to handle this type of video. Not to fear, just download the "ffdshow tryouts"
258
+ to handle this type of audio. Not to fear, just download the "ffdshow tryouts" (google for it)
237
259
  and, when it gives you the option, be sure to check "mpeg2 video" and then
238
- it should "just work." You could also play the file in VLC Media Player or smplayer
239
- (there's a button for that).
260
+ it should "just work." You could also optionally just play the file in VLC Media Player or smplayer
261
+ (there's a button for that). Installing "AC3Filter" may help if you have no audio.
262
+
263
+ If the picture is too grainy/pixelated or the process is too slow, let me know and I'll work on
264
+ making it better. No really, I have some ideas, but want to know if there's need first.
240
265
 
241
266
  == Thanks ==
242
267
 
243
268
  Thanks to Jarmo for the win32-screenshot gem, the mini_magick gem authors, jruby guys, etc.
244
- The combination of these tools made programming this actually something of a pleasure.
269
+ The combination of these tools made programming this actually something of a pleasure,
270
+ and a breeze cross platform.
245
271
 
246
272
  == Feedback/Development ==
247
273
 
@@ -250,4 +276,14 @@ Feedback, including feature requests, comments, etc. welcome:
250
276
  Mailing List: http://groups.google.com/group/sensible-cinema
251
277
 
252
278
  If you're a developer and want to help out with programmming or look and feel, etc., please do!
253
- See development.txt / github.com/rdp
279
+ See development.txt / github.com/rdp/sensible-cinema
280
+
281
+ If you want to donate something, please consider donating to a charity of your choice. No really. Do it for this!
282
+
283
+ == Competition/use of files ==
284
+
285
+ Note that competition/use of files from sensible cinema is welcome!
286
+
287
+ In fact, the current end goal is to publish the delete lists (EDL's) as a separate repository, under the creative
288
+ commons license, meaning that even for profit users can use them for whatever other use they want, hopefully
289
+ good uses :)
data/Rakefile CHANGED
@@ -13,17 +13,20 @@ Jeweler::Tasks.new do |s|
13
13
  s.add_dependency 'rdp-win32screenshot', '>= 0.0.7.3' # was 0.8.0 ?
14
14
  s.add_dependency 'mini_magick', '>= 3.1' # for ocr...
15
15
  s.add_dependency 'whichr', '>= 0.3.6'
16
- s.add_dependency 'jruby-win32ole' # LODO take out ...
17
- s.add_dependency 'rdp-ruby-wmi'
16
+ s.add_dependency 'rdp-ruby-wmi' # windows
17
+ s.add_dependency 'plist' # mac
18
18
  s.add_dependency 'ffi' # mouse, etc. needed at least for MRI
19
-
19
+ s.files.exclude '**/*.exe', '**/*.wav', '**/images/*'
20
20
  s.add_development_dependency 'hitimes' # now jruby compat!
21
- s.add_development_dependency 'rspec' # prefer rspec 2 these days I guess...
21
+ s.add_development_dependency 'rspec', '> 2'
22
+ s.add_development_dependency 'jeweler'
23
+ s.add_development_dependency 'rake'
22
24
 
23
- # add as real dependencies for now, as gem install --development is still broken for jruby, basically installing transitive dependencies in error
24
- for name in ['hitimes', 'rspec', 'jeweler', 'rake']
25
+ # add as real dependencies for now, as gem install --development is still broken for jruby, basically installing transitive dependencies in error <sigh>
26
+
27
+ for gem in s.development_dependencies #['hitimes', 'rspec', 'jeweler', 'rake']
25
28
  # bundling rake won't be too expensive, right? and this allows for easier dev setup through gem install
26
- s.add_dependency name
29
+ s.add_dependency gem.name
27
30
  end
28
31
  end
29
32
 
@@ -73,41 +76,25 @@ task 'bundle_dependencies' => 'gemspec' do
73
76
  system("rm -rf ../cache.bak")
74
77
  system("cp -r vendor/cache ../cache.bak") # for retrieval later
75
78
  Dir['vendor/cache/*'].each{|f|
76
- unless f =~ /jruby.*jar/ # that one takes too long to download...
77
- FileUtils.rm_rf f
78
- raise 'unable to delete: ' + f if File.exist?(f)
79
- end
79
+ FileUtils.rm_rf f
80
+ raise 'unable to delete: ' + f if File.exist?(f)
80
81
  }
81
82
  FileUtils.mkdir_p 'vendor/cache'
82
83
  Dir.chdir 'vendor/cache' do
83
84
  dependencies.each{|d|
84
85
  system("#{Gem.ruby} -S gem unpack #{d.name}")
85
86
  }
86
- to_here = "jruby-complete-1.5.5.jar"
87
- unless File.exist? to_here
88
- url = "/downloads/1.6.1/jruby-complete-1.6.1.jar"
89
- puts 'downloading in jruby-complete.jar file ' + url
90
- # jruby complete .jar file
91
- Net::HTTP.start("jruby.org.s3.amazonaws.com") { |http|
92
- resp = http.get(url)
93
- puts 'copying jruby complete in... '
94
- open(to_here, "wb") { |file|
95
- file.write(resp.body)
96
- }
97
- }
98
- end
99
87
 
100
88
  # create a shunt win32ole file, so that require 'win32ole' will just work.
101
- # XXXX may no longer need it...
89
+ # XXXX may no longer need this...
102
90
  Dir.mkdir 'lib'
103
91
  File.write('lib/win32ole.rb', 'require "jruby-win32ole"')
104
-
105
- end # chdir
92
+ end
106
93
 
107
94
  end
108
95
 
109
96
  desc 'create distro zippable dir'
110
- task 'create_distro_dir' do
97
+ task 'create_distro_dir' => :gemspec do # depends on gemspec...
111
98
  raise 'need bundle_dependencies first' unless File.directory? 'vendor/cache'
112
99
  require 'fileutils'
113
100
  spec = eval File.read('sensible-cinema.gemspec')
@@ -126,6 +113,7 @@ end
126
113
  def cur_ver
127
114
  File.read('VERSION').strip
128
115
  end
116
+
129
117
  task 'zip' do
130
118
  name = 'sensible-cinema-' + cur_ver
131
119
  c = "\"c:\\Program Files\\7-Zip\\7z.exe\" a -tzip -r #{name}.zip #{name}"
@@ -147,16 +135,22 @@ task 'deploy' do
147
135
  raise unless system("ssh rdp@ilab1.cs.byu.edu 'ssh wilkboar@freemusicformormons.com \\\"ln -s \\~/www/rogerdpackt28/sensible-cinema/releases/#{name} \\\\~/www/rogerdpackt28/sensible-cinema/releases/latest-sensible-cinema.zip\\\"'")
148
136
  end
149
137
 
150
- desc 'j -S rake bundle_dependencies create_distro_dir ... (releases with clean cache dir, which we need now)'
151
- task 'full_release' => [:bundle_dependencies, :create_distro_dir, :build] do # :release sigh
152
- raise unless system("git pull")
153
- raise unless system("git push origin master")
138
+ task 'gem_release' do
139
+ FileUtils.rm_rf 'pkg'
140
+ Rake::Task["build"].execute
154
141
  gems = Dir['pkg/*.gem']
155
142
  gems[0..-2].each{|f| File.delete f} # kill old versions...
156
- system("#{Gem.ruby} -S gem push #{gems[-1]}")
143
+ raise unless system("#{Gem.ruby} -S gem push #{gems[-1]}")
157
144
  FileUtils.rm_rf 'pkg'
145
+ end
146
+
147
+ desc 'j -S rake bundle_dependencies create_distro_dir ... (releases with clean cache dir, which we need now)'
148
+ task 'full_release' => [:bundle_dependencies, :create_distro_dir] do # this is :release
149
+ raise unless system("git pull")
150
+ raise unless system("git push origin master")
151
+ Rake::Task["gem_release"].execute
158
152
  Rake::Task["zip"].execute
159
153
  Rake::Task["deploy"].execute
160
154
  system(c = "cp -r ../cache.bak/* vendor/cache")
161
155
  system("rm -rf ../cache.bak")
162
- end
156
+ end