sensible-cinema 0.21.5 → 0.21.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/LICENSE.TXT +13 -11
  2. data/README +59 -45
  3. data/Rakefile +27 -17
  4. data/TODO +272 -210
  5. data/VERSION +1 -1
  6. data/_DO_NOT_RUN_IT_FROM_HERE_DOWNLOAD_THE_RELEASE_ZIP_INSTEAD +0 -0
  7. data/bin/{sensible-cinema.rb → sensible-cinema} +40 -24
  8. data/bin/sensible-cinema-cli +7 -1
  9. data/business_ideas.txt +13 -0
  10. data/{ChangeLog → change_log_with_feature_list.txt} +97 -3
  11. data/development.txt +4 -0
  12. data/{experimental_readme.txt → experimental_ocr_readme.txt} +1 -1
  13. data/go.bat +2 -1
  14. data/go_ocr_tracker.bat +1 -0
  15. data/gocreatemode.bat +1 -0
  16. data/how_to_create_your_own_delete_lists.txt +11 -12
  17. data/legal/md5s.txt +50 -0
  18. data/legal/transcript_mute_vlc.txt +117 -0
  19. data/legal2 +1 -0
  20. data/lib/auto_convert.rb +3 -0
  21. data/lib/blanker.rb +22 -11
  22. data/lib/count_down_timer_jruby_swing.rb +40 -0
  23. data/lib/edl_converter.rb +34 -0
  24. data/lib/mouse.rb +61 -14
  25. data/lib/muter.rb +19 -5
  26. data/lib/profanity_finder.rb +84 -0
  27. data/{todo_if_need_speed → ocr.todo_if_need_speed} +0 -0
  28. data/propaganda +73 -0
  29. data/sensible-cinema.gemspec +45 -23
  30. data/spec/common.rb +1 -1
  31. data/spec/mouse.spec.rb +16 -1
  32. data/spec/notes +251 -8
  33. data/spec/screen_tracker.spec.rb +6 -4
  34. data/template_bats/RUN SENSIBLE CINEMA CLICK HERE.bat +19 -0
  35. data/template_bats/advanced--create or edit sensible cinema delete list files.bat +1 -0
  36. data/todo.build_library.txt +11 -0
  37. data/todo.inventionzy.txt +56 -0
  38. data/todo.open_edl_list_org.txt +148 -0
  39. data/todo.subtitle +35 -0
  40. data/www/index.html +46 -16
  41. data/zamples/edit_decision_lists/{netflix/example_file_copy_me.txt → dvds/example_delete_list.txt} +0 -0
  42. data/zamples/edit_decision_lists/dvds/example_delete_list_that_has_no_cuts_in_it.txt +10 -0
  43. data/zamples/edit_decision_lists/youtube/demo_mutes.txt +12 -0
  44. data/zamples/edit_decision_lists/youtube/nuki_song_youtube.txt +13 -0
  45. data/zamples/players/youtube/normal_in_youtube.com.chrome.txt +1 -0
  46. metadata +414 -311
  47. data/RUN SENSIBLE CINEMA CLICK HERE.bat +0 -7
  48. data/create or edit sensible cinema delete list files.bat +0 -7
  49. data/ext/mkrf_conf.rb +0 -27
  50. data/goc.bat +0 -1
  51. data/goe.bat +0 -1
  52. data/zamples/edit_decision_lists/old_not_yet_updated/youtube/nuki_song_youtube.txt +0 -9
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.21.5
1
+ 0.21.9
@@ -19,9 +19,16 @@ This file is part of Sensible Cinema.
19
19
 
20
20
  print 'Loading Sensible Cinema...'
21
21
  require File.expand_path(File.dirname(__FILE__) + "/../lib/add_any_bundled_gems_to_load_path.rb")
22
- require 'sane' # failure here means you haven't bundled your dependencies...[rake task]
22
+ begin
23
+ require 'sane' # failure here means you haven't bundled your dependencies... [$ jruby -S rake bundle_dependencies after doing jruby -S gem install sensible-cinema ]
24
+ rescue LoadError
25
+ p 'warning, loading full rubygems for your developers convenient LODO and'
26
+ require 'rubygems'
27
+ require 'sane'
28
+ end
23
29
 
24
- raise 'need newer jruby!' unless RUBY_DESCRIPTION =~ /1.6.\d/ # sanity check
30
+ raise 'need jruby' unless OS.jruby?
31
+ raise 'need newer jruby!' unless RUBY_DESCRIPTION >= 'jruby 1.6.0.RC2'
25
32
 
