sensible-cinema 0.24.9 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -157,10 +157,15 @@ task 'gem_release' do
157
157
  FileUtils.rm_rf 'pkg'
158
158
  end
159
159
 
160
- task 'update wbo' do
160
+ def on_wbo command
161
+ sys "ssh rdp@ilab1.cs.byu.edu \"ssh wilkboar@rogerdpack.t28.net '#{command}' \""
161
162
 
162
163
  end
163
164
 
165
+ task 'update wbo' do
166
+ on_wbo 'cd ~/sensible-cinema/source && git pull'
167
+ end
168
+
164
169
  desc ' (releases with clean cache dir, which we need now)'
165
170
  task 'full_release' => [:clear_and_copy_vendor_cache, :rebundle_copy_in_dependencies, :create_distro_dir] do # this is :release
166
171
  p 'remember to run all the specs first!'
@@ -169,6 +174,7 @@ task 'full_release' => [:clear_and_copy_vendor_cache, :rebundle_copy_in_dependen
169
174
  Rake::Task["gem_release"].execute
170
175
  Rake::Task["zip"].execute
171
176
  Rake::Task["deploy"].execute
177
+ Rake::Task["update wbo"].execute
172
178
  system(c = "cp -r ../cache.bak/* vendor/cache")
173
179
  system("rm -rf ../cache.bak")
174
180
  end
data/TODO CHANGED
@@ -1,4 +1,4 @@
1
- == roadmap [for just tasks, see below though] ==
1
+ == roadmap [for just tasks, see below though] ==
2
2
 
3
3
  release: cheap/mediumcheap inventionzy
4
4
  release: C EDL
@@ -22,6 +22,7 @@
22
22
  can handle multiple dvdid's et al
23
23
  VLC "insert foreign missing scene" supah easy demo
24
24
  overlay section with image (mplayer?)
25
+ add some "fake" "now pg" "now pg-12" "violence for age y" +- with edits at all even.
25
26
 
26
27
  == yes do ordered in conjunction with the above probably ==
27
28
  release at some point...Oliver? facebook?
@@ -48,6 +49,7 @@
48
49
  movie mask wayback machine
49
50
  make it load faster! this is cuh-razy! or splash screen! yes!
50
51
  netflix quality upconverter
52
+ want a prototype mplayer upconverter...I guess...
51
53
  research XBMC
52
54
  @XBMC: your stuff is broken in at least these two ways (bug reports)
53
55
  also are they 30fps or not? and how do they handle timesplits?
@@ -61,15 +63,18 @@
61
63
  report XBMC bugs, too.
62
64
  all unit tests
63
65
  subs: if at beginning of a sub, add extra offset...hmm...why not?
64
- say something if the EDL is "blank" :)
66
+ say something if the EDL is actually "blank" :)
65
67
  figure out if an offset of '1s' should also be accomodated for...
66
68
  0.3 ... ? huh?
67
69
  fix released version to work in mac
70
+ release capture filter, advertise it :)
71
+ note "you want to optimize your reverse blitting first... :)"
72
+ test speed of from DESKTOP versus HWND.
73
+ can use hwnd. Somehow automated.
68
74
  "--developer" mode
69
75
  export JSON command line, note it in the docu, show it in --developer mode, no new bat file for developer mode
70
76
  new button "auto-test" a subtitles file for timing :)
71
77
  new upconv button: auto-take some snapshots (just to straight mjpeg or jpeg or the what not)
72
- auto-update website on release.
73
78
  publish a ripped raw big bunny
74
79
  update development howto
75
80
  @jruby scan court jester is *so* slow...what the...[mac at least...]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.24.9
1
+ 0.25.0
@@ -41,8 +41,10 @@ class String
41
41
  downcase
42
42
  end
43
43
  end
44
+
44
45
  require_relative '../lib/swing_helpers'
45
46
 
47
+ # attempt to load on demand...i.e. faster...
46
48
  for kls in [:MencoderWrapper, :EdlParser, :MplayerEdl, :PlayAudio, :SubtitleProfanityFinder, :ConvertThirtyFps, :RubyClip, :DriveInfo]
47
49
  autoload kls, "./lib/#{kls.to_s.snake_case}"
48
50
  end
@@ -198,7 +200,6 @@ module SensibleSwing
198
200
  UpConvertKeyExtra = 'upconvert_setting_extra'
199
201
  UpConvertEnglish = 'upconvert_english_name'
200
202
 
201
-
202
203
  def add_setup_upconvert_buttons
