sensible-cinema 0.22.1 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. data/LICENSE.TXT +7 -4
  2. data/README +84 -68
  3. data/Rakefile +21 -23
  4. data/TODO +93 -60
  5. data/VERSION +1 -1
  6. data/bin/sensible-cinema +201 -123
  7. data/change_log_with_feature_list.txt +10 -0
  8. data/development.txt +11 -2
  9. data/go.bat +1 -1
  10. data/go.sh +1 -0
  11. data/go_ocr_tracker.bat +1 -1
  12. data/goc.bat +1 -0
  13. data/lib/auto_convert.rb +4 -3
  14. data/lib/check_installed_mac.rb +40 -0
  15. data/lib/drive_info.rb +25 -13
  16. data/lib/edl_parser.rb +1 -3
  17. data/lib/mencoder_wrapper.rb +11 -6
  18. data/lib/mouse.rb +1 -1
  19. data/lib/mplayer_edl.rb +1 -2
  20. data/lib/ocr.rb +8 -3
  21. data/lib/subtitle_profanity_finder.rb +68 -21
  22. data/lib/swing_helpers.rb +1 -1
  23. data/sensible-cinema.gemspec +20 -5
  24. data/spec/arse.srt +36 -0
  25. data/spec/common.rb +1 -1
  26. data/spec/deity_end.srt +11 -0
  27. data/spec/dragon.srt +1 -2
  28. data/spec/drive_info.spec.rb +25 -6
  29. data/spec/notes +99 -15
  30. data/spec/sensible_cinema_gui.spec.rb +8 -5
  31. data/spec/subtitle_profanity_finder.spec.rb +56 -6
  32. data/template_bats/RUN SENSIBLE CINEMA CLICK HERE.bat +2 -2
  33. data/todo.inventionzy.txt +0 -12
  34. data/todo.open_edl_list_org.txt +2 -0
  35. data/{propaganda → todo.propaganda} +4 -1
  36. data/todo.subtitle +3 -22
  37. data/vendor/mac_dvdid/bin/dvdid +0 -0
  38. data/vendor/mac_dvdid/include/dvdid/dvdid.h +67 -0
  39. data/vendor/mac_dvdid/include/dvdid/dvdid2.h +131 -0
  40. data/vendor/mac_dvdid/include/dvdid/export.h +32 -0
  41. data/vendor/mac_dvdid/lib/libdvdid.0.dylib +0 -0
  42. data/vendor/mac_dvdid/lib/libdvdid.a +0 -0
  43. data/vendor/mac_dvdid/lib/libdvdid.dylib +0 -0
  44. data/vendor/mac_dvdid/lib/libdvdid.la +41 -0
  45. data/www/index.html +16 -5
  46. data/zamples/edit_decision_lists/dvds/COOL_RUNNINGS.txt +3 -3
  47. data/zamples/edit_decision_lists/dvds/Harry Potter 2.txt +3 -4
  48. data/zamples/edit_decision_lists/dvds/bambi.txt +20 -0
  49. data/zamples/edit_decision_lists/dvds/big_buck_bunny_dvd.txt +6 -7
  50. data/zamples/edit_decision_lists/dvds/bob the builder pets in a pickle.txt +1 -1
  51. data/zamples/edit_decision_lists/dvds/bobs_big_plan.txt +1 -1
  52. data/zamples/edit_decision_lists/dvds/happiest baby on the block.txt +1 -1
  53. data/zamples/edit_decision_lists/dvds/how_to_train_your_dragon.txt +2 -2
  54. data/zamples/edit_decision_lists/dvds/kung_fu_panda_1.txt +17 -0
  55. data/zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt +1 -1
  56. data/zamples/edit_decision_lists/dvds/making_marriage_work.txt +3 -5
  57. data/zamples/edit_decision_lists/dvds/narnia_voyage_of_the_dawn_treader.txt +16 -0
  58. data/zamples/edit_decision_lists/dvds/old_and_inaccurate/star_trek_generations_hulu.txt +1 -1
  59. data/zamples/edit_decision_lists/dvds/pack_wedding_2007-03-03.txt +4 -4
  60. data/zamples/edit_decision_lists/dvds/sintel_open_source_blender.txt +2 -1
  61. data/zamples/edit_decision_lists/dvds/tron_legacy.txt +1 -1
  62. data/zamples/edit_decision_lists/dvds/turn_around_alma_younger.txt +1 -1
  63. data/zamples/edit_decision_lists/dvds/{example_delete_list_that_has_no_cuts_in_it.txt → zz_example_delete_list_that_has_no_cuts_in_it.txt} +2 -2
  64. data/zamples/edit_decision_lists/old_not_yet_updated/example_edit_decision_list.txt +2 -2
  65. data/zamples/edit_decision_lists/youtube/demo_mutes.txt +1 -1
  66. metadata +20 -5
  67. data/gocreatemode.bat +0 -1
data/LICENSE.TXT CHANGED
@@ -2,14 +2,17 @@ All files (c) Roger Pack 2010-2011
2
2
 
3
3
  All files released under the GPLv3 license [1] unless otherwise specified. Ping me if you want/need this changed at some point.
4
4
 
5
- The edit lists included, are creative commons licensed.
5
+ EDL (delete list/edit list) files are released under the Creative Commons License, however.
6
6
 
7
- Note: may call out to some 3rd party libraries/executables under their own (separate, open source) licenses.
7
+ Note: may call out to some 3rd party libraries/executables under their own (separate, open source) licenses and distributions, but they are contained
8
+ within this package for convenience.
8
9
 
9
10
  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.
10
11
 
11
12
  Ffmpeg is included, under the GPLv2: http://www.ffmpeg.org/legal.html http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
12
13
 