26
33
  require_relative '../lib/mencoder_wrapper'
27
34
  require_relative '../lib/storage'
@@ -40,8 +47,10 @@ vendor = File.expand_path(File.dirname(__FILE__)) + '/../vendor'
40
47
  # XX do we need to_filename though?
41
48
  ENV['PATH'] = ENV['PATH'] + ';' + (vendor + '/cache/mencoder').to_filename + ';' + (vendor + '/cache').to_filename
42
49
 
43
- for drive in ['c', 'd', 'e']
44
- ENV['PATH'] = ENV['PATH'] + ";#{drive}:\\Program Files\\SMPlayer;#{drive}"
50
+ installed_smplayer_folders = Dir['{c,d,e}:/program files*/SMPlayer']
51
+
52
+ for folder in installed_smplayer_folders
53
+ ENV['PATH'] = ENV['PATH'] + ";#{folder.gsub('/', "\\")}"
45
54
  end
46
55
 
47
56
  import 'javax.swing.ImageIcon'
@@ -74,14 +83,13 @@ module SensibleSwing
74
83
  @starting_button_y += 30
75
84
  end
76
85
 
77
- Storage = Storage.new("sc")
78
-
86
+ Storage = Storage.new("sensible_cinema")
79
87
 
80
88
  def initialize
81
89
  super "Sensible-Cinema #{VERSION} (GPL)"
82
90
  if !(Storage['main_license_accepted'] == VERSION)
83
- show_blocking_license_accept_dialog 'Sensible Cinema', 'gplv3', 'http://www.gnu.org/licenses/gpl.html'
84
- show_blocking_license_accept_dialog 'Sensible Cinema', 'LICENSE.TXT file', File.expand_path(File.dirname(__FILE__) + "/../LICENSE.TXT"), 'LICENSE.TXT file', 'I acknowledge that I have read the LICENSE.TXT file.'
91
+ show_blocking_license_accept_dialog 'Sensible Cinema', 'gplv3', 'http://www.gnu.org/licenses/gpl.html', 'Sensible Cinema license agreement', 'Sensible Cinema is distributed under the gplv3. Click accept if you accept this agreement.'
92
+ show_blocking_license_accept_dialog 'Sensible Cinema', 'LICENSE.TXT file', File.expand_path(File.dirname(__FILE__) + "/../LICENSE.TXT"), 'LICENSE.TXT file', 'I acknowledge that I have read, understand, and accept the implications given in the LICENSE.TXT file'
85
93
  Storage['main_license_accepted'] = VERSION
86
94
  end
87
95
 
@@ -265,9 +273,9 @@ module SensibleSwing
265
273
  begin
266
274
  p = proc{ ole = WMI::Win32_Process.find(:first, :conditions => {'Name' => exe_name}); sleep 1 unless ole; ole }
267
275
  piddy = p.call || p.call || p.call # we actually do need this to loop...guess we're too quick
268
- # but the first one still inexplicably fails always... LODO
276
+ # but the first time through this still inexplicably fails... LODO
269
277
  if piddy
270
- # piddy.SetPriority low_prio # this can seg fault...yikes...
278
+ # piddy.SetPriority low_prio # this call can seg fault at times...yikes...JRUBY-5422
271
279
  pid = piddy.ProcessId # this doesn't seg fault, tho
272
280
  system_original("vendor\\setpriority -lowest #{pid}") # be able to use the PID on the command line
273
281
  else
@@ -328,25 +336,30 @@ module SensibleSwing
328
336
  # oh the insanity of the console UI...LODO more user friendly player
329
337
  @popup ||= NonBlockingDialog.new("About to run mplayer DVD. To control it, use space for pause, f to toggle full screen, arrow keys to seek.")
330
338
  # LODO dry up mplayer dvd opts...
331
- play_this_mplayer ||= "mplayer dvd://#{title_track}"
339
+ play_this_mplayer ||= "mplayer dvd://#{title_track} -vo direct3d" # direct3d for windows 7 nvidia's sake yipes
332
340
  command = "#{play_this_mplayer} -nocache -alang en -sid 1000 -edl #{File.expand_path EdlTempFile} -dvd-device #{drive}"
333
341
  p command
334
342
  Thread.new { system_blocking command; @popup.dispose }
335
343
  end
336
344
 