203
204
  @none = new_jbutton("reset upconvert options to default (none)")
204
205
  @none.tool_tip = "Having no upconvert options is reasonably good, might use directx for scaling, nice for slow cpu's"
@@ -218,7 +219,7 @@ module SensibleSwing
218
219
  high_compression = new_jbutton("Change upconvert options for playing back highly compressed video") {
219
220
  # -autoq 6 -vf pp [?]
220
221
  LocalStorage[UpConvertEnglish] = "high compressed"
221
- LocalStorage[UpConvertKey] = "hqdn3d=0:1:4:4,pp=hb:y/vb:y,scale=SCREEN_X:-10:0:0:3" # ordering?
222
+ LocalStorage[UpConvertKey] = "hqdn3d=0:1:4:4,pp=hb:y/vb:y,scale=SCREEN_X:-10:0:0:3" # pp should be after hqdn3d I think... and hqdn3d should be before scale...
222
223
  LocalStorage[UpConvertKeyExtra] = "-sws 9 -ssf ls=75.0 -ssf cs=25.0"
223
224
  display_current_upconvert_setting
224
225
  # -Processing method: mplayer with accurate deblocking ???
@@ -947,8 +948,8 @@ module SensibleSwing
947
948
  puts 'Please confirm license agreement in open window.'
948
949
  # cancel button stays the same...
949
950
 
950
- message ||= "Sensible Cinema requires a separately installed program (#{program}). You can install this program
951
- separately to the vendor/cache directory, or Sensible Cinema can download it for you.
951
+ message ||= "Sensible Cinema requires a separately installed program (#{program}), not yet installed.
952
+ You can install this program manually to the vendor/cache subdirectory, or Sensible Cinema can download it for you.
952
953
  By clicking accept, below, you are confirming that you have read and agree to be bound by the
953
954
  terms of its license (the #{license_name}), located at #{license_url_should_also_be_embedded_by_you_in_message}.
954
955
  Click 'View License' to view it. If you do not agree to these terms, click 'Cancel'. You also agree that this is a
@@ -1009,10 +1010,10 @@ module SensibleSwing
1009
1010
  end
1010
1011
  end
1011
1012
 
1012
- def check_for_exe windows_loc, unix_name
1013
+ def check_for_exe windows_full_loc, unix_name
1013
1014
  # in windows, that exe *at that location* must exist...
1014
1015
  if OS.windows?
1015
- File.exist?(windows_loc)
1016
+ File.exist?(windows_full_loc)
1016
1017
  else
1017
1018
  require 'lib/check_installed_mac.rb'
1018
1019
  if !CheckInstalledMac.check_for_installed(unix_name)
@@ -1027,15 +1028,15 @@ module SensibleSwing
1027
1028
  if we_are_in_create_mode
1028
1029
  if !check_for_exe('vendor/cache/mencoder/mencoder.exe', 'mencoder')
1029
1030
  require_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."
1030
- download_zip_file_and_extract "Mplayer/mencoder (6MB)", "http://downloads.sourceforge.net/project/mplayer-win32/MPlayer%20and%20MEncoder/revision%2033574/MPlayer-rtm-svn-33574.7z", "mencoder"
1031
+ download_zip_file_and_extract "Mplayer/mencoder (6MB)", "http://sourceforge.net/projects/mplayer-win32/files/MPlayer%20and%20MEncoder/revision%2033883/MPlayer-rtm-svn-33883.7z", "mencoder"
1031
1032
  end
1032
1033
  end
1033
1034
 
1034
- # runtime dependencies, at least today...
1035
+ # runtime dependencies, at least as of today...
1035
1036
  ffmpeg_exe_loc = File.expand_path('vendor/cache/ffmpeg/ffmpeg.exe')
1036
1037
  if !check_for_exe(ffmpeg_exe_loc, 'ffmpeg')
1037
1038
  require_blocking_license_accept_dialog 'ffmpeg', 'gplv2', 'http://www.gnu.org/licenses/gpl-2.0.html', "Appears that you need to install a dependency: ffmpeg."
1038
- download_zip_file_and_extract "ffmpeg (5MB)", "http://ffmpeg.zeranoe.com/builds/win32/shared/ffmpeg-git-1929807-win32-shared.7z", "ffmpeg"
1039
+ download_zip_file_and_extract "ffmpeg (5MB)", "http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-git-335bbe4-win32-static.7z", "ffmpeg"
1039
1040
  end
1040
1041
  if OS.mac?
1041
1042
  check_for_exe("mplayer", "mplayer") # mencoder and mplayer are separate for mac... [this checks for mac's mplayerx, too]
@@ -1044,10 +1045,10 @@ module SensibleSwing
1044
1045
  if(path.length == 0)
1045
1046
  # this one has its own installer...
1046
1047
  show_blocking_message_dialog("It appears that you need to install a pre-requisite dependency: MPlayer for Windows (MPUI).
1047
- Click ok to be directed to its download website, where you can download and install it (recommend: MPUI Full-complete),
1048
- then restart sensible cinema. NB that it takes awhile to install MPUI. Sorry about that.",
1048
+ Click ok to be directed to its download website, where you can download and install it (recommend: MPUI....Full-Package.exe),
1049
+ then restart sensible cinema. NB that it takes awhile to install. Sorry about that.",
1049
1050
  "Lacking dependency", JOptionPane::ERROR_MESSAGE)
1050
- open_url_to_view_it_non_blocking "http://code.google.com/p/mulder/downloads/detail?name=MPUI.2011-06-09.Full-Package.exe"
1051
+ open_url_to_view_it_non_blocking "http://code.google.com/p/mulder/downloads/list?can=2&q=MPlayer&sort=-uploaded&colspec=Filename%20Summary%20Type%20Uploaded%20Size%20DownloadCount"
1051
1052
  System.exit 0
1052
1053
  end
1053
1054
  end
@@ -1055,8 +1056,7 @@ module SensibleSwing
1055
1056
 
1056
1057
  def open_url_to_view_it_non_blocking url
1057
1058
  if OS.windows?
1058
- system_non_blocking(c = "start #{url.gsub('&', '^&')}") # LODO would launchy help/work here with the full url?
1059
- p c
1059
+ system_non_blocking("start #{url.gsub('&', '^&')}") # LODO would launchy help/work here with the full url?
1060
1060
  else
1061
1061
  system_non_blocking "#{OS.open_file_command} \"#{url}\"" # LODO test
1062
1062
  end
@@ -1,3 +1,14 @@
1
+ == 0.25.0 ==
2
+
3
+ Created my own directshow screen capture filter to go along with netflix instant upconvert,
4
+ easier configurable, controllable at all LOL.
5
+ https://rdp:githubrox@github.com/rdp/open-source-directshow-screen-capture-filter.git
6
+ Version bumped some dependencies.
7
+ I can adjust programmatically where the window is "grabbed" from, and also already have
8
+ code in the base to find the correct hwnd, so could theoretically look up its coords and thus
9
+ automatically it adjust to find the right window in (hulu, netflix instant, etc), since
10
+ I already have programmed players for the same.
11
+
1
12
  == 0.24.9 ==
2
13
 
3
14
  Fix so that mplayer can display subtitles again in advanced mode. Hopefully only in advanced mode :)
data/spec/notes CHANGED
@@ -9,6 +9,73 @@ media player classic appears to have no cache.
9
9
  works for a demo, long term probably will need my own filter :)