13
- curl is included, released under an MIT/X style license: http://curl.haxx.se/docs/copyright.html
14
+ unzip.exe is herein included, under the info-zip license: http://www.info-zip.org/license.html
14
15
 
15
- See first also the file "is_it_legal_to_copy_dvds.txt" for more information on legal use in your country.
16
+ some binary builds of dvdid are also distributed here. See http://www.srcf.ucam.org/~cjk32/dvdid
17
+
18
+ See first also the file "is_it_legal_to_copy_dvds.txt" for more information on legal use in your country.
data/README CHANGED
@@ -10,10 +10,10 @@ to help it to grow!
10
10
  To use, basically install, then insert an original DVD that you want to edited, then run sensible cinema.
11
11
  It will pop up some windows where you choose what to do.
12
12
 
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.
13
+ Note: please install from the zip files at https://sourceforge.net/projects/sensible-cinema/files/
14
+ and not from github's "download" button. See the "install" section, below, for finer grained details.
15
15
 
16
- It basically allows you to create an edited video version of the DVD, onto your hard drive, and you can watch it there.
16
+ Sensible cinema basically allows you to create an edited video version of the DVD, onto your hard drive, and you can watch it there.
17
17
 
18
18
  How? Sensible cinema basically takes the original DVD, slices out the bad parts, then combines it back
19
19
  into a new file and gives you the result.
@@ -44,8 +44,7 @@ Enjoy your movies!
44
44
  == Installation ==
45
45
 
46
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"
47
+ NB that you want to download from sourceforge, not from github downloads.
49
48
 
50
49
  == Creating Your Own Delete Lists, or modifying previously existing ones ==
51
50
 
@@ -62,16 +61,15 @@ DO NOT MAKE ILLEGAL COPIES OF DVD's. See is_it_legal_to_copy_dvds.txt.
62
61
  == FAQ ==
63
62
 
64
63
  Q. How do I watch these on my TV, not just on my computer?
65
- A. You also might be able to move a laptop over to near your TV and hook it in from your laptop.
64
+ A. One way is to plug your computer into your TV.
65
+ For instance, position a laptop near your TV and hook it in. Newer TV's support this.
66
66
  Or buy a very long monitor cord and plug it in from your desktop/laptop.
67
- You could also buy a projector, attach it to your laptop, and then use that to watch it.
67
+ You could also buy a projector, attach it to your computer, and then use that to watch it.
68
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
69
69
  something in mind that could help, though hasn't been created yet. (Playon.tv does something like this, too, but
70
70
  I might come up with a competitor to it if desired, as the existing one costs money).
71
- If you're really ambitious and bleeding edge you could even try VGA over an Ethernet cable, too:
72
- http://ps3mediaserver.org/forum/viewtopic.php?f=6&t=5731#p34279
73
71
  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
72
+ Another good option is to purchase a clearplay DVD player, though you must also retain a subscription for it to work.
75
73
 
76
74
  Q. I want to give an edited DVD to a friend, how do I do that well?
77
75
  A. Give them the original unedited DVD and a link to sensible-cinema's website.
@@ -102,37 +100,41 @@ I don't want those scenes, but still want to be able to enjoy said movies :)
102
100
 
103
101
  I once tried Clearplay (a "filter"ed DVD player)
104
102
  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
106
- filters sometimes don't cut out all unwanted content (ex: Saints and
107
- Soldiers left profanity in...which wasn't what I had
108
- expected), so if they differ in standards somewhat, you're out of luck.
103
+ many other people don't use it because of this...). Casual users no longer have the
104
+ option to buy specific "filters" but are obliged to purchase a monthly subscription,
105
+ so it doesn't work for many casual users.
106
+ Their filters sometimes don't cut out all undesired content (ex: Saints and
107
+ Soldiers left several profanities in...which wasn't what I had
108
+ expected). If your standards differ from theirs, you're out of luck.
109
109
  Others have noted that sometimes their edit timings (or perhaps DVD players)
110
110
  are slightly mismatched so that it will end up muting sections just previous to profanity, while
111
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).
116
- They also don't have filters for all movies that I, at times, would like to watch edited (Condorman and Tron
112
+ confusing subscription policy, or so I'm told [1], and their DVD players that
113
+ are a bit weak at times [2]. Their DVD players aren't quite as readily accessible (read:
114
+ can't buy at walmart), nor as cheap to buy as some others.
115
+ Clearplay also has little community collaboration/review (though you can email them feedback).
116
+ They also did't have filters for all movies that I, at times, wanted to watch edited (Condorman and Tron
117
117
  lacking last time I checked...probably because they are too
118
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.
119
+ Until then, you are out of luck.
120
+ They might never get around to it, or it might take a bit longer than you'd hope. Or they might never.
120
121
  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.
122
+ no longer seem to offer a computer player, just hardware players. They also don't edit streamed
123
+ online movies either (last time I checked, anyway), nor offer an edited blu-ray player.
123
124
  I also emailed them once (2003?) to inform them I'd be making an open source
124
125
  equivalent, and haven't heard back, which I assume to mean implicitly
125
126
  they're all for it (in reality this project is more like in-home cleanflicks than clearplay, anyway)
126
127
  Also clearplay isn't quite flexible enough, editing out only profanity/sex/violence et al (and based
127
128
  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.
129
+ for example, skip the intro's to specific movies (like older movies with long songs and no
130
+ content during the intro) because...they want to get to the movie faster.
131
+ Or skip commercials in some personal DVD recording.
132
+ Or use it on their home dvd's. Clearplay does not allow for any of these.
131
133
  Also clearplay doesn't seem to users for example leave comments on their filters, to improve them, etc.
132
134
 
