content-editing-movie-player 0.38.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. data/.gitmodules +3 -0
  2. data/.rvmrc +1 -0
  3. data/LICENSE.TXT +20 -0
  4. data/README.TXT +225 -0
  5. data/Rakefile +206 -0
  6. data/TODO +740 -0
  7. data/VERSION +1 -0
  8. data/_DO_NOT_RUN_IT_FROM_HERE_DOWNLOAD_THE_RELEASE_ZIP_FROM_SOURCEFORGE_INSTEAD +0 -0
  9. data/bin/sensible-cinema +60 -0
  10. data/bin/sensible-cinema-cli +161 -0
  11. data/business_ideas.txt +21 -0
  12. data/change_log_with_feature_list.txt +952 -0
  13. data/documentation/DOCUMENTATION_README.TXT +44 -0
  14. data/documentation/how_to_get_files_from_dvd.txt +30 -0
  15. data/documentation/is_it_legal_to_copy_dvds.txt +97 -0
  16. data/documentation/troubleshooting.txt +30 -0
  17. data/documentation/upconversion.txt +4 -0
  18. data/experimental_online_player_ocr_readme.txt +45 -0
  19. data/go +1 -0
  20. data/go.bat +2 -0
  21. data/go.sh +1 -0
  22. data/go_ocr_tracker.bat +1 -0
  23. data/goc +1 -0
  24. data/goc.bat +1 -0
  25. data/goc.sh +1 -0
  26. data/gpl-2.0.txt +339 -0
  27. data/gplv3.txt +219 -0
  28. data/history_and_related_works_list.txt +108 -0
  29. data/inventionzy_files/cone.png +0 -0
  30. data/inventionzy_files/md5s.txt +53 -0
  31. data/inventionzy_files/play_with_inserted_scene.bat +8 -0
  32. data/inventionzy_files/play_with_overlay.bat +24 -0
  33. data/inventionzy_files/transcript_mute_vlc.txt +117 -0
  34. data/legal_draft +23 -0
  35. data/lib/add_any_bundled_gems_to_load_path.rb +32 -0
  36. data/lib/auto_window_finder.rb +41 -0
  37. data/lib/blanker.rb +104 -0
  38. data/lib/check_installed_mac.rb +34 -0
  39. data/lib/convert_thirty_fps.rb +20 -0
  40. data/lib/edl_parser.rb +387 -0
  41. data/lib/eight_three.rb +28 -0
  42. data/lib/extract/dumpstream.bat +1 -0
  43. data/lib/extract/get_init.bat +3 -0
  44. data/lib/extract/pause_early.rb +13 -0
  45. data/lib/fake_blanker.rb +35 -0
  46. data/lib/frame_accurate.rb +3 -0
  47. data/lib/gui/base.rb +748 -0
  48. data/lib/gui/create-file.rb +24 -0
  49. data/lib/gui/create.rb +581 -0
  50. data/lib/gui/dependencies.rb +219 -0
  51. data/lib/gui/normal.rb +123 -0
  52. data/lib/gui/upconvert.rb +284 -0
  53. data/lib/keyboard_input.rb +60 -0
  54. data/lib/media_info_parser.rb +27 -0
  55. data/lib/mouse_forever.rb +19 -0
  56. data/lib/movie_hasher.rb +27 -0
  57. data/lib/mplayer_edl.rb +42 -0
  58. data/lib/muter.rb +87 -0
  59. data/lib/ocr.rb +125 -0
  60. data/lib/ocr_seed/netflix_b9.bmp +0 -0
  61. data/lib/overlayer.rb +373 -0
  62. data/lib/screen_tracker.rb +269 -0
  63. data/lib/subtitle_profanity_finder.rb +294 -0
  64. data/lib/vlc_programmer.rb +112 -0
  65. data/lib/zoom_player_max_edl.rb +50 -0
  66. data/never_do +40 -0
  67. data/notes_for_potential_developers.txt +46 -0
  68. data/preamble +17 -0
  69. data/roadmap_possibilities +12 -0
  70. data/spec/arse.srt +41 -0
  71. data/spec/auto_window_finder.spec.rb +65 -0
  72. data/spec/bad_beginning.srt +3778 -0
  73. data/spec/blanker.spec.rb +60 -0
  74. data/spec/common.rb +81 -0
  75. data/spec/convert_image.rb +25 -0
  76. data/spec/deity_end.srt +11 -0
  77. data/spec/dragon.srt +34 -0
  78. data/spec/edl_parser.spec.rb +270 -0
  79. data/spec/frame_accurate.spec.rb +71 -0
  80. data/spec/keyboard_input.spec.rb +73 -0
  81. data/spec/media_info_parser.spec.rb +29 -0
  82. data/spec/mplayer_edl.spec.rb +100 -0
  83. data/spec/muter.spec.rb +50 -0
  84. data/spec/notes +4996 -0
  85. data/spec/ocr.spec.rb +119 -0
  86. data/spec/overlayer.spec.rb +440 -0
  87. data/spec/screen_tracker.spec.rb +318 -0
  88. data/spec/sensible_cinema_gui.spec.rb +452 -0
  89. data/spec/subtitle_profanity_finder.spec.rb +224 -0
  90. data/spec/test_yaml.yml +4 -0
  91. data/spec/tsmuxer.output +33 -0
  92. data/spec/vlc_programmer.spec.rb +124 -0
  93. data/spec/youtube_edl.spec.rb +28 -0
  94. data/spec/zoom_player_max_edl.spec.rb +29 -0
  95. data/template_bats/README_DISTRO.TXT +8 -0
  96. data/template_bats/RUN SENSIBLE CINEMA CLICK HERE WINDOWS.bat +25 -0
  97. data/template_bats/_DO_NOT_RUN_IT_FROM_HERE_DOWNLOAD_THE_RELEASE_ZIP_FROM_SOURCEFORGE_INSTEAD +0 -0
  98. data/template_bats/mac/RUN SENSIBLE CINEMA CLICK HERE.command +5 -0
  99. data/template_bats/mac/advanced--create or edit sensible cinema edit list files.command +3 -0
  100. data/template_bats/mac/advanced--run-upconverting-video-player.command +3 -0
  101. data/template_bats/pc/advanced--create or edit sensible cinema edit list files.bat +2 -0
  102. data/template_bats/pc/advanced--run-upconverting-video-player.bat +2 -0
  103. data/todo.build_library.txt +11 -0
  104. data/todo.inventionzy.txt +162 -0
  105. data/todo.open_edl_list_org.txt +169 -0
  106. data/todo.propaganda +107 -0
  107. data/todo.subtitle +17 -0
  108. data/todo.upconvert +53 -0
  109. data/upconvert.bat +1 -0
  110. data/upconvert_from_screen/go_upscaling.bat +12 -0
  111. data/upconvert_from_screen/go_upscaling_works +0 -0
  112. data/upconvert_from_screen/old/latest2/combine_video.avs +23 -0
  113. data/upconvert_from_screen/old/latest2/go_no_upscaling.bat +1 -0
  114. data/upconvert_from_screen/old/latest2/go_upscaling.bat +12 -0
  115. data/upconvert_from_screen/old/latest2/push2.GRF +0 -0
  116. data/upconvert_from_screen/old/latest2/push3.grf +0 -0
  117. data/upconvert_from_screen/old/latest2/setup_capture_coords.rb +27 -0
  118. data/upconvert_from_screen/old/latest2/setup_directshow_filter_params.rb +29 -0
  119. data/upconvert_from_screen/old/latest2/upconvert_from_screen_me2.avs +19 -0
  120. data/upconvert_from_screen/old/latest_now_possibly_oudated/push2.GRF +0 -0
  121. data/upconvert_from_screen/old/latest_now_possibly_oudated/upconvert_from_screen_me2.avs +18 -0
  122. data/upconvert_from_screen/old/position_window.png +0 -0
  123. data/upconvert_from_screen/old/push_source_desktop.GRF +0 -0
  124. data/upconvert_from_screen/old/record_screen/record.bat +2 -0
  125. data/upconvert_from_screen/old/upconvert_from_screen.avs +21 -0
  126. data/upconvert_from_screen/old/upconvert_from_screen_me.avs +21 -0
  127. data/upconvert_from_screen/old/upconvert_from_screen_me2.avs +3 -0
  128. data/upconvert_from_screen/old/upconvert_from_screen_me_push_source.avs +3 -0
  129. data/upconvert_from_screen/old/uscreen.GRF +0 -0
  130. data/upconvert_from_screen/old/uscreen_me.GRF +0 -0
  131. data/upconvert_from_screen/push3.grf +0 -0
  132. data/upconvert_from_screen/upconvert_from_screen_me2.avs +19 -0
  133. data/vendor/movie-content-editor-read-only/.metadata/.lock +0 -0
  134. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/.tasks.xml.zip +0 -0
  135. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/repositories.xml.zip +0 -0
  136. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/tasks.xml.zip +0 -0
  137. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version +1 -0
  138. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index +0 -0
  139. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version +1 -0
  140. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree +0 -0
  141. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources +0 -0
  142. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs +3 -0
  143. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs +14 -0
  144. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs +3 -0
  145. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +5 -0
  146. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs +3 -0
  147. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache +0 -0
  148. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat +0 -0
  149. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml +2 -0
  150. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +2 -0
  151. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml +10 -0
  152. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +11 -0
  153. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml +4 -0
  154. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +10 -0
  155. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml +232 -0
  156. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml +4 -0
  157. data/vendor/movie-content-editor-read-only/.metadata/version.ini +1 -0
  158. data/vendor/movie-content-editor-read-only/.project +17 -0
  159. data/vendor/movie-content-editor-read-only/.pydevproject +11 -0
  160. data/vendor/movie-content-editor-read-only/.settings/org.eclipse.core.resources.prefs +6 -0
  161. data/vendor/movie-content-editor-read-only/SubIt.py +171 -0
  162. data/vendor/movie-content-editor-read-only/VLCMacVideo.py +257 -0
  163. data/vendor/movie-content-editor-read-only/VideoMac.ui +102 -0
  164. data/vendor/movie-content-editor-read-only/badwords.txt +4 -0
  165. data/vendor/movie-content-editor-read-only/blank.srt +4 -0
  166. data/vendor/movie-content-editor-read-only/edit.py +197 -0
  167. data/vendor/movie-content-editor-read-only/mergeCommands.py +73 -0
  168. data/vendor/movie-content-editor-read-only/mute.txt +5 -0
  169. data/vendor/movie-content-editor-read-only/panda.srt +4235 -0
  170. data/vendor/movie-content-editor-read-only/panda_custom.txt +3 -0
  171. data/vendor/movie-content-editor-read-only/panda_edit.srt +4235 -0
  172. data/vendor/movie-content-editor-read-only/subtitle.py +90 -0
  173. data/vendor/movie-content-editor-read-only/vlc.py +5579 -0
  174. data/vendor/movie-content-editor-read-only/vlcwidget.py +154 -0
  175. data/vendor/mplayer_patches/how_to_doze.bat +6 -0
  176. data/vendor/mplayer_patches/port_dir/PortIndex.quick +2 -0
  177. data/vendor/mplayer_patches/port_dir/how_to +20 -0
  178. data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/Portfile +285 -0
  179. data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/files/configure.x11.patch +20 -0
  180. data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/files/llvm-gcc-workaround.patch +11 -0
  181. data/vendor/mplayer_patches/port_dir/multimedia/rdp-projects/Portfile +43 -0
  182. data/vendor/mplayer_patches/port_dir_is_for_mac +0 -0
  183. data/www/content_editor.html +92 -0
  184. data/www/index.html +47 -0
  185. data/www/upconverting_movie_player.html +62 -0
  186. data/www/video reel.jpg +0 -0
  187. data/www/youtube_edl/.htaccess +44 -0
  188. data/www/youtube_edl/control_youtube.rhtml +141 -0
  189. data/www/youtube_edl/dispatch.fcgi +25 -0
  190. data/www/youtube_edl/render_edited.rb +25 -0
  191. data/www/youtube_edl/server_this_dir.rb +6 -0
  192. data/www/youtube_edl/todo +23 -0
  193. data/www/zoomplayer_max.png +0 -0
  194. data/zamples/edit_decision_lists/dvds/Harry Potter 2 chamber of secrets.txt +22 -0
  195. data/zamples/edit_decision_lists/dvds/aa_example_delete_list_that_has_no_cuts_in_it.txt +10 -0
  196. data/zamples/edit_decision_lists/dvds/aladdin.txt +30 -0
  197. data/zamples/edit_decision_lists/dvds/bambi.txt +17 -0
  198. data/zamples/edit_decision_lists/dvds/big_buck_bunny_dvd.txt +23 -0
  199. data/zamples/edit_decision_lists/dvds/bob the builder pets in a pickle.txt +10 -0
  200. data/zamples/edit_decision_lists/dvds/bobs_big_plan.txt +10 -0
  201. data/zamples/edit_decision_lists/dvds/cars_2.txt +26 -0
  202. data/zamples/edit_decision_lists/dvds/cars_disney.txt +40 -0
  203. data/zamples/edit_decision_lists/dvds/condor_man_widescreen.txt +22 -0
  204. data/zamples/edit_decision_lists/dvds/cool runnings.txt +53 -0
  205. data/zamples/edit_decision_lists/dvds/court_jester.txt +24 -0
  206. data/zamples/edit_decision_lists/dvds/edls_being_edited/amazing_grace.txt +49 -0
  207. data/zamples/edit_decision_lists/dvds/edls_being_edited/father_goose.txt +41 -0
  208. data/zamples/edit_decision_lists/dvds/edls_being_edited/harry_potter_and_the_goblet_of_fire.txt +45 -0
  209. data/zamples/edit_decision_lists/dvds/edls_being_edited/hugo.txt +31 -0
  210. data/zamples/edit_decision_lists/dvds/edls_being_edited/making_marriage_work.txt +15 -0
  211. data/zamples/edit_decision_lists/dvds/edls_being_edited/national_treasure.txt +26 -0
  212. data/zamples/edit_decision_lists/dvds/edls_being_edited/percy_jackson_lightening_thief.txt +40 -0
  213. data/zamples/edit_decision_lists/dvds/edls_being_edited/percy_jackson_lightening_thief_mute_scary.txt +23 -0
  214. data/zamples/edit_decision_lists/dvds/edls_being_edited/prince_of_egypt.txt +28 -0
  215. data/zamples/edit_decision_lists/dvds/edls_being_edited/puss_in_boots.txt +33 -0
  216. data/zamples/edit_decision_lists/dvds/edls_being_edited/ratatouille.txt +35 -0
  217. data/zamples/edit_decision_lists/dvds/edls_being_edited/rio.txt +24 -0
  218. data/zamples/edit_decision_lists/dvds/edls_being_edited/test_delete_list_for_experimenting_with.txt +10 -0
  219. data/zamples/edit_decision_lists/dvds/edls_being_edited/the_explorers.txt +49 -0
  220. data/zamples/edit_decision_lists/dvds/finding_neverland.txt +32 -0
  221. data/zamples/edit_decision_lists/dvds/flight_of_the_navigator.txt +40 -0
  222. data/zamples/edit_decision_lists/dvds/happiest baby on the block.txt +9 -0
  223. data/zamples/edit_decision_lists/dvds/harry_potter_3_prisoner_of_azkaban.txt +37 -0
  224. data/zamples/edit_decision_lists/dvds/hitchhiker's_guide_to_the_galaxy.txt +32 -0
  225. data/zamples/edit_decision_lists/dvds/how_to_train_your_dragon.txt +25 -0
  226. data/zamples/edit_decision_lists/dvds/if_a_man_answers.txt +43 -0
  227. data/zamples/edit_decision_lists/dvds/innerspace.txt +77 -0
  228. data/zamples/edit_decision_lists/dvds/iq.txt +32 -0
  229. data/zamples/edit_decision_lists/dvds/king_of_kings.txt +28 -0
  230. data/zamples/edit_decision_lists/dvds/kung_fu_panda_1.txt +17 -0
  231. data/zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt +18 -0
  232. data/zamples/edit_decision_lists/dvds/monsters_vs_aliens.txt +41 -0
  233. data/zamples/edit_decision_lists/dvds/muppet_treasure_island.txt +21 -0
  234. data/zamples/edit_decision_lists/dvds/nanny_mcphee.txt +31 -0
  235. data/zamples/edit_decision_lists/dvds/narnia_voyage_of_the_dawn_treader.txt +16 -0
  236. data/zamples/edit_decision_lists/dvds/pack_jackson_wedding_2007-03-03.txt +31 -0
  237. data/zamples/edit_decision_lists/dvds/peter_pan.txt +29 -0
  238. data/zamples/edit_decision_lists/dvds/remember_the_titans.txt +35 -0
  239. data/zamples/edit_decision_lists/dvds/sintel_open_source_blender_ntsc_dvd.txt +22 -0
  240. data/zamples/edit_decision_lists/dvds/snow_white_and_the_7_dwarfs_1937.txt +19 -0
  241. data/zamples/edit_decision_lists/dvds/speed_racer.txt +47 -0
  242. data/zamples/edit_decision_lists/dvds/tangled.txt +21 -0
  243. data/zamples/edit_decision_lists/dvds/tron_legacy.txt +29 -0
  244. data/zamples/edit_decision_lists/dvds/turn_around_alma_younger.txt +17 -0
  245. data/zamples/edit_decision_lists/files/conference_music_video.txt +10 -0
  246. data/zamples/edit_decision_lists/netflix_instant/avatar-last-air-bender-movie.txt +13 -0
  247. data/zamples/edit_decision_lists/netflix_instant/avatar-last-airbender-series.txt +1 -0
  248. data/zamples/edit_decision_lists/netflix_instant/greatest_story_ever_told_netflix.txt +10 -0
  249. data/zamples/edit_decision_lists/netflix_instant/wrinkle-in-time.txt +23 -0
  250. data/zamples/edit_decision_lists/notes_on_movies_without_edls_yet/tron.txt +10 -0
  251. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/White Christmas.txt +15 -0
  252. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/all_dogs_go_to_heaven.txt +9 -0
  253. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/cars_disney.txt +24 -0
  254. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/happy_feet.txt +12 -0
  255. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/labyrinth.txt +17 -0
  256. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/star_trek_generations_hulu.txt +8 -0
  257. data/zamples/edit_decision_lists/old_not_yet_updated/example_edit_decision_list.txt +14 -0
  258. data/zamples/edit_decision_lists/old_not_yet_updated/youtube/gummy_bear_song_youtube.txt +9 -0
  259. data/zamples/edit_decision_lists/youtube/demo_mutes.txt +12 -0
  260. data/zamples/edit_decision_lists/youtube/nuki_song_youtube.txt +14 -0
  261. data/zamples/edit_decision_lists/youtube/nuki_song_youtube_pointer.txt +3 -0
  262. data/zamples/players/how_to_create_more_players.txt +24 -0
  263. data/zamples/players/hulu/total_length_over_an_hour.txt +25 -0
  264. data/zamples/players/netflix/netflix_firefox_non_maximized.txt +25 -0
  265. data/zamples/players/vlc/full_screened_total_length_over_an_hour.txt +27 -0
  266. data/zamples/players/vlc/windowed_total_length_over_an_hour.txt +26 -0
  267. data/zamples/players/vlc/windowed_total_length_under_an_hour.txt +22 -0
  268. data/zamples/players/youtube/full_screened_1024x768.txt +20 -0
  269. data/zamples/players/youtube/full_screened_1152x864.txt +20 -0
  270. data/zamples/players/youtube/full_screened_1680x1050.txt +20 -0
  271. data/zamples/players/youtube/normal_in_youtube.com.chrome.txt +23 -0
  272. data/zamples/players/youtube/note_these_assume_less_than_10_minutes_length.txt +2 -0
  273. metadata +483 -0
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.38.0
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/ruby # so my editor will like the file...
2
+ =begin
3
+ Copyright 2010, Roger Pack
4
+ This file is part of Sensible Cinema.
5
+
6
+ Sensible Cinema is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ Sensible Cinema is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
18
+ =end
19
+
20
+
21
+ puts 'Starting Clean Editing Movie Player (formerly Sensible Cinema)...'
22
+
23
+ require File.expand_path(File.dirname(__FILE__) + "/../lib/add_any_bundled_gems_to_load_path.rb")
24
+ begin
25
+ require 'sane'
26
+ require 'whichr'
27
+ rescue LoadError => e
28
+ raise 'please run the rake command to copy dependencies (like rebundle_copy_in_dependencies) first, as we prefer using cached gems ' + e.to_s
29
+ end
30
+
31
+ raise 'probably need jruby' unless OS.java? # put after loading sane gem so we have the OS gem available :)
32
+
33
+ require_relative '../lib/gui/dependencies'
34
+ require_relative '../lib/gui/base'
35
+ require_relative '../lib/gui/normal'
36
+ require_relative '../lib/gui/create' # LODO maybe don't need to require all these every time...
37
+ require_relative '../lib/gui/create-file'
38
+ require_relative '../lib/gui/upconvert'
39
+
40
+ if $0 == __FILE__
41
+ if ARGV.index('-h') || ARGV.index('--help')
42
+ puts <<-EOL
43
+ # jruby bin/sensible-cinema # DVD/file EDL player
44
+ $ jruby bin/sensible-cinema --create-mode # DVD output "parser/cutter" create mode [advanced]
45
+ $ jruby bin/sensible-cinema --upconvert-mode # DVD/file upconverting player
46
+ --exit-immediately # don't show the GUI, for benchmarking startup times
47
+ $ jruby bin/sensible-cinema-cli # the experimental OCR tracker for edited arbitrary online/local/internet players.
48
+ run it with --help to see its various options.
49
+
50
+ $ jruby lib/**.rb Many library files have their own "main" method for example to 'just' parse an EDL file, etc. Ask for more details.
51
+ EOL
52
+ else
53
+ a = SensibleSwing::MainWindow.new true, ARGV
54
+ a.setup_default_buttons
55
+ puts 'Please use the Sensible Cinema GUI window popup...'
56
+ if ARGV.index('--exit-immediately')
57
+ a.dispose
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,161 @@
1
+ #!/usr/bin/ruby
2
+ =begin
3
+ Copyright 2010, Roger Pack
4
+ This file is part of Sensible Cinema.
5
+
6
+ Sensible Cinema is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ Sensible Cinema is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
18
+ =end
19
+
20
+ require File.dirname(__FILE__) + "/../lib/add_any_bundled_gems_to_load_path.rb"
21
+ require 'sane'
22
+
23
+ for file in ['overlayer', 'keyboard_input', 'screen_tracker', 'ocr', 'vlc_programmer', 'edl_parser', 'auto_window_finder', 'jruby-swing-helpers/swing_helpers']
24
+ require_relative '../lib/' + file
25
+ end
26
+
27
+ # shared
28
+ require_relative '../lib/jruby-swing-helpers/mouse'
29
+
30
+ def choose_file title, dir
31
+ SwingHelpers.new_previously_existing_file_selector_and_go title, dir
32
+ end
33
+
34
+ def go_sc(args)
35
+
36
+ $VERBOSE = 1 if args.delete('-v')
37
+ $DEBUG = 1 if args.delete('-d')
38
+ if args.delete('--clear-cache')
39
+ OCR.clear_cache!
40
+ puts 'cleared cache'
41
+ end
42
+
43
+ $stderr.puts 'warning: currently windows only for certain parts currently' unless ENV['OS'] == 'Windows_NT'
44
+
45
+ if args.detect{|arg| arg == '-h' || arg == '--help'}
46
+
47
+ puts <<-END
48
+
49
+ syntax: [player_description.yml] [delete_list.txt|test] [-t, -v, --clear-cache] (or just nothing at all--it will prompt for all things it needs)
50
+
51
+ If you specify "test" for the edit list, it will pause 2s, take a single snapshot of the selected player, then exit.
52
+ Useful for debugging your screen capture of the current player.
53
+ You can also specify -v or -t if you want to enable more verbose (chatty) output.
54
+
55
+ END
56
+
57
+ for file in Dir[__DIR__ + '../zamples/mute*/*']
58
+ puts "\n", "Example file:", file + "\n\n", File.read(file)
59
+ end
60
+
61
+ exit 1
62
+ end
63
+
64
+ players_root_dir = __DIR__ + "/../zamples/players"
65
+ # allow for command line filenames
66
+ player_description = args.shift
67
+ unless player_description
68
+ player_description = AutoWindowFinder.search_for_player_and_url_match(players_root_dir)
69
+ if player_description
70
+ p 'auto selected player ' + player_description
71
+ else
72
+ player_description = ''
73
+ end
74
+ end
75
+
76
+ if !File.exist?(player_description)
77
+ puts 'Please Select Computer Player'
78
+ player_description = choose_file(" SELECT COMPUTER PLAYER", players_root_dir)
79
+ raise unless player_description
80
+ end
81
+
82
+ edit_decision_list = args.shift.to_s
83
+
84
+ if edit_decision_list == 'test'
85
+ overlay = nil
86
+ p 'got test...just doing screen dump'
87
+ $VERBOSE=true # adds some extra output
88
+ elsif File.exist? edit_decision_list
89
+ # accept it from the command line
90
+ else
91
+ # assume they want an online player, right? LODO player can tell us...
92
+ auto_found = AutoWindowFinder.search_for_single_url_match
93
+ if auto_found
94
+ p 'auto-discovered open window for player x EDL, using it ' + auto_found
95
+ edit_decision_list = auto_found
96
+ else
97
+ puts 'Select Edit Decision List to use'
98
+ edit_decision_list = choose_file(" SELECT EDIT DECISION LIST", __DIR__ + "/../zamples/edit_decision_lists")
99
+ end
100
+ settings = EdlParser.parse_file edit_decision_list
101
+
102
+ if !edit_decision_list
103
+ puts "error: have to specify a scene descriptions file\n or specify \"test\" on the command line if you just want to snapshot your player"
104
+ exit 1
105
+ end
106
+
107
+ puts 'Selected scene descriptions file ' + File.basename(edit_decision_list) + "\n\t(full path: #{edit_decision_list})"
108
+ Blanker.startup
109
+ # todo start it late as it has an annoying startup blip
110
+ end
111
+ overlay = OverLayer.new(edit_decision_list) if edit_decision_list
112
+
113
+ if File.exist? player_description.to_s
114
+ puts 'Selected player ' + File.basename(player_description) + "\n\t(full path: #{player_description})"
115
+ # this one doesn't use any updates, so just pass in file contents, not filename
116
+ screen_tracker = ScreenTracker.new_from_yaml File.binread(player_description), overlay
117
+ does_not_need_mouse_jerk = YAML.load_file(player_description)["does_not_need_mouse_movement"]
118
+ unless does_not_need_mouse_jerk
119
+ p 'yes using mouse jitter' if $VERBOSE or $DEBUG
120
+ Mouse.jitter_forever_in_own_thread # when this ends you know a snapshot was taken...
121
+ else
122
+ p 'not using mouse jitter' if $VERBOSE or $DEBUG
123
+ end
124
+
125
+ # exit early if we just wanted a screen dump...a little kludgey...
126
+ unless overlay
127
+ puts 'warning--only doing screen dump in t-minus 2s...'
128
+ sleep 2
129
+ puts 'snap!'
130
+ screen_tracker.dump_bmps
131
+ exit 1
132
+ end
133
+ screen_tracker.process_forever_in_thread
134
+ else
135
+ puts 'warning--not using any screen tracking...'
136
+ end
137
+
138
+ OCR.unserialize_cache_from_disk # do this every time so we don't delete it if they don't have one...
139
+
140
+ p 'moving mouse to align it for muting down 10'
141
+ Mouse.move_mouse_relative 0, 10 # LODO
142
+ puts "Opening the curtains... (please play in your other video player now)"
143
+ overlay.start_thread true
144
+ key_input = KeyboardInput.new overlay
145
+ key_input.start_thread # status thread
146
+ at_exit {
147
+ Blanker.shutdown # lodo move this and the 'q' key to within overlayer
148
+ OCR.serialize_cache_to_disk
149
+ }
150
+ begin
151
+ key_input.handle_keystrokes_forever # blocking...
152
+ ensure
153
+ puts "syntax from command line: \"#{player_description}\" \"#{edit_decision_list}\""
154
+ end
155
+
156
+ end
157
+
158
+ if __FILE__ == $0
159
+ puts 'Welcome to Sensible Cinema...'
160
+ go_sc ARGV
161
+ end
@@ -0,0 +1,21 @@
1
+ Not that I plan on making money on it, but...
2
+
3
+ a business model where DVD's could be
4
+ purchased (along with the original) with any filter they'd like
5
+ applied. The author of the filter would receive a percentage of the
6
+ sale, prompting more people to upload quality edits so theirs gets to
7
+ be #1.
8
+
9
+ Or pay x to use filter once, or charge a "donation fee" when downloading
10
+ SC at all, or a cut of the filter per download, or a "donation"
11
+ per filter (with a cut) per download.
12
+
13
+ people can send you a file and you send it back edited to them LOL (file meani
14
+ ng a rip of some DVD they own, +- requiring them to send in an original DVD too
15
+ LOL.
16
+
17
+
18
+ Or make it all free and rely on charitable community crowd-sourcing only :P
19
+
20
+ google TV app for $4.99
21
+ They send you the original DVD and the ripped version, you send them back an edited ripped version and their original DVD.
@@ -0,0 +1,952 @@
1
+ 0.38.0
2
+
3
+ New project name "Clean Editing Movie Player" woot.
4
+
5
+ Clarify some verbiage/cache better/more sanely for subtitles. Update documentation to match new style more.
6
+
7
+ Youtube EDL new URL: http://cleaneditingmovieplayer.inet2.org/youtube_edl/yo?mute_start=2&mute_end=7&skip_start=10&skip_end=20&youtube_video_id=ylLzyHk54Z0
8
+
9
+ 0.37.0 5/1/12
10
+
11
+ fix some verbiage, attempt to remove file modification code to come more in line with the CopyRight act.
12
+ Fix some install quirks. Faster now, hopefully :P
13
+
14
+ 0.36.1
15
+
16
+ fix downloads to be more robust.
17
+
18
+ = 0.36.0 4/28/12 =
19
+
20
+ Some UI improvements, fix subtitles parsing again.
21
+
22
+ = 0.35.4 4/23/12 =
23
+
24
+ Fixes for mac, some UI improvements phew!
25
+ Also fixed it for subtitle synchro without entering sync points [oops]
26
+ Added a couple DVD's in there.
27
+
28
+ = 0.35.3 4/21/12 =
29
+
30
+ Test distro for mac. Also include dvdsample.exe the MS DVD Navigator "demo" jumper. See the source code.
31
+ This release if you want it.
32
+
33
+ = 0.35.2 4/20/12 =
34
+
35
+ Fix bug in DVD player, new mac release.
36
+
37
+ = 0.35.1 4/18/12 =
38
+
39
+ Attempt to not infinite loop on edge case DVD timings.
40
+
41
+ Also note the existence of several videos showing how to do "certain things"
42
+ here: https://sourceforge.net/projects/sensible-cinema/files/videos/
43
+
44
+ = 0.35.0 4/18/12 =
45
+
46
+ Preferences setup has changed, uses a new version of mplayer which "heck, might!" be more stable,
47
+ but I *think* it should be more accurate by 0.2s.
48
+
49
+ = 0.34.5 4-17-12 =
50
+
51
+ Made side by Side EDL format to default to "XBMC" human readable. Ask and ye shall receive...
52
+
53
+ Note that one can already "beam" edited video content from one computer to the next,
54
+ using my on-screen-video capture utility. Even can capture audio from the computer "natively"
55
+ for vista+.
56
+ You can also beam it to a console device (transmit) the (now being transmitted as edited) video.
57
+
58
+ = 0.34.4 4-6-12 =
59
+
60
+ Fix XBMC EDL style creation. Hopefully fix sorting bug for real this time.
61
+
62
+ NB that with ZoomPlayer Max's Blu-Ray support, you can watch blu-ray's edited too.
63
+
64
+ Split pomodoro timer out to its own repo. :)
65
+
66
+ = 0.34.3 3-17-12 =
67
+
68
+ Fix sorting bug. Add a few titles.
69
+
70
+ Add pomodoro timer!
71
+
72
+ = 0.34.2 2-6-12 =
73
+
74
+ minor subtitle friendli-ezations.
75
+
76
+ = 0.34.1 1-17-12 =
77
+
78
+ minor subtitle scanning improvements, EDL scanning improvements.
79
+
80
+ Note also that the subtitle profanity parser has been augmented to include "phrases that may accompany questionable scenes"
81
+ to give you hints as to where they may be, so you can search and discover them more easily/know approximately the time
82
+ when they occur/automatically find them even though not profanity per se.
83
+
84
+ = 0.34.0 1-6-12 =
85
+
86
+ Add a youtube "user controlled playback" device yes!
87
+ Parse EDL's barely slightly more friendlier.
88
+
89
+ = 0.33.8 1-2-12 =
90
+
91
+ When you scan for profanities, it shows you a euphemized version for you to look through. Minor UI and mac fixes.
92
+
93
+ = 0.33.7 12-31-11 =
94
+
95
+ Add entry number for when it asks you for subtitles, so you won't get confused as to which one it is if there are multiple.
96
+
97
+ = 0.33.6 12-28-11 =
98
+
99
+ Some aesthetic changes to the profanity scanner and create mode.
100
+
101
+ = 0.33.5 12-24-11 =
102
+
103
+ Allow for mutes to brush up against each other, like muting from [1.0, 2.0] and then [2.0, 3.0] will work now.
104
+ Fix some other minor bugs.
105
+
106
+ = 0.33.4 12-21-11 =
107
+
108
+ Add ability to write out "euphemized" synchronized subtitle files now. Make subtitle profanity finder slightly better.
109
+
110
+ = 0.33.3 12-19-11 =
111
+
112
+ Make sync'ing the srt files *much* easier, and more automated.
113
+ Now it parses the .srt files for you, and shows you the text, so that it's human usable.
114
+ If your subtitle files already match then this doesn't matter much, but it seems like 75% of them don't.
115
+ Hooray for synchro!
116
+
117
+ Also added a new working ZoomPlayer MAX create EDL button. Ping me if anybody wants this automated like "auto start zoom player" for me
118
+ or the like. Another player, and it seems high quality, though costs.
119
+
120
+ = 0.33.2 12-19-11 =
121
+
122
+ Make it possible to programmatically spit out an EDL from a subtitle file.
123
+
124
+ = 0.33.1 12-16-11 =
125
+
126
+ Make it a user preference for how much buffering to have.
127
+
128
+ = 0.33.0 12-16-11 =
129
+
130
+ Allow for "tighter" synchronization with onscreen display timestamps, for higher accuracy compared to the underlying MPEG stream.
131
+ This is useful for DVD's that have timestamp resets in them--they should be quite accurate now.
132
+
133
+ = 0.32.5 12-15-11 =
134
+
135
+ Fix a bug in showing prompts, try to have better timing calculation for higher accuracy.
136
+
137
+ = 0.32.3,4 12-14-11 =
138
+
139
+ Fix some synchronization issues for notifying when a DVD has been inserted. Hopefully this won't crash anybody's computers :P
140
+
141
+ = 0.32.2 12-12-11 =
142
+
143
+ Add a "zoom player" prompt to the beginning. Minor license verbiage change.
144
+
145
+ = 0.32.1 12-10-11=
146
+
147
+ Fix a bug in updating DVD disk drives too frequently, which was causing WMI to crash [!]
148
+
149
+ NB that for several versions, we have been able to "extrapolate" from the DVD NAV packet time plus elapsed difference in MPEG time,
150
+ more accurate muting/frame skipping within DVD's.
151
+ Another way to do it would be to infer "more precise" actual time by "time elapsed" since the last DVD time.
152
+
153
+ ZoomPlayer Max has an excellent UI for editing EDL's, with lots of features.
154
+ can do "inverse edit" (play only lists)
155
+ can do "cut section", "jump to position", "mute audio", "hude subtitles", "end of playback"
156
+ also nice would/might be "jump to title with position" or the other mentioned in the other files herein.
157
+ It can play DVD's back edited splendidly.
158
+
159
+ = 0.32.0 12-6-11 =
160
+
161
+ New version with an "upconvert from online player" button and instructions. I haven't actually tried it out yet, but it's there.
162
+ Also new DVD defaults
163
+
164
+ Note also that the source code itself and its various commits is a description of the several inventions contained herein, esp.
165
+ when combined with their descriptions in this file and todo.inventionzy file
166
+
167
+ see also http://www.youtube.com/watch?feature=player_profilepage&v=0AsJtVyVMzk sensible cinema using keystroke combinations which mute the applications volume while tracking. the unmute actually uses volume adjustment, as well, in this example, using keyboard strokes.
168
+ see http://www.youtube.com/watch?v=8cUV8DKLOK8 sensible cinema using keystroke combinations which mute the system volume while tracking
169
+ see http://www.youtube.com/rogerdpack#p/a/u/2/gJ4jFCFPan0 show off new feature of sensible cinema v0.21.6 See the changelog for sensible cinema for details
170
+
171
+ = 0.31.8 12-3-11 =
172
+
173
+ subtitles almost work in smplayer, mac require new packages
174
+
175
+ = 0.31.7 12-3-11 =
176
+
177
+ hopefully added subtitles_to_display_relative_path
178
+
179
+ = 0.31.6 12-2-11 =
180
+
181
+ Ok this time it's squashed, ok? Please?
182
+
183
+ = 0.31.5 12-1-11 =
184
+
185
+ Cleanup DVD list bug.
186
+
187
+ = 0.31.4 11-30-11 =
188
+
189
+ Fix some windows usability issues, refresh DVD list bug. Also bump mplayer-edl
190
+
191
+ = 0.31.3 - 9-30-11
192
+
193
+ Better (again) for macs, requires mplayer-edl for everything now, better install procedures for windows
194
+ some UI improvements, more automation for creating new EDL's.
195
+ Fix some bugs on mac.
196
+
197
+ = 0.31.2 == 11-23-11
198
+
199
+ Make it work better on macs.
200
+
201
+ = 0.31.1 == 11-19-11
202
+
203
+ Always use mplayer-edl for now--this "should" allow EDl's to work with DVD's past MPEG PTS resets now.
204
+
205
+ == 0.31.0 == 11-18-11
206
+
207
+ fix mplayer-edl to actually *skip* within DVD's now. And work without any concern for mplayer_splits et al.
208
+
209
+ == 0.30.5 == 11-9-11
210
+
211
+ minor UI tweaks, and also make it have more sane testing button for create mode (more accurate now, in that it keeps the audio in sync
212
+ so you can tell if your mutes are accurate again)
213
+
214
+ == 0.30.4 == 11-8-11
215
+
216
+ Fix it to parse profanities better than a postceded by punctuation.
217
+ Add some EDL's
218
+ Minor gui tweakages.
219
+
220
+ NB that we can output XMl or JSON to transmit the EDl timestamp information easily back and forth, and
221
+ cross application, cross platform, client to service and vice versa, etc.
222
+
223
+ == 0.30.3 ==
224
+
225
+ fix bug preventing smplayer from working in normal mode (oops).
226
+ tighten up mplayer-edl timings
227
+
228
+ == 0.30.2 ==
229
+
230
+ Fix it to use custom mplayer.exe in smplayer better now [whoops], cleanup mplayer-edl
231
+
232
+ == 0.30.1 ==
233
+
234
+ There has been a user-submitted "upload/download/differentiate" location created.
235
+ new mplayer-edl was released
236
+
237
+ == 0.30.0 ==
238
+
239
+ have it use (on windows) a more powerful mplayer-edl!
240
+ cleanup UI a bit
241
+
242
+ NB that we have examplars of not doing muting all the way, but just "almost muting" or "obscuring" volume
243
+
244
+ == 0.29.1 ==
245
+
246
+ allow for creating edlout file on the fly via button
247
+
248
+ == 0.29.1 ==
249
+
250
+ Fix bugs so that file based processing will work again, attempt to humanize it a little better.
251
+
252
+ == 0.29.0 ==
253
+
254
+ Included EDL file that represents keeping things "in" instead of cutting things "out" only. And file md5sum et al, regarding said file.
255
+
256
+ Big change: if you want to edit a file, it now requires a "dvd_start_offset" so that it can coordinate between DVD's and files themselves.
257
+ I hope this coordinates "enough" or "right" now.
258
+
259
+ == 0.28.4 ==
260
+
261
+ Add button for "fast preview" with mplayer. Attempt simplify UI.
262
+
263
+ == 0.28.3 ==
264
+
265
+ Fix typo. Small other notes added.
266
+
267
+ == 0.28.{1,2} ==
268
+
269
+ NB that you can run VobSub Ripper to extract subtitles from DVD's, then use
270
+ those for editing purposes, without ever extracting images/video from the DVD.
271
+ run vsrip, choose F:\VIDEO_TS\VTS_01_0.IFO
272
+
273
+ NB that we have auto-coordinating subtitle morphing software now
274
+ to automagically align it with the actual audio/video tracks.
275
+
276
+ Note also that it's possible to actually programmatically set the master volume control
277
+ (viz: Tron), see http://stackoverflow.com/questions/3249550/is-there-a-way-in-java-jna-to-set-the-master-system-volume-reliably-in-xpvi/7550110#7550110
278
+ and/or set it per application, through Windows Vista+
279
+ Also in XP: http://blogs.msdn.com/b/larryosterman/archive/2007/03/06/how-do-i-change-the-master-volume-in-windows-vista.aspx
280
+
281
+ First attempt at mac friendly release.
282
+
283
+ Also has normal "user ratings" like x stars out of y.
284
+
285
+ Added also an example of "binding" or "associating" it with various review sites online/information sites about the DVD.
286
+
287
+ Also "could" use opensubtitles to auto-download subtitles, test with or without user feedback, and/or parse.
288
+
289
+ == 0.28.0 ==
290
+
291
+ Includes vendored support (experimental) for EDL playback via VLC via its internal libVLC control API
292
+ includes parsing of srt files to detect subtitle profanity time, merging
293
+ of EDL with other EDL, subtitle preferences, etc.
294
+ And a GUI for editing etc.
295
+ pulled from http://code.google.com/p/movie-content-editor, has its own license/owner/responsibility.
296
+ "VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as
297
+ DVD, Audio CD, VCD, and various streaming protocols."
298
+ So I suppose you can say we merge/join with that and its playback/scripting/EDL playback ability now.
299
+ Also had the idea of applying edit lists to streaming content like media/audio
300
+ (ex: OCR iTunes to mute etc., possibly automatically detecting playback content via strings, OCR, or being
301
+ able to specify it play file x at time y, etc., as one can do with VLC).
302
+ Also note that VLC can playback from a playlist to mix different types of media (audio/video, differing sources, etc.).
303
+ VLC also contains several other side-projects too, so I suppose you can say our code mixes well with theirs for
304
+ those as well. This may also bind us to a license as well, I'm not sure.
305
+
306
+ == 0.27.0 ==
307
+
308
+ Added support for Microsoft DVD Player style playback codes.
309
+ This one uses the built in DVD player interface, which is typically licensed,
310
+ and also performs quite well. It also respects UOP's et al.
311
+ It involves interaction back and forth to control playback/monitor.
312
+
313
+ == 0.26.3 ==
314
+
315
+ Make it so that it can modify timestamps from .srt files programmatically in order to ensure that time signatures match
316
+ whichever player you're using now.
317
+
318
+ Includes a means of coordinating across different time signatures based on start time and length.
319
+
320
+ Had a git commit with an example pure JSON EDL, and several other mixed/mplayer compatible styles.
321
+
322
+ NB that sensible cinema can use a directshow capture device and pin it to the location of a given window to be able to
323
+ stream/upconvert.
324
+
325
+ NB that we have an optimized routine for taking screen captures so as to not
326
+ use up as much cpu by sampling/doing them less frequently et all.
327
+
328
+ Also includes work toward a directshow DVD player employing its API's
329
+ (in separate project) for playback/skipping/muting/pausing et al.
330
+ and basically progammatic control of a playing back DVD player.
331
+
332
+ example EDL with a tenseness metric by level
333
+ example EDL with a tenseness metric by age commits
334
+
335
+ == 0.26.2 ==
336
+
337
+ Fix license acceptance code (quick redeploy).
338
+
339
+ == 0.26.1 ==
340
+
341
+ Cleaned up the upconvert interface, added a way for easier comparison of different upconversion settings (automated-ly-zy).
342
+
343
+ Note that we also use a simplified (for editing) EDL file format for easier human consumption,
344
+ including use of timestamps.
345
+
346
+ Note also that you can screen capture a playing video using my other project to project it "edited" to some device.
347
+ Also you can capture the audio and "manipulate it" using my other project.
348
+
349
+ Add some EDL's
350
+
351
+ == 0.26.0 ==
352
+
353
+ It can now parse out (screen scraping from web page), at runtime, EDL information from a user editable online 3rd party wiki
354
+ (imdb parent guide), including property timestamp conversions and making it easy to read, etc., and doing all the various
355
+ sections to an appropriate category.
356
+ So it binds the DVD's unique ID with its imdb database.
357
+
358
+ Note that Sensible Cinema can convert timestamps back and forth, using the command line,
359
+ to convert its own EDL's into a format that is copy and pastable into a wiki page on IMDB. (30 to 29.97 fps)
360
+
361
+ Note also that it could just as easily parse from a wiki, parse out timestamps, including +- descriptions,
362
+ and save that away to be distributable by the program at compile time, as well.
363
+
364
+ Note also that it is basically almost a "universal" player at this point, because it has been made to work
365
+ with demos of already several various online/local program playing video players.
366
+ Including software blu-ray players etc.
367
+
368
+ Note that it already demo'ed being able to have "user customizable" volume level for muted sections
369
+ (i.e. not mute it all the way, if desired)
370
+
371
+ Also included "leveling" (if above x level, then allow or the like) demo'ed.
372
+
373
+ Note also that it can be used by hooking to a projector or from computer -> tv so we have this unofficially
374
+ in the living room or across several devices or the like.
375
+
376
+ Note that the various video screenshots recorded imply that one would be able to
377
+ readily stream sensible cinema via screenshot capture to any device ready to receive it.
378
+ See also coupling it with [1] and [2].
379
+
380
+ [1] https://github.com/rdp/virtual-audio-capture-grabber-device
381
+ [2] https://github.com/rdp/screen-capture-recorder-program
382
+
383
+ == 0.25.5==
384
+
385
+ Cleaned up upconverting options to hopefully cause less confusion. Until somebody complains otherwise.
386
+
387
+ Also note the existence of these files and their implication:
388
+ ...\sensible-cinema>ls legal
389
+ control_youtube.html md5s.txt serve.rb transcript_mute_vlc.txt
390
+
391
+
392
+ == 0.25.4 ==
393
+
394
+ Also note experimented with diferent frequencies of mouse jitter at one point,
395
+ to preserve that the timestamp be available on screen, and also it
396
+ avoids annoying the user with mouse jerks when the user has been moving it,
397
+ and several other advanced features.
398
+
399
+ Add a mode for "skipping" when using OCR overlayer (mute and blank, basically).
400
+
401
+ == 0.25.3 ==
402
+
403
+ Mostly explore some more "inventionzy" ideas.
404
+ Add abiliy to filter whole categories of content (allow/disallow them), or levels of content, based on
405
+ user perceived level/user desired, including opposite.
406
+
407
+ Note also that we have successfully discovered how to integrate with playing through peoples'
408
+ portable playing devices/consoles (windows media center--use plugins, XBMC, use its EDL's, ps3ms, use EDL's),
409
+ see mailing list.
410
+
411
+ Also a lot of work has been done on upconverting screen capture, which can also similarly be
412
+ applied to edited movie content, with DVD and/or/ blu-ray and/or online based streaming media.
413
+
414
+ Also we have fairly sophisticated algorithms for determining the correct time to actually do or trust the
415
+ OCR readout, ex: checking for screen change frequently before doing any actual digit detection,
416
+ using third party OCR software reader software, checking to coordinate timestamp signatures when
417
+ "09" goes to "10" or the like. To help the timing needs there. Also we can detect
418
+ arbitrary players, and warn when detect fails/ceases, and detect when it pauses but doesn't fail, et al.
419
+ See also more comments below, etc.
420
+
421
+ Also sensible cinema has been shown to work with 3rd party "subtitle detection" software, run that against
422
+ the film, and it works splendidly. There has also been some experimentation with leveraging 3rd party
423
+ (read: Microsoft) DVD player software/API's/internals in order to effect an appropriate EDL playback,
424
+ with and without messages being sent back and forth between the two programs.
425
+
426
+ We've also experimented with capturing virtual audio (audio out), as well as combining it with
427
+ virtual camera (desktop screen shot capture), in order to be able to beam out what is playing on the
428
+ computer to available devices. This also could be made to work for edited content output, ex: netflix instant
429
+ and since it can select the exact coordinates it needs, it could thus be made to avoid the timestamp
430
+ signature while still being able to keep it on-screen to OCR while the content edited movie is playing.
431
+ Also I have experimented slightly with keeping parts of a window "off screen" but still being able to OCR them
432
+ (windows 7 aero allows this).
433
+
434
+ There is also lots of subtitle comparison helpers, etc., and edited movie segment "checking EDL settings"
435
+ helpers that have been integrated along the way, like a good ol' editing movie software might do.
436
+ We leverage all sorts of nifty things like bringing windows to the top, internal audio api's, all the
437
+ good stuff.
438
+
439
+ Since we integrate with VLC, we already have edited blu-ray playback implicitly, by playing them back
440
+ through slysoft hd-dvd. Also the python "movie content editor" has EDL support for VLC natively, so that means
441
+ blu-ray explicit EDL playback support.
442
+
443
+ Note also that I recently showed demos of how an edited player can jump around/skip to scenes within a movie,
444
+ not just playback linear "skipping" content.
445
+
446
+ We have many timing conversion utility helpers (see source for details).
447
+
448
+ Also have ability to auto-generate EDL files based on current DVD et al., and use DVD ID
449
+ generator software, basically from Microsoft, to auto-recognize inserted DVD's.
450
+
451
+ Also note that there was a case recently demoing a new style of skipping: it pauses, then the user
452
+ basically fast forwards or "skips it forward" themself, thus jumping over the questionable scenes.
453
+
454
+ Also note that mine currently allows for "unlimited" levels of detail/categorization of media, it can parse
455
+ it all, and even use it in a limited manner.
456
+
457
+ Note that we can also copy to the clipboard
458
+
459
+ == 0.25.2 ==
460
+
461
+ It tracks better now if the current OCR tracked player is paused, reverting back to its current timestamp.
462
+ Added ability to "auto-select" based on the url of currently open browsers, the right EDL.
463
+ Added ability to "auto-download" an EDL based on the current movie playing in the browser. Video also shows
464
+ retraining when window changes.
465
+ Added ability to "auto-select" player based on what is running, browser windows up, crossed with movies running.
466
+ Added the above, without file download (earlier commit could do them both however).
467
+ Note that this also means that it can scan over several player descriptions to "pick the right one" automatically.
468
+
469
+ Added a demo of VLC doing "transparent" and "opaque" overlays on another running image, based on timing.
470
+ NB That I already have shown a demo of adjusting volume and/or overlaying new audio on top of existing
471
+ media (a la rifftrax) previously.
472
+ Added demo of merging two video clips, with or without opacity/user configurable locations/dynamic ok too.
473
+
474
+ Added some demo commits showing how it could assign new/improved/user configurable/
475
+ ratings to EDL's and/or pieces of them.
476
+
477
+ Added ability to have one EDL "refer" to another..allowing multiple DVD's/dvd-id's to re-utilize the same EDL,
478
+ and even add more settings of their own, if desired.
479
+
480
+ == 0.25.1 ==
481
+
482
+ Added ability to dynamically "find" which window contained the playing movie, and capture it, from desktop,
483
+ for upscaling or capturing.
484
+
485
+ added ability to "minimize" and "unminimize" a movie player window in order to "simulate" blanking.
486
+
487
+ possible speedup for slower systems without upconversion
488
+
489
+ == 0.25.0 ==
490
+
491
+ Created my own directshow screen capture filter to go along with netflix instant upconvert,
492
+ easier configurable, controllable at all LOL.
493
+ https://rdp:githubrox@github.com/rdp/open-source-directshow-screen-capture-filter.git
494
+ Version bumped some dependencies.
495
+ I can adjust programmatically where the window is "grabbed" from, and also already have
496
+ code in the base to find the correct hwnd, so could theoretically look up its coords and thus
497
+ automatically it adjust to find the right window in (hulu, netflix instant, etc), since
498
+ I already have programmed players for the same.
499
+
500
+ == 0.24.9 ==
501
+
502
+ Fix so that mplayer can display subtitles again in advanced mode. Hopefully only in advanced mode :)
503
+
504
+ NB that already mplayer2 can pull in from multiple source locations for its new EDL format: http://lists.mplayer2.org/pipermail/mplayer2-git/2011-April/000068.html
505
+
506
+ Added experimental support for upconverting {youtube, netflix instant, whatever}, complete with demo video even.
507
+ It tracks exact screen coordinates (if entered manually), and upconverts through a way of a 3rd party upconverter, to another 3rd party player.
508
+ With variable settings for upconversion.
509
+
510
+ Added support for using volume keys to "mute" or "partial" mute (equivalent of hitting down volume key on keyboard) of any 3rd party application.
511
+ With video.
512
+
513
+ Note also that the previous video of how to overlay "static" for muting is also a demonstration of how to overlay any arbitrary audio file
514
+ over any video file/player, at a given time (example: scene-based audio overlays, fan edit comment tracks, etc.) similar to RiffTrax.
515
+
516
+ == 0.24.8 ==
517
+
518
+ Fix some bugs in upconverting playback, cleanup UI.
519
+
520
+ == 0.24.7 ==
521
+
522
+ Tweak upconvert for when it has nothing set, and to not show subtitles.
523
+ Tooltip down down from infinity.
524
+
525
+ == 0.24.6 ==
526
+
527
+ Make it so it can load VIDEO_TS style directories, too.
528
+ Make it work better on slow machines.
529
+ Tweak upconvert.
530
+
531
+ == 0.24.5 ==
532
+
533
+ Fix some options for advanced mode so that it can playback files better.
534
+ Tweak upconvert to make it a bit more user friendly.
535
+
536
+ == 0.24.4 ==
537
+
538
+ Note that previous releases had the ability to "invert" skipping scenes,
539
+ by specifically listing only the scenes *to* play, not the scenes *not* to
540
+ play, as others may have done.
541
+ Created demo of it playing back static instead of muting (to overlay).
542
+ That's an extra audio file over the top of the original, while still playing
543
+ (ex: rifftrax), to "fake" a mute section.
544
+
545
+ Add an option for the upconverter to vary "strength" of screen size.
546
+ A few more demo videos.
547
+
548
+ == 0.24.3 ==
549
+
550
+ Distribution cleanups
551
+ polish up UI.
552
+
553
+ == 0.24.2 ==
554
+
555
+ In some recent version or other, added ability to start EDL's from an offset
556
+ (example: your video says it starts at 600s, it will add 600s to each EDL setting)
557
+ can auto-paste to clipboard
558
+ auto-full screen now by default for playback
559
+ In some recent revision, added ability to set upconvert options, use them for any playbacks.
560
+ Separates subtitles into "known profanities" and then "lesser" now.
561
+
562
+ It now has ability to "pre-tune" the OCR tracker with known images representing digits from known players.
563
+ Like "training" it.
564
+
565
+ Added video showing how the OCR tracker can use tracking+file selection+inline "send the window commands"
566
+ through its UI in order to minimize, which simulates or is equivalent to blanking a section,
567
+ but in realtime, causes no interruption.
568
+
569
+ Added a demonstration of using youtube javascript api's to control/monitor playback time and react appropriately.
570
+ It even mutes and skips appropriately. See demo (must be run from a web server to work). can_mute_youtube.avi
571
+
572
+ Added a demonstration of using "static overlay" as a form of muting. Basically, play some static so that it obscures
573
+ the current audio, instead of muting it. Actually works, though oddly.
574
+
575
+ Subtitles now are split into "bad" profanities and "mild" profanities for easier parsing.
576
+
577
+ Can use multiple threads to speedup playback. Slight speedup for mpeg2. Thanks mplayer guys!
578
+
579
+ == 0.24.1 ==
580
+
581
+ A few more profanities/subtitle tweaks.
582
+ Now can optionally "adjust" the auto-generated mutes from subtitles based on time
583
+ differences from the file versus from the movie file itself.
584
+ Some minor upconverting tweaks
585
+
586
+ == 0.24.0 ==
587
+
588
+ Now comes with an upconverting software player to play back DVD's/files.
589
+ This can used advanced deblocking, or hq denois3d, or lancosz filter, etc.
590
+ Uses much better mplayer options for slow computers now.
591
+ Added EDL for IQ.
592
+ Added ability to "offset" timestamps by a set factor (ex: 600s).
593
+ A few profanities added to the subtitler.
594
+ Much more compatible with mac.
595
+ Prompts users to assert they own disks for files they watch.
596
+ Added new button "watch file edited"
597
+ Now uses smplayer as the default player.
598
+ Can differentiate cross platform to decide which player to use.
599
+ Relies on mplayerx for mac now.
600
+ Other minor cleanups.
601
+
602
+ == 0.23.6 ==
603
+
604
+ Added capability/functionality to create files used in other players to automatically cut out bad scenes.
605
+ It now converts from one EDL format (ours) to another (mplayer), and saves it away as filename.mpg -> filename.edl
606
+ Now other players, like Windows Media Center, can playback files edited. Just use a plugin like mymovies,
607
+ instruct it to use smplayer as the default file player, create these .edl files, and voila, realtime playback
608
+ within a high quality media collection manager, on the fly, without much modification necessary.
609
+
610
+ Note also that work has been to convert across a wide variety of EDL formats: https://gist.github.com/52f5c6386fc67e9e6b6b
611
+ See also the history_and_related_works_list.txt file for a long list of related, previously existing works,
612
+ to get the full list to there.
613
+
614
+ == 0.23.5 ==
615
+
616
+ Cleanup some terminology/minor bug fix/usability fixes.
617
+
618
+ == 0.23.4 ==
619
+
620
+ Can process by filename now if no DVD is inserted (warns and asserts they must own it, then uses it).
621
+ It also memorizes directory names auto-magically according to source line location.
622
+ This one was quickly superceded by 0.23.5 to accomodate for some fatal bug.
623
+
624
+ == 0.23.3 ==
625
+
626
+ Revamp look of the create mode, add some buttons, revamp some docu.
627
+
628
+ == 0.23.{1,2} ==
629
+
630
+ It now *requires* outside files as file input, instead of just raw DVD's ever.
631
+ Also fixed up some unit tests.
632
+
633
+ == 0.23.0 ==
634
+
635
+ OS X compatibility. Though not heavily used it might work.
636
+
637
+ Subtitle parser/scanner: now it can scan for "complete" and "incomplete" words (e.g. hello is no longer considered a profanity)
638
+ even if they complete words are at the end of lines, middle, beginning, or the entire line. With unit tests.
639
+
640
+ Added a "play unedited with smplayer/mplayer" buttons that work better now. These are useful for
641
+ double checking the timestamps of subtitle files for accuracy.
642
+
643
+ == 0.22.1 ==
644
+
645
+ Test release for automated sourceforge build system
646
+
647
+ == 0.22.0 ==
648
+
649
+ Full release. No real changes, just made it able to be distributed again
650
+ [+ bundles its own ffmpeg instead of requiring an imagemagick installation]
651
+
652
+ == 0.21.10 == [gem only release]
653
+
654
+ The (offline) subtitle parser now generates descriptions better (to look for false positives),
655
+ and accepts parameters more easily on the command line (examle, if you want to exclude "Thor"
656
+ then its ruby lib\subtitle_profanity_finder.rb filename.srt Thor t....)
657
+
658
+ Note that I obscure profanities within the code to a "euphemized" version for human use.
659
+
660
+ Note that VLC has had a "subtitle filter" capability for awhile: https://forum.videolan.org/viewtopic.php?f=7&t=90847
661
+
662
+ Note that VLC can "upconvert" [ex: DVD's] so I guess that means since we support it, we support upconverting players.
663
+
664
+ Tons of notes on how to use (or not use) various players/grabbers.
665
+
666
+ == 0.21.9 == [gem only release]
667
+
668
+ Add profanity subtitle auto-parser-generator, which can parse .srt's, extract timestamps, look for profanity. also make it "optional" for specific profanities. (offline analyzer, doesn't include auto-OCR or what not)
669
+ This was inspired by the python program, and also an email'ed program to me that did this in C# with XBMC/mplayer EDL syntax.
670
+ Also it has optional profanities.
671
+
672
+ Note well that avidemux can extract subtitles from tracks (example: from DVD) through training it on character recognition (trainable), and parses it out for you appropriately. It's a separate, unrelated open source project. Note also that VLC and other players can overlay arbitrary .srt subtitles over movies, and also they can display DVD subtitles correctly. See also the python movie content editor. Also note that several programs can just use normal OCR to extract .srt's from subtitle overlays/tracks.
673
+
674
+ Demo of auto-adjusted time signature, to map for instance a timestamps to another player, or what not.
675
+
676
+ Also some cross platform capabilities.
677
+
678
+ == 0.21.9 == (released same day as 0.21.8 to try to clarify quickly)
679
+
680
+ Added some lists of previously existing work.
681
+
682
+ Clarified licenses and agreement.
683
+
684
+ Note also that zoomplayer has an (unrelated) "cut scene" editor, and anydvd has "dynamic DVD re-write"
685
+
686
+ == 0.21.8 ==
687
+
688
+ Added demo/prototype of being able to automatically adjust timestamps, given an input one,
689
+ to match say other players' location of that timestamp.
690
+
691
+ Note also that we have done tons of previous functionality related to selecting DVD title tracks appropriately.
692
+
693
+ Note also that since basically the original the online player has ability to not just skip scenes but "overlay" them so that they are not seen, and/or mute them.
694
+
695
+ Note also that SPlayer has the ability to use a DVD to lookup its information/subtitles, which is an interesting invention.
696
+
697
+ == 0.21.7 ==
698
+
699
+ Basically just added some demos codes/inventionzy stuff.
700
+
701
+ NB that sensible cinema can mute by muting system volume/adjusting it [the unmute actually uses adjustment]:
702
+ http://www.youtube.com/watch?v=8cUV8DKLOK8
703
+ or by using keystrokes sent directly to the application to mute it via the application:
704
+ http://www.youtube.com/watch?v=0AsJtVyVMzk
705
+ (and has been able to do this for quite some time)
706
+
707
+ Note also that many other forms of automation techniques have already existed (ex: autoit, etc.)
708
+
709
+ Note also that this other, separate project http://code.google.com/p/movie-content-editor/
710
+ can autodownload captions based on some unique identifier of the video
711
+ (a hash, which also apparently works with DVD's), parse the downloaded captions, and
712
+ use that information [see below] to call straight into a controlled
713
+ sub-player's API to then monitor and control the player.
714
+
715
+ Note that sensible-cinema can convert among various types of EDL playbacks, as well.
716
+
717
+ Note also that mplayer has a sort of EDL training mode, with
718
+ realtime tracking and input to create EDL's easily, using user keyboard input in realtime.
719
+
720
+ Note also that our EDL's can include URL's, ex: the youtube url in question, or netflix url.
721
+
722
+ Note also that since we can control VLC (via screen tracking, or API such as
723
+ http://code.google.com/p/movie-content-editor/
724
+ ) which means that our system works for blu rays, as well, inasmuch as VLC +- handbrake plays blu ray
725
+ http://www.videolan.org/developers/libbluray.html
726
+
727
+ It could also track blu-ray players like PowerDVD, so check there.
728
+
729
+ Also note that dvd profiler has been able to auto-download based on DVD title for quite awhile, since 1999 http://www.afterdawn.com/news/article.cfm/1999/07/14/dvd_profiler_open_beta_available
730
+
731
+ Note also some original content ideas here:
732
+ http://betterlogic.com/roger/2009/02/user-contributed-movie-scene-selection-or-past-clearplay/
733
+ and
734
+ http://programming-gone-awry.blogspot.com/2009/12/beyond-clearplay.html
735
+
736
+ Note also that gracenote CDDB has been able to do remote lookups based on metrics and/or title of optical discs for years.
737
+
738
+ Note also that Sensible Cinema has for several releases been able to auto-adjust timing info based on player.
739
+
740
+ Note also that we have a unit test that can control mouse position, and monitor it for changes, and use this
741
+ information to control our own mouse control, so it uses it like feedback, ex: less frequent jerking at times.
742
+
743
+ So we can also jerk less frequently in certain given circumstances.
744
+
745
+ Note that I have heard tell of an edited movie service that streams "edited content" through the web to an end listener.
746
+
747
+ == 0.21.6 ==
748
+
749
+ Can work on windows 7 64 bit now
750
+ added ability to control whether needs mouse movement or not [control mouse movement]
751
+ brought back in youtube EDL's
752
+ added new feature to actually manipulate the mouse to control the playback controls
753
+ of the internal (embedded player), so it's like automaton controlling video playback.
754
+
755
+ demo of all: http://www.youtube.com/watch?v=gJ4jFCFPan0
756
+
757
+ == 0.21.6 ==
758
+
759
+ Note that this other project http://code.google.com/p/movie-content-editor/ previously existed and has
760
+ capability to take a list of subtitles (captions) for a VLC compatible device (file, DVD)
761
+ and control VLC to mute or skip over scenes. It can have a user-configurable
762
+ list of "words to avoid." It can also take the caption avoidable scene list, and merge
763
+ that one with a user given list, to come up with a "final" skip/mute list.
764
+
765
+ Note also that comskip:
766
+ http://www.kaashoek.com/comskip
767
+ Analyzes video for certain aspects and auto-skips scenes based on computerized criteria,
768
+ it also includes machine learning for that regard.
769
+
770
+ == 0.21.5 ==
771
+
772
+ Minor verbiage/instructions.
773
+
774
+ == 0.21.4 ==
775
+
776
+ Added some todo, re-ordered some buttons to make more user friendly et al.
777
+
778
+ Also note that some other projects, like
779
+ http://universalsubtitles.org/
780
+ are related and exist and use web players' javascript API hooks into players in order to
781
+ track playback and insert dynamic overlays, and use their internal volume
782
+ control, all based on timestamp or inferred timestamp.
783
+
784
+ +- https://github.com/8planes/mirosubs
785
+
786
+ == 0.21.3 ==
787
+
788
+ Fix installation mistake.
789
+ Add a "netflix instant" descriptor. Seems to work well on firefox on windows.
790
+
791
+ Note also that anything you can view on your computer you can view precisely the same,
792
+ and with audio, by capturing and "beaming" the screen (like playon.tv does) to your
793
+ console or to another computer. See also VLC, which can stream arbitrary streams,
794
+ including the current system screen, and the current system sound, if you pass it
795
+ the right directshow parameters.
796
+
797
+ You could also use a projector to project anything you see on your computer.
798
+
799
+ Note also that with the previous code (screen tracker), it already had the capability to do
800
+ "mutes" and "blank out overlays" simultaneously, for quite a few releases now.
801
+
802
+ == 0.21.2 ==
803
+
804
+ Make fast preview faster, some minor cleanups.
805
+
806
+ == 0.21.1 ==
807
+
808
+ Set lower priority for processes better.
809
+
810
+ == 0.20.5 ==
811
+
812
+ Now allow for editing using EDL mode only.
813
+ Also lower the priority for [most] processes during create time.
814
+
815
+ == 0.20.3 ==
816
+
817
+ Minor aesthetics, also it works now with mplayer EDL mode.
818
+
819
+ == 0.20.0 ==
820
+
821
+ Add a "fast preview" option which makes editing...faster. Also it incorporates the "arbitrary precision" around settings.
822
+
823
+ == 0.19.7 ==
824
+
825
+ Slightly more user friendly error handling.
826
+
827
+ == 0.19.6 ==
828
+
829
+ Update terminology to make it more clear what can play what when it's done.
830
+
831
+ == 0.19.5 ==
832
+
833
+ Some notes, deploy methods.
834
+
835
+ == 0.19.4 ==
836
+
837
+ Now you can specify an arbitrary "precision" around mute settings to make them more conservative or not.
838
+ Add audio alert.
839
+ Fix broken button.
840
+
841
+ == 0.19.3 ==
842
+
843
+ Hopefully work with audio from more DVD's now.
844
+
845
+ == 0.19.2 ==
846
+
847
+ More user friendliness.
848
+
849
+ == 0.19.1 ==
850
+
851
+ Clarify buttons' meanings, layout (add one), fix some bugs in create mode, like it not re-loading edited files.
852
+ Can optionally watch unedited.
853
+
854
+ == 0.19.0 ==
855
+
856
+ Add working EDL playback with mplayer, cleanup interfaces.
857
+ Also add ability to arbitrarily "enlargen" the scope of edit decisions (in this case, mutes), to match
858
+ (either paranoia or) mplayer playback, useful for daily normal use, too, in principle.
859
+
860
+ == 0.18.3 ==
861
+
862
+ Cleanup UI, make more user friendly in a few circumstances, for create, fix buttons.
863
+
864
+ == 0.18.0 ==
865
+
866
+ Add some home video EDL's, clarify the license(s), use a slightly better video codec, minor bug fixes/refactoring.
867
+
868
+ == 0.17.0 ==
869
+
870
+ Grab using a different codec (wish I could grab to the *same* codec)
871
+ Also note that, though Sensible Cinema doesn't do this yet (ping me if you want it),
872
+ RiffTrax provides players, capability, and files to be able to "overlay" a video
873
+ with another person's voice/audio.
874
+
875
+ == 0.16.7 ==
876
+
877
+ Accomodate for disks that have scratches in them better.
878
+
879
+ == 0.16.5 ==
880
+
881
+ Enable "preferences merging" of user preferences with an edit decision list to come up with a new edit decision list for them.
882
+ The prototypes are there, though it's not enabled.
883
+
884
+ == 0.16.0 ==
885
+
886
+ Change the YAML style so that it can have filterable categories (disabled for now in production, but there are unit tests
887
+ that show the use of such as a form of "combining user preferences" with the EDL to produce a
888
+ new customized one.
889
+
890
+ Allow for quite more easily user creation/editing of EDL's by allowing users to access just specific "scenes" of the video edited.
891
+
892
+ Disable title auto selection use, now use md5sum of the DVD's IFO files for auto-selection of EDL.
893
+
894
+ == 0.15.0 ==
895
+
896
+ Use all i-frames for more accurate precision in cutting segments.
897
+ Also use ffmpeg and mencoder for the same (no more VLC for encoding). Phew.
898
+ Note that by at least this version, auto DVD title selection as a parameter has been built in (see git log).
899
+ Note that by at least this version, it could compute an md5sum of a DVD's IFO files to compute
900
+ a unique ID for that disk.
901
+ Note that before this, I was using the volume name to generate filenames.
902
+ Note that several (even more) revisions ago, I used on screen timestamp OCR and thus tracking to be able to
903
+ control output of hulu, youtube, etc. (online displayable programs).
904
+
905
+ == 0.14.8 ==
906
+
907
+ Fix some copying bugs.
908
+
909
+ == 0.14.6 ==
910
+
911
+ Auto-select EDL depending on which disk they have.
912
+
913
+ == 0.14.5 ==
914
+
915
+ Made it distributable more easily.
916
+
917
+ == 0.14.4 ==
918
+
919
+ Add a progress bar.
920
+
921
+ == 0.14.{2,3} ==
922
+
923
+ Minor changes.
924
+
925
+ == 0.14.1 ==
926
+
927
+ Add ChangeLog (this file).
928
+
929
+ == 0.14.0 ==
930
+
931
+ Now it offers you a button to either play it on your computer, using VLC, or rip it to a file
932
+ (possibly write that to some other media, then play it say on your DVD player), or play it using screen tracking.
933
+
934
+ == From various previous releases ==
935
+ It now provides for screen tracking of DVD's, youtube, hulu, and anything else you want to play on VLC, and has
936
+ automatic detection of CD-Drives for ripping/playing back. It can handle full screen or windowed playback.
937
+ It can rip from user specified "title tracks" now. It has a nice GUI. The GUI can tell you which DVD is in which
938
+ drive so you know more easily which one to choose.
939
+
940
+ When screen tracking, it employs a "mouse moving" (feedback to computer) in order to keep the screen timestamp visible.
941
+ It allows for both "instant playback" watching a DVD, as well as "ripping a stream to a single file on your computer" in order to view
942
+ it from there (which is arguably easier to view). The single file can be put on a flash drive and played
943
+ via some console or other player, or can be copied to a disc and played in a DVD/blu-ray player.
944
+
945
+ When screen tracking, it uses input to the system (simulated keystrokes) to simulate a user "mute"
946
+ It overlays the playing screen (movie) with a separate window in order to simulate a "blank out" or
947
+ "skip this scene" which can be used with or without the mutes, as well.
948
+
949
+ Note that previous releases had this functionality: VLC could "grab" the various sections from a DVD, one at a time, and
950
+ either play them back in sequence [serially], or save all of them, appending to a single final "file", using either
951
+ a batch file to accomplish the same, or an XSPF playlist that designated the start and stop times and fed that
952
+ into the player.