337
- def show_blocking_license_accept_dialog program, license_name, license_url_should_also_be_embedded_by_you_in_message, title = 'Confirm Acceptance of License Agreement', message = nil
338
- puts 'Please confirm license agreement in open window'
345
+ def show_blocking_license_accept_dialog program, license_name, license_url_should_also_be_embedded_by_you_in_message,
346
+ title = 'Confirm Acceptance of License Agreement', message = nil
347
+ puts 'Please confirm license agreement in open window.'
339
348
  old = ['no', 'yes', 'ok'].map{|name| 'OptionPane.' + name + 'ButtonText'}.map{|name| [name, UIManager.get(name)]}
340
349
  UIManager.put("OptionPane.yesButtonText", 'Accept')
341
- UIManager.put("OptionPane.noButtonText", 'View License')
350
+ UIManager.put("OptionPane.noButtonText", "View License (#{license_name})")
342
351
  # cancel button stays the same...
343
352
 
344
- message ||= "By clicking accept, below, you are agreeing to the license agreement for #{program} (the #{license_name}),
345
- located at #{license_url_should_also_be_embedded_by_you_in_message}.
346
- Click 'View License' to view it on your local machine."
353
+ message ||= "Sensible Cinema requires a separately installed program (#{program}). You can install this program
354
+ separately, or Sensible Cinema can download it for you.
355
+ By clicking accept, below, you are confirming that you have read and agree to be bound by the
356
+ terms of its license (the #{license_name}), located at #{license_url_should_also_be_embedded_by_you_in_message}.
357
+ Click 'View License' to view it. If you do not agree to these terms, click 'Cancel'. You also agree that this is a
358
+ separate program, with its own distribution, license, ownership and copyright.
359
+ You agree that you are responsible for the download and use of this program, within sensible cinema or otherwise."
347
360
 
348
361
  returned = JOptionPane.showConfirmDialog nil, message, title, JOptionPane::YES_NO_CANCEL_OPTION
349
- # 1 is view
362
+ # 1 is view button was clicked
350
363
  # 0 is accept
351
364
  # 2 is cancel
352
365
  if returned == 1
@@ -354,13 +367,14 @@ module SensibleSwing
354
367
  System.exit 1
355
368
  end
356
369
  if returned == 2
357
- p 'license not accepted...'
370
+ p 'license not accepted...exiting'
358
371
  System.exit 1
359
372
  end
360
373
  if returned == -1
361
- p 'license exited early...'
374
+ p 'license exited early...exiting'
362
375
  System.exit 1
363
376
  end
377
+ p 'confirmed license'
364
378
  throw unless returned == 0
365
379
  old.each{|name, old_setting| UIManager.put(name, old_setting)}
366
380
  end
@@ -373,24 +387,26 @@ module SensibleSwing
373
387
  ffmpeg = RubyWhich.new.which('ffmpeg')
374
388
  if ffmpeg.length == 0
375
389
  show_blocking_message_dialog("It appears that you need to install a dependency: imagemagick.\n
376
- Click ok to be directed to its download website.\nYou'll probably want to download and run the \"windows-dll.exe\" package.\n
377
- Then restart Sensible-Cinema.", "Lacking dependency", JOptionPane::ERROR_MESSAGE)
390
+ Click ok to be directed to its download website.\nYou'll probably want to download and run the \"windows-dll.exe\" http package.\n
391
+ Then restart Sensible-Cinema/console window.", "Lacking dependency", JOptionPane::ERROR_MESSAGE)
378
392
  system_non_blocking("start http://www.imagemagick.org/script/binary-releases.php#windows")
379
393
  java.lang.System.exit(1)
380
394
  end
381
395
 
382
396
  mencoder = RubyWhich.new.which('mencoder')
383
397
  if mencoder.length == 0
384
- show_blocking_license_accept_dialog 'MPlayer', 'gplv2', 'http://www.gnu.org/licenses/gpl-2.0.html', "Appears that you need to install a dependency: mencoder."
398
+ show_blocking_license_accept_dialog 'mplayer', 'gplv2', 'http://www.gnu.org/licenses/gpl-2.0.html', "Appears that you need to install a dependency: mplayer with mencoder."
385
399
  vendor_cache = File.expand_path(File.dirname(__FILE__)) + "/../vendor/cache/"
386
400
  ENV['PATH'] = ENV['PATH'] + ';' + vendor_cache + '\\..;' + vendor_cache
401
+ Dir.mkdir(vendor_cache) unless File.directory? vendor_cache # development may not have it created yet...
387
402
  Dir.chdir(vendor_cache) do
388
403
  print 'downloading unzipper...'
389
404
  download("http://downloads.sourceforge.net/project/sevenzip/7-Zip/9.20/7za920.zip", "7za920.zip")
390
405
  system_blocking("unzip -o 7za920.zip") # -o means "overwrite" without prompting
391
406
  # now we have 7za.exe
392
407
  print 'downloading mencoder.7z (6MB) ...'
393
- download("http://downloads.sourceforge.net/project/mplayer-win32/MPlayer%20and%20MEncoder/revision%2032492/MPlayer-rtm-svn-32492.7z", "mencoder.7z")
408
+ # download("http://downloads.sourceforge.net/project/mplayer-win32/MPlayer%20and%20MEncoder/revision%2032492/MPlayer-rtm-svn-32492.7z", "mencoder.7z")
409
+ download("http://downloads.sourceforge.net/project/mplayer-win32/MPlayer%20and%20MEncoder/revision%2033216/MPlayer-rtm-svn-33216.7z", "mencoder.7z")
394
410
  system_blocking("7za e mencoder.7z -y -omencoder")
395
411
  puts 'done'
396
412
  end
@@ -92,7 +92,13 @@ def go_sc(args)
92
92
  puts 'Selected player ' + File.basename(player_description) + "\n\t(full path: #{player_description})"
93
93
  # this one doesn't use any updates, so just pass in file contents, not filename
94
94
  screen_tracker = ScreenTracker.new_from_yaml File.binread(player_description), overlay
95
- Mouse.jitter_forever_in_own_thread # when this ends you know a snapshot was taken...
95
+ does_not_need_mouse_jerk = YAML.load_file(player_description)["does_not_need_mouse_movement"]
96
+ unless does_not_need_mouse_jerk
97
+ p 'yes mouse jitter' if $VERBOSE or $DEBUG
98
+ Mouse.jitter_forever_in_own_thread # when this ends you know a snapshot was taken...
99
+ else
100
+ p 'no mouse jitter' if $VERBOSE or $DEBUG
101
+ end
96
102
 
97
103
  # exit early if we just wanted a screen dump...a little kludgey...
98
104
  unless overlay
@@ -0,0 +1,13 @@
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
+ Or make it all free and rely on charitable community crowd-sourcing only :P
@@ -1,6 +1,98 @@
1
+ == 0.21.9 == (released same day as 0.21.8 to try to clarify quickly)
2
+
3
+ Added some lists of previously existing work.
4
+
5
+ Clarified licenses and agreement.
6
+
7
+ Note also that zoomplayer has an (unrelated) "cut scene" editor, and anydvd has "dynamic DVD re-write"
8
+
9
+ == 0.21.8 ==
10
+
11
+ Added demo/prototype of being able to automatically adjust timestamps, given an input one,
12
+ to match say other players' location of that timestamp.
13
+
14
+ Note also that we have done tons of previous functionality related to selecting DVD title tracks appropriately.
15
+
16
+ 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.
17
+
18
+ Note also that SPlayer has the ability to use a DVD to lookup its information/subtitles, which is an interesting invention.
19
+
20
+ == 0.21.7 ==
21
+
22
+ Basically just added some demos codes/inventionzy stuff.
23
+
24
+ NB that sensible cinema can mute by muting system volume/adjusting it [the unmute actually uses adjustment]:
25
+ http://www.youtube.com/watch?v=8cUV8DKLOK8
26
+ or by using keystrokes sent directly to the application to mute it via the application:
27
+ http://www.youtube.com/watch?v=0AsJtVyVMzk
28
+ (and has been able to do this for quite some time)
29
+
30
+ Note also that many other forms of automation techniques have already existed (ex: autoit, etc.)
31
+
32
+ Note also that this other, separate project http://code.google.com/p/movie-content-editor/
33
+ can autodownload captions based on some unique identifier of the video
34
+ (a hash, which also apparently works with DVD's), parse the downloaded captions, and
35
+ use that information [see below] to call straight into a controlled
36
+ sub-player's API to then monitor and control the player.
37
+
38
+ Note that sensible-cinema can convert among various types of EDL playbacks, as well.
39
+
40
+ Note also that mplayer has a sort of EDL training mode, with
41
+ realtime tracking and input to create EDL's easily, using user keyboard input in realtime.
42
+
43
+ Note also that our EDL's can include URL's, ex: the youtube url in question, or netflix url.
44
+
45
+ Note also that since we can control VLC (via screen tracking, or API such as
46
+ http://code.google.com/p/movie-content-editor/
47
+ ) which means that our system works for blu rays, as well, inasmuch as VLC +- handbrake plays blu ray
48
+ http://www.videolan.org/developers/libbluray.html
49
+
50
+ It could also track blu-ray players like PowerDVD, so check there.
51
+
52
+ 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
53
+
54
+ Note also some original content ideas here:
55
+ http://betterlogic.com/roger/2009/02/user-contributed-movie-scene-selection-or-past-clearplay/
56
+ and
57
+ http://programming-gone-awry.blogspot.com/2009/12/beyond-clearplay.html
58
+
59
+ Note also that gracenote CDDB has been able to do remote lookups based on metrics and/or title of optical discs for years.
60
+
61
+ Note also that Sensible Cinema has for several releases been able to auto-adjust timing info based on player.
62
+
63
+ Note also that we have a unit test that can control mouse position, and monitor it for changes, and use this
64
+ information to control our own mouse control, so it uses it like feedback, ex: less frequent jerking at times.
65
+
66
+ So we can also jerk less frequently in certain given circumstances.
67
+
68
+ Note that I have heard tell of an edited movie service that streams "edited content" through the web to an end listener.
69
+
70
+ == 0.21.6 ==
71
+
72
+ Can work on windows 7 64 bit now
73
+ added ability to control whether needs mouse movement or not [control mouse movement]
74
+ brought back in youtube EDL's
75
+ added new feature to actually manipulate the mouse to control the playback controls
76
+ of the internal (embedded player), so it's like automaton controlling video playback.
77
+
78
+ demo of all: http://www.youtube.com/watch?v=gJ4jFCFPan0
79
+
80
+ == 0.21.6 ==
81
+
82
+ Note that this other project http://code.google.com/p/movie-content-editor/ previously existed and has
83
+ capability to take a list of subtitles (captions) for a VLC compatible device (file, DVD)
84
+ and control VLC to mute or skip over scenes. It can have a user-configurable
85
+ list of "words to avoid." It can also take the caption avoidable scene list, and merge
86
+ that one with a user given list, to come up with a "final" skip/mute list.
87
+
88
+ Note also that comskip:
89
+ http://www.kaashoek.com/comskip
90
+ Analyzes video for certain aspects and auto-skips scenes based on computerized criteria,
91
+ it also includes machine learning for that regard.
92
+
1
93
  == 0.21.5 ==
2
94
 
3
- Minor verbiage.
95
+ Minor verbiage/instructions.
4
96
 
5
97
  == 0.21.4 ==
6
98
 
@@ -12,6 +104,8 @@ are related and exist and use web players' javascript API hooks into players in
12
104
  track playback and insert dynamic overlays, and use their internal volume
13
105
  control, all based on timestamp or inferred timestamp.
14
106
 
107
+ +- https://github.com/8planes/mirosubs
108
+
15
109
  == 0.21.3 ==
16
110
 
17
111
  Fix installation mistake.
@@ -26,7 +120,7 @@ the right directshow parameters.
26
120
  You could also use a projector to project anything you see on your computer.
27
121
 
28
122
  Note also that with the previous code (screen tracker), it already had the capability to do
29
- "mutes" and "blank out overlays" simultaneously, for quite a few releases.
123
+ "mutes" and "blank out overlays" simultaneously, for quite a few releases now.
30
124
 
31
125
  == 0.21.2 ==
32
126
 
@@ -178,4 +272,4 @@ It overlays the playing screen (movie) with a separate window in order to simula
178
272
  Note that previous releases had this functionality: VLC could "grab" the various sections from a DVD, one at a time, and
179
273
  either play them back in sequence [serially], or save all of them, appending to a single final "file", using either
180
274
  a batch file to accomplish the same, or an XSPF playlist that designated the start and stop times and fed that
181
- into the player.
275
+ into the player.
data/development.txt CHANGED
@@ -18,6 +18,10 @@ The tests are in the spec directory, though some of them are out of date as deve
18
18
 
19
19
  Currently it's windows only, ping me if you want that changed.
20
20
 
21
+ Note: you transfer (c) to copyrighted published of sensible cinema when you submit patches.
22
+
23
+ Note that there are batch files to run it in normal, create, and "realtime OCR track" mode.
24
+
21
25
  We welcome all feedback/contribution :)
22
26
 
23
27
  == Advanced Usage ==
@@ -1,4 +1,4 @@
1
- Currently the experimental screen tracker (bin\sensible-cinema-cli) prompts for a delete list
1
+ Currently the experimental screen tracking edited player (bin\sensible-cinema-cli) prompts for a delete list
2
2
  and a player description.
3
3
 
4
4
  It then tracks whichever player you are using, by using OCR on its timestamps (
data/go.bat CHANGED
@@ -1 +1,2 @@
1
- call j %* bin\sensible-cinema.rb
1
+ @rem NB that you can call it like go --debug
2
+ call j %* bin\sensible-cinema
@@ -0,0 +1 @@
1
+ call j bin\sensible-cinema-cli %*
data/gocreatemode.bat ADDED
@@ -0,0 +1 @@
1
+ call j %* bin\sensible-cinema --create-mode
@@ -1,16 +1,16 @@
1
- You can create a delete list for sensible cinema to use against whatever DVD you want.
1
+ You can create a delete list for sensible cinema to use against whatever DVD you want (probably one that doesn't have its own delete list yet).
2
2
 
3
3
  A delete list (currently) lists sections you want muted or skipped. Here is an example
4
4
 
5
- "mutes" => [
6
- "02:02:15.0" , "02:02:25", "a muted demo section",
7
- ],
8
-
9
- "blank_outs" => [
10
- "02:02:00.0" , "02:02:10", "blanked out demo section",
11
- ],
12
-
13
- "name" => "Greatest Story Ever Told",
5
+ "mutes" => [
6
+ "02:02:15.0" , "02:02:25", "a muted demo section",
7
+ ],
8
+
9
+ "blank_outs" => [
10
+ "02:02:00.0" , "02:02:10", "blanked out demo section",
11
+ ],
12
+
13
+ "name" => "Greatest Story Ever Told",
14
14
  "url" => "http://movies.netflix.com/WiPlayer?movieid=60004240&trkid=2430625",
15
15
 
16
16
  You can see more examples in the "edit decision list" folder, here: https://github.com/rdp/sensible-cinema/tree/master/zamples
@@ -53,5 +53,4 @@ A few pointers:
53
53
  Also note that you don't need to "grab" the DVD to your hard drive to edit. You can just setup the
54
54
  EDL to work right [ http://goo.gl/yMfqX ] then use math to setup the correct time signatures.
55
55
 
56
- [1] http://forum.videolan.org/viewtopic.php?f=2&t=81879
57
-
56
+ [1] http://forum.videolan.org/viewtopic.php?f=2&t=81879
data/legal/md5s.txt ADDED
@@ -0,0 +1,50 @@
1
+ random md5's for tracking
2
+
3
+ ed492ff097a16ac9c3c207beed7a8d17 *full3.avi
4
+ http://www.youtube.com/watch?v=gJ4jFCFPan0
5
+ e988e897ede5f27c49d8011bfb4cb246 mute system.avi
6
+ 4a8b3612c666dd037ff91d68dc2c57b6 mute vlc.avi
7
+ a2c8625b646cb4bbfb99a66171b9b8f1 netflix descriptor working.avi
8
+ abe0f3a34eb8935d4f532b2ee789ceb9 to_here3.avi.fulli.tmp.avi
9
+ c:\dev\ruby\sensible-cinema\legal>md5sum "g:\mute system.avi"
10
+ \e988e897ede5f27c49d8011bfb4cb246 *g:\\mute system.avi
11
+ => http://www.youtube.com/watch?v=8cUV8DKLOK8
12
+ c:\dev\ruby\sensible-cinema\legal>md5sum "g:\mute vlc.avi"
13
+ \4a8b3612c666dd037ff91d68dc2c57b6 *g:\\mute vlc.avi
14
+ => http://www.youtube.com/watch?v=0AsJtVyVMzk
15
+
16
+ 74f4876260c7fcfe8a696ac81d3cf883 Debug.7z
17
+ 8d47950de913d97536ffe8d13a8d7203 latest-sensible-cinema.zip
18
+ 2ab9b0b909e24d2cb5b91b45fb35fda5 sensible-cinema-0.14.5.zip
19
+ 7e8afff74f9f991b789067e7e1ddd286 sensible-cinema-0.14.6.zip
20
+ cb32a7f982aee03598e54eefda0f7f98 sensible-cinema-0.14.8.zip
21
+ 81c4d19f9975f42ea5d945c4248e2412 sensible-cinema-0.16.2.zip
22
+ bd62ba887644a437366de0b66f817631 sensible-cinema-0.16.3.zip
23
+ a12babdfb09abf7a2a833a0a9e393c20 sensible-cinema-0.16.4.zip
24
+ f2f05570882f3ae65d9d8f53b42c260a sensible-cinema-0.16.5.zip
25
+ f8d9205e31ac7af6b3d709de97e4294c sensible-cinema-0.16.7.zip
26
+ 918db721fdb71ce6274188375536581f sensible-cinema-0.17.0.zip
27
+ 5618d81aca3ed103601105f17d535ad7 sensible-cinema-0.18.1.zip
28
+ 78fd2b42a55ffec8d219bb7bf803a721 sensible-cinema-0.18.2.zip
29
+ 8edcf4e60c358496ec9581e015215b18 sensible-cinema-0.18.3.zip
30
+ a64c55b101f858218b83dfb7af6d0b53 sensible-cinema-0.18.4.zip
31
+ 60f09f712e9cc8004626ad2da3520cc6 sensible-cinema-0.19.0.zip
32
+ d24f66b08b8f28c146f5473629f378d7 sensible-cinema-0.19.1.zip
33
+ 11936f547af54471e0f800748edfe906 sensible-cinema-0.19.2.zip
34
+ dcc25e1c3fcd5f7745580ad351786134 sensible-cinema-0.19.4.zip
35
+ b28f00a1019b665635a302450f8bdcbb sensible-cinema-0.19.5.zip
36
+ 5300900ea5407f87fcc198297720a5d6 sensible-cinema-0.19.6.zip
37
+ 66b2259c3da4c732aa550c3a707770ac sensible-cinema-0.19.7.zip
38
+ 2c5da873803e2399ea4b7eabea9d681e sensible-cinema-0.20.0.zip
39
+ 81001183f1460b6607342dfee616eb2d sensible-cinema-0.20.2.zip
40
+ 944917cf6086abfcdf4c4a0bb4ffc718 sensible-cinema-0.20.3.zip
41
+ 823b8eb07a0d5c59d7fc40e1dcb9bdca sensible-cinema-0.20.5.zip
42
+ deca5dc53b714b067e5fd7eedb0adc40 sensible-cinema-0.20.6.zip
43
+ c38b4a7ce1a9fab40566f8b1a876a7d0 sensible-cinema-0.21.1.zip
44
+ 569832ce944f1b9cd285a495db787d5d sensible-cinema-0.21.2.zip
45
+ 9f71c5a9f59d2e7370a9ad06e4441ace sensible-cinema-0.21.3.zip
46
+ d628fe7d5284ecb764df8b79aee7b773 sensible-cinema-0.21.4.zip
47
+ 8d47950de913d97536ffe8d13a8d7203 sensible-cinema-0.21.5.zip
48
+
49
+
50
+
@@ -0,0 +1,117 @@
1
+
2
+ c:\dev\ruby\sensible-cinema>call j bin\sensible-cinema-cli
3
+ Welcome to Sensible Cinema...
4
+ Please Select Computer Player
5
+ Select Edit Decision List
6
+ error: have to specify a scene descriptions file
7
+ or specify "test" on the command line if you just want to snapshot your player
8
+
9
+ c:\dev\ruby\sensible-cinema>
10
+ c:\dev\ruby\sensible-cinema>
11
+ c:\dev\ruby\sensible-cinema>
12
+ c:\dev\ruby\sensible-cinema>
13
+ c:\dev\ruby\sensible-cinema>git log | head
14
+
15
+ c:\dev\ruby\sensible-cinema>git.exe log | cat
16
+ commit d310d82ae5ddc7894ba8ef52d7910773cbe47bf1
17
+ Author: rogerdpack <rogerpack2005@gmail.com>
18
+ Date: Fri Apr 29 14:12:59 2011 -0600
19
+
20
+ default to using keyboard keys for muting
21
+
22
+ commit da72313659df6227af92bb01f552802fea88ed8a
23
+ Author: rogerdpack <rogerpack2005@gmail.com>
24
+
25
+ c:\dev\ruby\sensible-cinema>git status
26
+
27
+ c:\dev\ruby\sensible-cinema>git.exe status | cat
28
+ # On branch master
29
+ # Untracked files:
30
+ # (use "git add <file>..." to include in what will be committed)
31
+ #
32
+ # .redcar/
33
+ # bad_digit2second_ones.bmp
34
+ # bad_digit3minute_tens.bmp
35
+ # sensible-cinema-0.21.6.zip
36
+ # vendor/cache/
37
+ nothing added to commit but untracked files present (use "git add" to track)
38
+
39
+ c:\dev\ruby\sensible-cinema>
40
+ c:\dev\ruby\sensible-cinema>
41
+ c:\dev\ruby\sensible-cinema>
42
+ c:\dev\ruby\sensible-cinema>go_ocr_tracker.bat
43
+
44
+ c:\dev\ruby\sensible-cinema>call j bin\sensible-cinema-cli
45
+ Welcome to Sensible Cinema...
46
+ Please Select Computer Player
47
+ Select Edit Decision List
48
+ Selected scene descriptions file demo_mutes.txt
49
+ (full path: C:\dev\ruby\sensible-cinema\zamples\edit_decision_lists\youtube\demo_mutes.txt)
50
+ (re) loaded mute sequences from demo_mutes.txt as
51
+ {"title"=>"Friday Song",
52
+ "source"=>"youtube",
53
+ "source_url"=>"http://www.youtube.com/watch?v=CD2LRROpph0",
54
+ :mutes=>[["00:10", "00:15"], ["00:30", "00:40"]],
55
+ :blank_outs=>[]}
56
+
57
+ Selected player windowed_total_length_under_an_hour.txt
58
+ (full path: C:\dev\ruby\sensible-cinema\zamples\players\vlc\windowed_total_length_under_an_hour.txt)
59
+ Opening the curtains... (please play in your other player now)
60
+ syntax from command line: "C:\dev\ruby\sensible-cinema\zamples\players\vlc\windowed_total_length_under_an_hour.txt" "C:\dev\ruby\sensible-cinema\zamples\edit_decision_lists\youtube\demo_mutes.txt"
61
+ 00:02.1 next will be at 00:10s (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
62
+ 00:03.9 next will be at 00:10s (r [ctrl+c or q to quit]): "tracking it successfully again"
63
+ 00:10.0 next will be at 00:10s (r [ctrl+c or q to quit]):
64
+ 00:14.9 next will be at 00:15s (muted) (r [ctrl+c or q to quit]):
65
+ 00:21.9 next will be at 00:30s (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
66
+ 00:23.9 next will be at 00:30s (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
67
+ 00:26.0 next will be at 00:30s (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
68
+ 00:28.0 next will be at 00:30s (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
69
+ 00:30.0 next will be at 00:30s (r [ctrl+c or q to quit]):
70
+ "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
71
+ 00:32.0 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen
72
+ obscured or it's not playing yet, or paused?]"
73
+ 00:34.0 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen
74
+ obscured or it's not playing yet, or paused?]"
75
+ 00:36.0 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen
76
+ obscured or it's not playing yet, or paused?]"
77
+ 00:37.2 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "tracking it successfully again"
78
+
79
+ 00:25.0 next will be at 00:30s (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
80
+ 00:27.1 next will be at 00:30s (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
81
+ 00:29.1 next will be at 00:30s (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
82
+ 00:30 next will be at 00:40s (r [ctrl+c or q to quit]): :
83
+ 00:31.1 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen
84
+ obscured or it's not playing yet, or paused?]"
85
+ 00:33.2 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen
86
+ obscured or it's not playing yet, or paused?]"
87
+ 00:35.2 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen
88
+ obscured or it's not playing yet, or paused?]"
89
+ 00:37.2 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen
90
+ obscured or it's not playing yet, or paused?]"
91
+ 00:39.3 next will be at 00:40s (muted) (r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen
92
+ obscured or it's not playing yet, or paused?]"
93
+ 00:40.0 next will be at 00:40s (muted) (r [ctrl+c or q to quit]):
94
+ 00:41.2 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
95
+ 00:43.2 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
96
+ 00:45.3 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
97
+ 00:47.2 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
98
+ 00:49.3 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
99
+ 00:51.3 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
100
+ 00:53.3 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
101
+ 00:55.3 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
102
+ 00:57.3 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
103
+ 00:59.4 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
104
+ 01:01.3 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
105
+ 01:03.4 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
106
+ 01:05.5 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
107
+ 01:07.4 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
108
+ 01:09.4 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
109
+ 01:11.4 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
110
+ 01:13.4 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
111
+ 01:15.4 no more after this point...(r [ctrl+c or q to quit]): "warning--unable to track screen time for some reason [perhaps screen obscured or it's not playing yet, or paused?]"
112
+ 01:16.1 no more after this point...(r [ctrl+c or q to quit]):
113
+ quitting
114
+ 01:16.2 no more after this point...(r [ctrl+c or q to quit]):
115
+ c:\dev\ruby\sensible-cinema>
116
+
117
+