133
- So overall I wanted to build my own that overcame some of these hurdles, hopefully.
135
+ So overall I wanted to build my own that overcame some of these hurdles.
134
136
 
135
- I also wanted to get a prototype out there of some of these ideas so that
137
+ I also wanted to get a prototype out there of some ideas so that
136
138
  others can't later patent them and pretend that they were first inventors later :)
137
139
 
138
140
  See also the "Overly Verbose History" section.
@@ -148,90 +150,99 @@ See also the "Overly Verbose History" section.
148
150
 
149
151
  == Overly Verbose History ==
150
152
 
151
- It was preceded/inspired by EDL's in editors in the 90's, cleanflicks (both analog and digital incantations late 90's),
153
+ Sensible Cinema was preceded/inspired by EDL's of editors in the 90's, cleanflicks (both analog and digital incantations, late 90's),
152
154
  then mplayer began to support EDL, zoomplayer added a scene-cut editor,
153
155
  http://code.google.com/p/movie-content-editor came along, and also many
154
156
  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.
157
+ such as mythtv/XBMC's EDL support (as suggested by the phantom edit [1], oreillynet.com),
158
+ VLC also added playlists with optional start and stop positions per entry. Ffmpeg, mencoder were high quality video editing open source tools.
159
+ Once I discovered all of these previously existing programs, I knew the right elements were ready for
160
+ something like sensible cinema.
158
161
 
159
162
  See also the "related" section, and "motivation" section.
160
163
 
161
164
  Originally the project started as a prototype to "watch hulu (online) and netflix instant movies
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.
165
+ edited" (it uses/used screen snapshots (of specific locations where the digits are expected, based on windows position)
166
+ and then tracks, using OCR of the on-screen (convert to timestamp), to monitor it for specific times relative
167
+ to an EDL, and react appropriately.
164
168
  However, this functionality, though working and available, is disabled currently for potential patent
165
169
  issues. Some older released versions had it enabled, but not the later releases.
166
- Then I realized I could basically create the same effect using the
167
- (possibly more patent friendly) pre-processing style, like cutting out bad scenes, like cleanflix did.
170
+ Then I realized I could basically have the same effect by instructing a video player (VLC) to "play from second x to y"
171
+ ok "now play from z to q muted" etc. (so kind of a stop and go video player, kind of like controlling the remote for you).
168
172
  It basically was implementing Edit Decision Lists (EDL's) using playlists and
169
- VLC. I.e. play from second x to y, now play then from z to second mu, muted, now from q to r, etc.
170
- I just passed VLC a playlist, it did all the work for me, without any necessary real-time tracking.
171
- There are a few released versions with this feature enabled. They avoid real-time tracking by specifying "play from here to here"
173
+ VLC.
174
+ I just passed VLC a playlist, it did all the work for me, without any necessary real-time tracking. This seemed patent friendly,
175
+ so I went with this. There are a few released versions with this feature enabled.
176
+ They avoid real-time tracking by specifying "play from here to here"
172
177
  not "skip from here to here" as some other editing players do.
173
- Then it occurred to me that you could grab the several clean segments
174
- off a DVD, and piece them together to create an edited version. This also avoids
175
- realtime tracking, so I included that ability.
176
- The playlist option is disabled in later releases, as it was deemed too user-non-friendly, because VLC timing
178
+
179
+ Then it occurred to me that one could grab the several clean segments
180
+ off a movie file, and piece them together to create an edited clean version ( a la cleanflix ). This also avoids
181
+ realtime tracking, so I also included this ability.
182
+ The playlist option is disabled in later releases, as it was deemed too user-non-friendly, and because VLC timing
177
183
  is "different" than standard DVD players, so I decided to just use standardized timing, though it worked fine
178
184
  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.
185
+ I replaced it with support for mplayer's EDL format
181
186
 
182
187
  You can see a full list of other features that have been published and demonstrated
183
- in the accompanying change_log_with_feature_list.txt. Each feature works in some released version of sensible-cinema
184
- though some features have been removed in later versions.
188
+ in the accompanying file change_log_with_feature_list.txt. Each feature mentioned works
189
+ in some released version of sensible-cinema though some features have been removed in subsequent versions
190
+ (they're all available as rubygems).
191
+
192
+ Who knows what the future will hold...
185
193
 
186
194
  [1] http://www.oreillynet.com/sysadmin/blog/2005/06/make_your_own_phantom_edit_wit.html
187
195
 
188
196
  == Related ==
189
197
 
190
- The concepts aren't novel. Some other previously existing related type examples:
198
+ The concepts I use aren't novel. Some other previously existing related type examples:
191
199
 
192
200
  Edited "airplane edit" style movies.
193
201
  Commercial TV (ABC, NBC) show their own (edited) movies.
194
202
  http://en.wikipedia.org/wiki/Linear_video_editing
203
+ http://en.wikipedia.org/wiki/Edit_decision_list#Systems_supporting_EDL_playback.2C_not_just_EDL_cutting lists a lot of players that support EDL DVD playback in some form or another.
195
204
  http://imdb.com tends to have reasonably good lists of what occurs in movies (find a movie, click on "parent's guide" on the left). Sometimes it even lists the time signatures for events (ex: "Labyrinth" http://www.imdb.com/title/tt0091369/parentalguide) which you could use to translate into a sensible-cinema compatible list.
196
- Normal movies versus "directors cut" versions of movies (one is at times preferable, profanity wise)
205
+ Normal DVD's versus "directors cut" versions of movies (one is at times preferable, content wise)
197
206
  http://en.wikipedia.org/wiki/Edit_decision_list (it's a linear editing tool, after all--so see the vast list of those)
198
207
  Clean Flicks (used to) sell edited movies
199
208
  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
200
209
  http://www.mplayerhq.hu/DOCS/HTML/en/edl.html
210
+ http://www.sharewareconnection.com/fast-compress-content-and-anti-profanity.htm replaces profanity in web pages with euphemized content.
201
211
  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).
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.
203
- It does offer a few features that sensible cinema disables, for patent reasons, like automatic (user flexible) content decisions. Ours are manual.
204
- Theirs is also a DVD "instant" player, which this is not, except on computer, though you must use theirs, etc (see motivation section, above).
212
+ http://clearplay.com a commercial "filtering" DVD player See the "motivation" section for a description.
213
+ It does offer a few features that sensible cinema supports but disables, for patent reasons, like automatic (user flexible) content decisions. Ours are manual, etc.
205
214
  http://en.wikipedia.org/wiki/RiffTrax has an interesting idea of "overlaying" audio over the original video, and synchronizing between the two (their re-player does, anyway).
206
215
  http://forum.bsplayer.com/feature-requests-feedback-suggestions/7157-chapter-playlist-scene-cut-3.html
207
- http://www.inmatrix.com "scene cut editor" of the zoom player
216
+ http://www.inmatrix.com zoom player's "scene cut editor"
208
217
  http://wiki.xbmc.org/?title=EDL_(commercial_skipping)_and_SceneMarker_support (XBMC's scene cut supporter--also contains links to some other editors' support for EDL's)
209
218
  http://dvdshrink.info "Re-author" mode: to make "movie-only" backups, compilations, combine "flippers",.... DvdShrink has the ability to "crop or cut parts of a title" etc.
210
219
  The VCR with its record button, coupled with the stop+rewind button.
211
- http://code.google.com/p/movie-content-editor (written in Python, controls VLC based on captions and edit decision lists, in realtime)
220
+ http://kb2.adobe.com/cps/191/tn_19151.html Adobe Director MX 2004 can "script" DVD playback.
221
+ DVD's themselves allow for "scripted" playback of certain content, allowing controls for jumping from location to location, switching audio/video tracks, etc.
222
+ http://code.google.com/p/movie-content-editor (player written in Python, controls VLC based on subtitles and user-input, using edit decision lists in realtime)
212
223
  http://forums.gbpvr.com/showthread.php?10606-Automated-Cutting-and-Transcoding-Guide-Using-Mencoder/page45
213
224
  http://www.imdb.com/swiki/special?ParentalGuideHelp (search for "scene description")
214
225
  http://www.mythtv.org/wiki/Removing_Commercials
215
- Using the remote control with the pause, mute, stop, fast forward, and play buttons, along with previous knowledge of scene locations
226
+ Old-school: using the remote control with the pause, mute, stop, fast forward, and play buttons, along with previous knowledge of "questionable" scene locations
216
227
  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)
217
- Windows Movie Maker. Allows for users to cut and copy scenes of movies to their heart's content.
228
+ Windows Movie Maker. Allows for users to cut and copy scenes of movies. Really any editor can do this.
218
229
  http://forum.videolan.org/viewtopic.php?f=7&t=56998 VLC Media Player using EDL's via playlists
219
230
  Corel WinDVD has "Quick Clip" settings for capturing from DVD.
220
- Microsoft's magnified basically copies DVD's screen output if mouse is placed over playing DVD.
231
+ Microsoft's built-in magnifier basically copies DVD's screen output if mouse is placed over playing DVD.
221
232
  http://superuser.com/questions/85278/how-can-i-cut-scenes-out-of-a-dvd
222
233
  http://blog.josephhall.com/2008/09/command-line-dvd-authoring-part-1.html
223
- ZoomPlayer MAX's scene cut editor
234
+ AviSynth can script dvd playback http://forum.doom9.org/archive/index.php/t-109558.html
224
235
  Anydvd HD's "magic file replacement" for DVD's/blu-ray's
225
- RiffTrax
236
+ RiffTrax allows for an audio "overlay" to a DVD playback, have their own player to coordinate the two.
226
237
 
227
238
  == License ==
228
239
 
229
240
  See the included LICENSE.TXT file for licensing and usage terms (basically it's released under gplv3).
230
241
  Some other programs are (distributed separately and) used, if present. These are
231
- typically released under their own copy of the gplv2 license.
242
+ typically released under their own copy of the gplv2 license, though some have differing licenses.
232
243
 
233
- All files are (c) 2010 Roger Pack
234
- EDL files themselves are released under the Creative Commons License.
244
+ EDL files themselves are released under the Creative Commons License, however.
245
+ See first also the file "is_it_legal_to_copy_dvds.txt" for more information on legal use in your country.
235
246
 
236
247
  == Troubleshooting ==
237
248
 
@@ -249,6 +260,8 @@ so clean your discs and try again!
249
260
 
250
261
  Also make sure you aren't out of disk space.
251
262
 
263
+ Try playback in VLC Media Player.
264
+
252
265
  Also you could try another computer (desktop computers' DVD drives seem to work better at times than laptops')
253
266
 
254
267
  You try to play back a sensible cinema-ized video file and it plays back without
@@ -260,14 +273,15 @@ You try to play back a sensible cinema-ized video file and it plays back without
260
273
  it should "just work." You could also optionally just play the file in VLC Media Player or smplayer
261
274
  (there's a button for that). Installing "AC3Filter" may help if you have no audio.
262
275
 
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.
276
+ If the end result picture is too grainy/pixelated or if the overall process is too slow, let me know and I'll work on
277
+ making it better. No really, I have some ideas, but want to see if there's need first for improvement in those areas.
265
278
 
266
279
  == Thanks ==
267
280
 
268
281
  Thanks to Jarmo for the win32-screenshot gem, the mini_magick gem authors, jruby guys, etc.
269
282
  The combination of these tools made programming this actually something of a pleasure,
270
283
  and a breeze cross platform.
284
+ Sensible Cinema leverages code from lots of other projects (see LICENSE.TXT)--many thanks to the authors and maintainers of said libraries, and anybody else I forgot to mention.
271
285
 
272
286
  == Feedback/Development ==
273
287
 
@@ -276,14 +290,16 @@ Feedback, including feature requests, comments, etc. welcome:
276
290
  Mailing List: http://groups.google.com/group/sensible-cinema
277
291
 
278
292
  If you're a developer and want to help out with programmming or look and feel, etc., please do!
279
- See development.txt / github.com/rdp/sensible-cinema
293
+ See development.txt : github.com/rdp/sensible-cinema
280
294
 
281
- If you want to donate something, please consider donating to a charity of your choice. No really. Do it for this!
295
+ If you want to donate something, please consider donating to a charity of your choice.
296
+ No really. Do it for this!
282
297
 
283
298
  == Competition/use of files ==
284
299
 
285
300
  Note that competition/use of files from sensible cinema is welcome!
286
301
 
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 :)
302
+ In fact, the current end goal is to publish the delete lists (EDL's) as a separate repository with its
303
+ own API, meaning that even "for profit" users can use them for whatever other use they want, hopefully
304
+ good uses :) More direct direct competitors are also welcome here. I only made this because I had to
305
+ and nothing like it existed, so if something else springs up, I'm happy to use it instead.
data/Rakefile CHANGED
@@ -65,15 +65,7 @@ def get_transitive_dependencies dependencies
65
65
  new_dependencies.flatten
66
66
  end
67
67
 
68
- desc 'collect binary and gem deps for distribution'
69
- task 'rebundle_dependencies' => 'gemspec' do
70
- require 'whichr'
71
- require 'fileutils'
72
- require 'net/http'
73
-
74
- spec = eval File.read('sensible-cinema.gemspec')
75
- dependencies = spec.runtime_dependencies
76
- dependencies = (dependencies + get_transitive_dependencies(dependencies)).uniq
68
+ task 'clear_and_copy_vendor_cache' do
77
69
  system("rm -rf ../cache.bak")
78
70
  system("cp -r vendor/cache ../cache.bak") # for retrieval later
79
71
  Dir['vendor/cache/*'].each{|f|
@@ -81,13 +73,18 @@ task 'rebundle_dependencies' => 'gemspec' do
81
73
  raise 'unable to delete: ' + f if File.exist?(f)
82
74
  }
83
75
  FileUtils.mkdir_p 'vendor/cache'
76
+ end
77
+
78
+ desc 'collect binary and gem deps for distribution'
79
+ task 'rebundle_copy_in_dependencies' => 'gemspec' do
80
+ spec = eval File.read('sensible-cinema.gemspec')
81
+ dependencies = spec.runtime_dependencies
82
+ dependencies = (dependencies + get_transitive_dependencies(dependencies)).uniq
84
83
  Dir.chdir 'vendor/cache' do
85
84
  dependencies.each{|d|
86
85
  system("#{OS.ruby_bin} -S gem unpack #{d.name}")
87
86
  }
88
87
  end
89
-
90
-
91
88
  end
92
89
 
93
90
  desc 'create distro zippable dir'
@@ -96,7 +93,7 @@ task 'create_distro_dir' => :gemspec do # depends on gemspec...
96
93
  require 'fileutils'
97
94
  spec = eval File.read('sensible-cinema.gemspec')
98
95
  dir_out = spec.name + "-" + spec.version.version + '/sensible-cinema'
99
- FileUtils.rm_rf Dir['sensible-cinema-*'] # remove old versions
96
+ FileUtils.rm_rf Dir['sensible-cinema-*'] # remove old versions' distro files
100
97
  raise 'unable to delete...' if Dir[spec.name + '-*'].length > 0
101
98
 
102
99
  existing = Dir['*']
@@ -117,7 +114,7 @@ task 'zip' do
117
114
  c = "\"c:\\Program Files\\7-Zip\\7z.exe\" a -tzip -r #{name}.zip #{name}"
118
115
  raise unless system("\"c:\\Program Files\\7-Zip\\7z.exe\" a -tzip -r #{name}.zip #{name}")
119
116
  FileUtils.rm_rf name
120
- p 'created ' + name + '.zip, and deleted its folder'
117
+ p 'created ' + name + '.zip, and deleted its [from] folder'
121
118
  end
122
119
 
123
120
  def sys arg
@@ -126,20 +123,20 @@ end
126
123
 
127
124
  task 'deploy' do
128
125
  name = 'sensible-cinema-' + cur_ver + ".zip"
129
- =begin
130
- p 'copying in'
126
+ p 'copying to ilab'
131
127
  sys("scp #{name} rdp@ilab1.cs.byu.edu:~/incoming")
132
- p 'copying over'
128
+ p 'creating sf dir'
129
+ sys "ssh rdp@ilab1.cs.byu.edu 'ssh rogerdpack,sensible-cinema@shell.sourceforge.net \"mkdir /home/frs/project/s/se/sensible-cinema/#{cur_ver}\"'"
130
+ p 'copying into sf'
131
+ sys "ssh rdp@ilab1.cs.byu.edu 'scp ~/incoming/#{name} rogerdpack,sensible-cinema@frs.sourceforge.net:/home/frs/project/s/se/sensible-cinema/#{cur_ver}/#{name}'"
132
+ p 'copying over to rogerd...'
133
133
  # ugh ugh ughly
134
134
  c = "ssh rdp@ilab1.cs.byu.edu \"scp ~/incoming/#{name} wilkboar@freemusicformormons.com:~/www/rogerdpackt28/sensible-cinema/releases\""
135
135
  sys(c)
136
- p 'linking'
136
+ p 'linking rogerd...'
137
137
  sys("ssh rdp@ilab1.cs.byu.edu 'ssh wilkboar@freemusicformormons.com \\\"rm \\\\~/www/rogerdpackt28/sensible-cinema/releases/latest-sensible-cinema.zip\\\"'")
138
138
  sys("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\\\"'")
139
- =end
140
- sys "ssh rdp@ilab1.cs.byu.edu 'ssh rogerdpack,sensible-cinema@shell.sourceforge.net \"mkdir /home/frs/project/s/se/sensible-cinema/#{cur_ver}\"'"
141
- sys "ssh rdp@ilab1.cs.byu.edu 'scp ~/incoming/#{name} rogerdpack,sensible-cinema@frs.sourceforge.net:/home/frs/project/s/se/sensible-cinema/#{cur_ver}/#{name}'"
142
-
139
+ p 'successfully deployed! ' + cur_ver
143
140
  end
144
141
 
145
142
  task 'gem_release' do
@@ -149,8 +146,9 @@ task 'gem_release' do
149
146
  FileUtils.rm_rf 'pkg'
150
147
  end
151
148
 
152
- desc 'j -S rake rebundle_dependencies create_distro_dir ... (releases with clean cache dir, which we need now)'
153
- task 'full_release' => [:rebundle_dependencies, :create_distro_dir] do # this is :release
149
+ desc ' (releases with clean cache dir, which we need now)'
150
+ task 'full_release' => [:clear_and_copy_vendor_cache, :rebundle_copy_in_dependencies, :create_distro_dir] do # this is :release
151
+ p 'remember to run all the specs first!'
154
152
  raise unless system("git pull")
155
153
  raise unless system("git push origin master")
156
154
  Rake::Task["gem_release"].execute
data/TODO CHANGED
@@ -1,57 +1,87 @@
1
1
  == roadmap [for just tasks, see below though] ==
2
2
 
3
3
  release: cheap inventionzy, and medium inventionzy
4
- release: C EDL/specific portion [A,B] player
5
- pull ripping/make mine take a file
6
- ?? ordering/looseness below ??
7
- pull realtime players from mine [?], update todo
8
- build library phase, 20 dvd's
9
- create web site/api
10
- propagate wikipedia with list of realtimers etc.
11
- don't mention mplayer EDL, just link to wikipedia :P
12
- more build library
4
+ release: C EDL
13
5
  compare netflix/blu-ray timings et al
6
+ === loose ordering/eventually ===
7
+ linearize
8
+ supplement mplayer EDL with mine (mac users, just ffmpeg) ???
9
+ update todo/docu
10
+ create web site/api-ify
11
+ LLC
12
+ if...back off to just the ffmpeg (plus an "[A,B]" viewer) only...but for now stick with just DVD playback [?] until people want more...
13
+ no propaganda...
14
+ no auto subtitles...
14
15
 
15
16
  == high prio like blocking bugs ==
16
17
 
17
- == up next release/very next task: ==
18
+ == under next release specific items: ==
19
+ cheap minimize demo "fake auto" :)
20
+ friday 2: http://www.youtube.com/watch?v=SDeLjcTxMaM&feature=player_profilepage
21
+ cheap static-ify demo for mutes
22
+ also a straight "half mute" demo, using volume downs/ups
23
+ cheap minimize via (probably foreground window + API real windows API)
24
+ url -> url inference [hopefully this is cake...]
25
+ fix the failing 9 digit test the fancy shmancy way :P
26
+ can pass in a profanity command line
27
+ can handle dual md5's
28
+ youtube: use the javascript API somehow, like http://universalsubtitles.org/en does
29
+ phase 1: does they use inferred timestamp? can I use that generally, too? [do phase 1--publish simple javascript demo of it muting for awhile after startup]
30
+ just in case youtube takes over the world
31
+
32
+ == yes do ordered ==
33
+ EDL for that fella...
34
+ transfer from little stickie at....
35
+ try buy delete lists from all x,y,z [?] maybe ask for them for free first? ()
36
+ unit tests
37
+ timing thing (notes file)
18
38
 
19
- high prio patents
20
-
21
39
  == yes do, un-ordered currently, from the various release options ==
22
-
40
+ @macports: set notestxt \
41
+ 13 "The MPlayer developers do not believe in making regular releases. \
42
+ 14 You are likely better off using the mplayer-devel port." *before* and after (?) (double check it--would one way work ok? mplayer)
43
+ @macports: does mplayer-devel enable dvdnav correctly?
44
+
45
+ after remove the ability to "grab" update readme
46
+ check if tmdb uses the full DVDID [?]
47
+ just tell mac users "use tsmuxer this way" http://instantitunes.wordpress.com/2010/02/26/use-tsmuxer-on-snow-leopard
48
+ for now just make a "convert timestamp" button for mplayer OSD conversion ?
49
+ if they disdain to choose a filename the whole thing exits.
50
+ an "advanced" screen for obscure things...
51
+ maybe after tooltips? I need some user feedback here...
52
+ note realtime: clearplay
23
53
  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"
24
54
  "just look at the title track in the EDL, then..."
25
55
  tell them "to edit easily..."
56
+ "for now just ignore any editors...they're just too fickle!"
57
+ double check--are my ffmpeg splits really really really the same as mplayer's EDL splits? really?
58
+ "hardware DVD player/commercial DVD software"
26
59
  "you could watch it under mplayer with the OSD turned on"
27
60
  [+ button for same?]
28
61
  "you could watch it with a normal DVD player (hardware or software, a la powerDDVD et al)"
29
62
  add button for "convert from DVD Player [mplayer OSD, commercial]" to accurate timestamp [single timestamp]
30
- "you could edit it in basically any editor--they are usually pretty accurate [instructions for powerproducer]"
31
- windows DVD Maker is not accurate enough
63
+ "you could edit it in basically any editor--they are usually pretty accurate"
32
64
  "you could edit your file "raw" file "with avidemux, except video will be slightly off, but audio will be on"
33
- "you could get timestamps from playing it back with VLC and watching the time, though VLC [or any GUI] is always slightly off."
34
- @mulder: dvdnav crashes
65
+ "VLC [or any GUI] is always slightly off."
66
+ can I avoid requiring use of tsmuxer first?
35
67
  check with blu-ray...does it match timing-wise? sub-title wise?
36
- donate tsmuxer, makemkv, ffmpeg windows
37
- google "scripted dvd playback" adobe, one other, avisynth dvd [?]
38
- check cp p.'s
39
- instructions: reference the sintel DVD :) (download it from my site here)
40
- note to google group...
68
+ donate tsmuxer, makemkv, http://ffmpeg.zeranoe.com/builds, mulder [?] smplayer
69
+ auto tsmuxer/mediainfo [yikes]?
70
+ MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 V_MPEG-2, "G:\Video\c\title00.mkv", fps=23.976, ar=As source, track=1, lang=eng A_AC3, "G:\Video\c\title00.mkv", track=2, lang=eng
71
+ instructions: reference the sintel DVD :) (+download it from my site here)
41
72
  add an mencoder convert with mplayer_breaks button :P