10
10
  though for now I could just tell them "ok download graphedit too LOL, run this in virtualdub, position your window up there"
11
11
 
12
+ virtualdub seems to get way behind...maybe it doesn't have the "framedrop" options that mplayer does?
13
+ "desktop source" does seem to work well mplayer, though perhaps still a bit jerky...
14
+ do I need to add a sleep in there?
15
+ http://www.eggheadcafe.com/microsoft/Win32-DirectX-Video/31543477/csourcestream-fillbuffer--settime.aspx seems to imply that I should...I think.
16
+ What matters is the delta from when the graph started running. http://msdn.microsoft.com/en-us/library/dd377506(v=vs.85).aspx
17
+
18
+ maybe VLC is just a lot more stingey...hmm...it's because it's the only fella I have actually trying to mix and match audio+video
19
+
20
+
21
+ I think I need to set mine to basically sleep until "almost it's time to do this" type of thing...maybe?
22
+
23
+ It only seems to make sense to me to go "only as fast as x fps" otherwise...you'll be giving them bogus data! I cannot
24
+ imagine that you can depend on the renderer to "backlog" you to exactly as many fps as you need.
25
+ However, this doesn't explain VLC accepting these in such an awful way LOL.
26
+ Also, maybe implementing IAMLiveSource would help even VLC...maybe...?
27
+
28
+ It hates my filter! The only one it loves is that other one... <sigh>. Hacky work around it is then...
29
+
30
+
31
+ 53 fps with "straight" mplayer go_raw
32
+ 36.7 at upscale 1280 (1024?) (warmup?)
33
+ 31.7 at upscale 1680
34
+ 15.0'ish at upscale 3360
35
+ 1280 27 fps
36
+
37
+ *maybe* hulu needs higher hqdn3d
38
+
39
+ ringing not caused by -ssf ls=75.0 -ssf cs=7.0, yes ringing with filter length 1
40
+ no ringing if you double the screen res :) LOL
41
+
42
+ basically 100% cpu at 2x screen res fps or what not...kind of 100%...kind of not...
43
+ 13.3 fps 2048
44
+
45
+ 1280 16 fps
46
+
47
+ hqdn3d,scale,hqdn3d = weird streaking stars!
48
+
49
+ -sws 2 2500 16 fps
50
+ has striations :(
51
+
52
+ -sws 2 2500 hqdn3d after: 6fps, before: 22 fps
53
+
54
+ -sws 9 hqdn3d,2500 16.5 fps
55
+ teeny striations
56
+
57
+ -sws 9 1024 24.6 fps
58
+ not many striations...
59
+ teeny but visible.
60
+ 1280 25 fps
61
+ not many striations...yet visible indeed...
62
+ seem to be better at 1024 than 1280...
63
+
64
+ flash can be made faster? http://forum.xda-developers.com/archive/index.php/t-1164908.html
65
+
66
+ it chooses 32 bits every time, even if I'm in 16-bit mode LODO
67
+
68
+ === blttest ===
69
+ one monitor: 160'ish fps capturing at 1680x1050 (no memcpy though!)
70
+ same with aero on or off
71
+
72
+ dual monitor: 640x480 800fps (no aero) 750fps with aero.
73
+ however with mplayer it was like 14fps with aero, 53 without, and 55 with single monitor (?)
74
+ TODO can I get that 800fps somehow? or can I live without it?
75
+
76
+ 350 fps aero dual monitor work desktop
77
+ 383/700 at times fps non-aero same [?] [just disabling aero auto-made my thing faster LOL]
78
+
12
79
  == phreaky mplayer dvdnav ==
13
80
 
14
81
  Tangled seemed to "not play without VLC help" at work, but not at home mac where it failed.
@@ -256,6 +323,7 @@ http://www.kdenlive.org/forum/xml-format-and-edls kdenlive supports EDL, apparen
256
323
  I could either go with avisynth + MPC (I think)
257
324
 
258
325
  === upconverting to the huge monitor===
326
+
259
327
  with the black laptop:
260
328
  "normal" dvdnav seemed to work all right, slightly jerky at times.
261
329
  I think that upconverting to the little monitor used more cpu.
@@ -284,8 +352,6 @@ http://www.kdenlive.org/forum/xml-format-and-edls kdenlive supports EDL, apparen
284
352
 
285
353
  TODO try various DVD's with 1680 versus 3360...are they all supah clear?
286
354
 
287
-
288
-
289
355
  roary, mac:
290
356
  1280: fine
291
357
  1500: toast speed-wise
@@ -294,6 +360,7 @@ http://www.kdenlive.org/forum/xml-format-and-edls kdenlive supports EDL, apparen
294
360
  === various options ===
295
361
 
296
362
  an avisynth upconvert howto: http://avisynth.org/mediawiki/Enhancing_dvd_videos
363
+ http://web.archiveorange.com/archive/v/JbcLEih3ZwhZlMuTkxzR says "if you're upscaling [to grow the image] then do denoise before scale"
297
364
 
298
365
  -vo gl fails on a mac [huh?]
299
366
 
@@ -14,7 +14,27 @@ upconvert netflix instant yes!
14
14
  do I need double tapping? http://archive2.avsforum.com/avs-vb/showthread.php?s=&postid=4760581#post4760581
15
15
 
16
16
  my own Dshow input filter, which also has a "command line" way of configuring it, for ease of use.
17
-
17
+ could "just" use the push source + mplayer maybe [?]
18
+ would be nice to retrofit it with real "video capture source" to see if it works well with VLC or not...
19
+ assume it would similarly fail LOL. I think what you need is either sleeps or...or...IAmPushSource I guess.
20
+
21
+ It probably needs to send out input "only if it's changed" I'm thinkin..."
22
+
23
+ === netflix/OS screen capture ===
24
+
25
+ update the OS README file
26
+ warn on aero (dual monitor?)
27
+ troubleshooting: tell them to use the BitTest, reverse should be at least 200 fps I guess...
28
+ make it able to grab from a window, and work when dragged too...
29
+ can I make it look awesome?
30
+ ==== some day ====
31
+ more precise timing...why not?
32
+ can I live with aero wasn't bitblt getting like 800fps *with* aero?
33
+ threading
34
+ shearing
35
+ perfect looks LOL
36
+ make really low q stuff like youtube 360 look good
37
+
18
38
  == never ==
19
39
 
20
40
  add another sharpen filter?
@@ -0,0 +1,18 @@
1
+ # from http://avisynth.org/mediawiki/Enhancing_dvd_videos
2
+
3
+ Video = DirectShowSource("push2.GRF", fps=160, audio=False, framecount=1000000) # fps appears to be a "max" fps [?] does it drop otherwise? 60 -> 55...
4
+ Return Video
5
+ # Video = ConvertToYUY2 (Video)
6
+ #
7
+ # # these are the size of your monitor that the output is displayed on. Unless it lags too much, then try experimenting with smaller values
8
+ # screen_width = 1024 # CHANGE THIS TODO propagate it...
9
+ # screen_height = 768 # CHANGE THIS
10
+ #
11
+ # # note that you can get even better looking images by say, upscaling to 2x your current screen resolution, by uncommenting the following two lines
12
+ # screen_width = screen_width*2
13
+ # screen_height = screen_height*2
14
+ #
15
+ # Video = Lanczos4Resize (Video, screen_width, screen_height) # said to be a good upsampler...hmm...
16
+ #
17
+ # Video = Sharpen (Video, 0.78) # Helps sharpen smoothness enlarging does. 0.78 = (1.25*(1024/720))-1
18
+ # Return Video
@@ -0,0 +1,21 @@
1
+ # from http://avisynth.org/mediawiki/Enhancing_dvd_videos
2
+
3
+ Video = DirectShowSource("uscreen_me.GRF", fps=24, audio=False, framecount=1000000)
4
+ Video = ConvertToYUY2 (Video)
5
+
6
+ # get these from examining the window size or through trial and error.
7
+ subject_x = 880
8
+ subject_y = 440
9
+
10
+ # these are the size of your monitor that the output is displayed on.
11
+ screen_width = 1680
12
+ screen_height = 1050
13
+
14
+ # note that you can get even better looking images by say, upscaling to 2x your screen resolution
15
+ # screen_width = screen_width*2
16
+ # screen_height = screen_height*2
17
+
18
+ Video = Lanczos4Resize (Video, screen_width, screen_height) # said to be a good upsampler...hmm...
19
+
20
+ Video = Sharpen (Video, 0.78) # Helps sharpen smoothness enlarging does. 0.78 = (1.25*(1024/720))-1
21
+ Return Video
@@ -0,0 +1,3 @@
1
+ # from http://avisynth.org/mediawiki/Enhancing_dvd_videos
2
+
3
+ DirectShowSource("uscreen_me2.GRF", fps=30, audio=False, framecount=1000000)
@@ -0,0 +1,3 @@
1
+ # from http://avisynth.org/mediawiki/Enhancing_dvd_videos
2
+
3
+ DirectShowSource("push_source_desktop.GRF", fps=5, audio=False, framecount=1000000)
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sensible-cinema
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.24.9
5
+ version: 0.25.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Roger Pack
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-07-28 00:00:00 -06:00
13
+ date: 2011-08-02 00:00:00 -06:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -314,8 +314,16 @@ files:
314
314
  - todo.upconvert
315
315
  - upconvert.bat
316
316
  - upconvert_netflix/HOW_TO_USE.txt
317
+ - upconvert_netflix/latest_now_possibly_oudated/push2.GRF
318
+ - upconvert_netflix/latest_now_possibly_oudated/upconvert_from_screen_me2.avs
319
+ - upconvert_netflix/position_window.png
320
+ - upconvert_netflix/push_source_desktop.GRF
317
321
  - upconvert_netflix/upconvert_from_screen.avs
322
+ - upconvert_netflix/upconvert_from_screen_me.avs
323
+ - upconvert_netflix/upconvert_from_screen_me2.avs
324
+ - upconvert_netflix/upconvert_from_screen_me_push_source.avs
318
325
  - upconvert_netflix/uscreen.GRF
326
+ - upconvert_netflix/uscreen_me.GRF
319
327
  - vendor/jruby-complete-1.6.2.jar
320
328
  - vendor/mac_dvdid/bin/dvdid
321
329
  - vendor/mac_dvdid/include/dvdid/dvdid.h