73
+ can I just use mencoder -hr-edl-seek (off mpeg) to avoid the fulli phase? please? does it work super-accurately, after that?
74
+ maybe just under an "advanced" window...
42
75
  youtube/hulu timings
43
- subtitles: impass assistance :)
44
- can I just use mencoder -hr-edl-seek to avoid the fulli phase? please? does it work super-accurately?
45
- BY CLICKING "I Agree" YOU SIGNIFY THAT YOU HAVE READ, UNDERSTOOD AND AGREED TO ABIDE BY THE TERMS OF THIS AGREEMENT
46
- make install work again
47
- package curl [?]
48
- add button "play from exactly here to here" in [mplayer uh guess?] :P
49
- what does mplayer do with -ss big_number past the end of an end [monster's inc]?
50
76
  Watch...unedited smplayer button doesn't play from the right device if you have two :P
51
77
  get LLC before a "real" domain name
52
78
  add profanity filter this file button
53
79
  remove some buttons by default ?
54
80
  always force them to have a DVD in the drive :P
81
+ upconverter
82
+ split LLC's website+consumer
83
+ employ: watch @ realtime after profanity filter first pass :P
84
+
55
85
  clear runnings
56
86
  have ben and chris test it out, have it work, then ask about video quality
57
87
  me try my copy
@@ -71,23 +101,17 @@
71
101
  can come out of full screen more easily :P
72
102
  note pay for XP http://windows.microsoft.com/en-US/windows/downloads/windows-media-player/plug-ins search for the cheapest
73
103
  note to them windows vista/7: use ac3filter [?]
74
- if it doesn't parse something it loops *forever* "error pooping" "error pooping"
75
- try buy delete lists from all x,y,z [?] maybe ask for them for free first?
76
- the fake blanker EDL doesn't work well... [real fix: add another button "just watch the thing" even for real users?]
77
- also it propagates the filename with weird, for other later buttons: Test_Delete_File_for_if_you_want_to_watch_something_straight_edited_version
104
+ if it doesn't parse something it loops *forever* "error pooping" "error pooping" [?]
78
105
  donate menumeter $
79
- that one button is broken...play with [s]mplayer unedited [?]
80
106
  tool tips for all buttons...tweak naming, too :P do something!
81
- the "play DVD with smplayer unedited" prompts for delete list
82
- fix the "play previously credited edited file for current DVD" button
107
+ fix/create the "play previously credited edited file for current DVD" button
83
108
  vendorize smplayer * 2
84
109
  test if latest smplayer can work with edl and seek [?]
85
110
  be able to use smplayer, never just mplayer [yikes]
86
111
  apparently just using webdl is like r30369 yipers
87
- note to previewer "you are about to preview these specific edits..." ?
112
+ note better to previewer "you are about to preview these specific edits..." ?
88
113
  ask for more beta testers for use, ask for more beta testers for creation, too
89
114
  beta release: rinse and repeat with various ppl
90
- switch to using sourceforge solely for hosting releases...
91
115
  youtube videos -> new account name
92
116
  vendorize a copy of ffmpeg, then they don't have to install imagemagick...also then we'll have ffprobe
93
117
  and sanity
@@ -97,22 +121,27 @@
97
121
  http://www.chefelf.com/forums/index.php?showtopic=6176
98
122
  karlie?
99
123
  inventionzy: blu-ray OCR
100
- calculating disk's unique id... -> have it note on gui...
124
+ accomodate 2 disk unique id's...yeah
101
125
  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"
102
126
  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)
103
127
  7: Windows Live Movie Maker
104
128
  previous: Windows Movie Maker
105
- mplayer OSD [optionally [?]]
106
- re-run with several owned DVD's
107
- another full pass on verbiage legal, etc.
108
- port to OS X overall
109
- auto-download and run for them the smplayer install exe [avoid scary sourceforge/extra step]
129
+ re-run with several DVD's
130
+ port to mac OS X--try everything out (all buttons), make sure it works...
131
+ appears that, for now, have to just use mplayer dvd:// [sniff]
132
+ ppc?
133
+ app store mplayer perhaps? maybe tell the players to start supportin' dvdnav?
134
+ bundle a copy of smplayer locally? huh?
110
135
  delete unedited.fulli file automatically
111
- except if it's a specific scene run...
112
- investigate: can I use the zoomplayer max?
136
+ except if it's a specific scene run test...
137
+ investigate: can I use zoomplayer max?
113
138
  the final "edited.avi" really "could/should" be playable in WMP...
139
+ "profanity" => "language"
140
+ it should clear old smplayer options on startup always, just in case, somehow
141
+ use smplayer with my mplayer always...unless I'm moving away from that...
114
142
 
115
143
  == other lists ==
144
+
116
145
  todo.propaganda
117
146
  todo.inventionzy
118
147
  open_edl_list_org_todo.txt file
@@ -121,29 +150,34 @@
121
150
 
122
151
  == DVD decide later to move up or down ==
123
152
 
124
- a wholesome meter?
125
-
126
- == DVD-realtime backlog [?] do, unordered ==
127
-
153
+ == DVD-realtime backlog once do, now not do, unordered ==
154
+ can "blur out" scenes, or specific pixels on frames, like that guy bleeping out his own profanity just lips plus bleep
128
155
  for mplayer realtime it needs to start early, but end on time
129
156
  mplayer instructions are obscured
130
- mplayer EDL allow
157
+ mplayer EDL allow this:
131
158
  got fatal exception in button
132
159
  detected an overlap 1397.51 1401.275 mute 1395.474 1397.874 mute
133
160
  SyntaxError
134
161
  accept "mplayer_dvd_splits" => ["4749"] [large second integers...hmm...]
135
- it should clear old smplayer options on startup always, just in case, somehow
136
162
  fast preview: change it to be aggressive sometimes yes, other times no
137
163
  fast preview mode: watch for modifications to file, kill mplayer instances for them on change :)
138
164
  fast preview tends to "go too far" [like the end of profanity is still there when played via the "real way"]
139
165
  mplayer EDL while grabbing, from grabbed :P
140
- 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)
141
- ideal would be use smplayer with my mplayer
142
166
  note to them [in how_to_create]: can do the two types of preview at same time...concurrently...to save time...
143
167
  can I make playback more smooth by upping mplayer cache? does smplayer pass it a parameter?
144
168
 
145
169
  == DVD/DVD-realtime backlog (totally unordered, some very low prio, basically all never do) ==
146
170
 
171
+ auto download subtitles from opensubtitles somehow err other...
172
+ an almost rifftrax that...says "here overlay x, change normal volume to 50% during that time..."
173
+ check if tmdb needs some type of upload...hmm...to save them... ask that one guy if I can bribe him into doing it? dvdxml? dvdid.info?
174
+ allow for filter subtitles, a la "always skip" [?]
175
+ allow for AAF or OMF export, as well as EDL (?)
176
+ C specific portion [A,B] player
177
+ also edit the trailers et al [?] hmm...
178
+ @mplayer: double click default to full screen! :)
179
+ add button "play from exactly here to here" in [mplayer uh guess?] :P
180
+ what does mplayer do with -ss big_number past the end of an end [monster's inc]?
147
181
  fix ffmpeg's Application provided invalid, non monotonically increasing dts to muxer in stream 0: 5940 >= 5940
148
182
  @makemkv: wrong title no:Title #0 was added (7 cell(s), 0:14:58)
149
183
  Title #1 was added (8 cell(s), 0:14:57), also give us title no's in the dialog :P
@@ -160,10 +194,8 @@
160
194
  make it not die if you have no DVD in there yet when you choose a drive...
161
195
  the "frame accurate" splitter
162
196
  sounds like I want to move in that direction, esp. if handbrake ends up being sane
163
- bounty dvdnav (calendar will ping me)
164
197
  @mencoder you lop off the end somehow
165
198
  @VLC convert -> dump raw always displays--expected? also saves nothing?
166
- fix dvdnav?
167
199
  research the gplv3, add terms. Maybe want real lawyer, even?
168
200
  note "others are released under this license, that license"
169
201
  note/include jruby license, include gplv1 et al, note "also included locally"
@@ -179,8 +211,8 @@
179
211
  10 minute splits for much faster viewage [edl fast preview seems way too lossy ?]
180
212
  port to linux
181
213
  "release" it to more developers
182
- plug.org, more rubyists?
183
- after OS X :)
214
+ plug.org, more rubyists than urug?
215
+ after OS X confidence :)
184
216
  @VLC also tell them to tell people how to play hi-def better, when they try [?] if it shtinks
185
217
  an all online EDL editor
186
218
  flash canvas
@@ -191,7 +223,7 @@
191
223
  donate winscp, sox
192
224
  do todo.inventionzy.txt all
193
225
  an "automatic mplayer split finder" :)
194
- buy forever strong italian, compare... :P
226
+ buy forever strong in italian, compare... :P
195
227
  mac version of the C player
196
228
  "just play from X to Y exactly" [?]
197
229
  forever strong DVD timestamps [and other?], compare timestamps with amazon VoD, too, also jonah amazon VoD [if desired?]
@@ -304,6 +336,8 @@ warn when labels both exist and don't match...
304
336
 
305
337
  @mplayer warn before overwrite
306
338
  @mplayer you cannot convert mkv files correctly you silly!
339
+ bounty dvdnav
340
+ fix dvdnav?
307
341
 
308
342
  == 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). ==
309
343
 
@@ -345,7 +379,6 @@ after 2020: DVD Navigator in C++ ?
345
379
  it should track "is paused" better (OCR)
346
380
 
347
381
  something that works with cable TV, too, somehow?
348
- figure out why I need to uses dvdnav:// sometimes, dvd:// others to not crash :P
349
382
 
350
383
  if sued, could use straight mplayer -ss (+- one at a time, or possibly in a playlist [?] like VLC can...)
351
384
  -hr-edl-seek ?