sensible-cinema 0.26.1 → 0.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/TODO CHANGED
@@ -24,19 +24,16 @@
24
24
 
25
25
  == high prio like blocking bugs ==
26
26
 
27
- == under next release specific items: ==
28
- test out DVD upscale
29
- no super scale res?
30
-
31
27
  == next things I was working on ==
32
- a srt that works with my DVD...does it match netflix instant jonah?
33
28
  unit tests work
34
- innerspace
35
- screen recording
29
+ screen recording sintel
36
30
  more netflix instant timing
37
- bluray jonah
31
+ bluray jonah total time vs. other
38
32
 
39
33
  == yes do ordered for release ==
34
+ test out DVD upscale
35
+ no super scale res?
36
+
40
37
  add srt instructions to docu, release
41
38
  fake "tenseness" metric
42
39
  netflix instant descriptor for OS X/work at all
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.26.1
1
+ 0.26.2
@@ -1,3 +1,7 @@
1
+ == 0.26.2 ==
2
+
3
+ Fix license acceptance code, quick redeploy
4
+
1
5
  == 0.26.1 ==
2
6
 
3
7
  Cleaned up the upconvert interface, added a way for easier comparison of different upconversion settings (automated-ly-zy).
@@ -427,7 +427,6 @@ module SensibleSwing
427
427
  def require_blocking_license_accept_dialog program, license_name, license_url_should_also_be_embedded_by_you_in_message,
428
428
  title = 'Confirm Acceptance of License Agreement', message = nil
429
429
  puts 'Please confirm license agreement in open window.'
430
- # cancel button stays the same...
431
430
 
432
431
  message ||= "Sensible Cinema requires a separately installed program (#{program}), not yet installed.
433
432
  You can install this program manually to the vendor/cache subdirectory, or Sensible Cinema can download it for you.
@@ -438,12 +437,11 @@ module SensibleSwing
438
437
  You agree that you are responsible for the download and use of this program, within sensible cinema or otherwise."
439
438
  answer = JOptionPane.show_select_buttons_prompt message, :yes => 'Accept', :no => "View #{license_name}"
440
439
  assert_confirmed_dialog answer, license_url_should_also_be_embedded_by_you_in_message
441
- p 'confirmation of sensible cinema related license saved of: ' + license_name
442
- throw unless returned == 0
443
-
440
+ p 'confirmation of sensible cinema related license noted of: ' + license_name # LODO require all licenses together :P
441
+ throw unless answer == :yes
444
442
  end
445
443
 
446
- def assert_confirmed_dialog answer, license_url_should_also_be_embedded_by_you_in_message
444
+ def assert_confirmed_dialog returned, license_url_should_also_be_embedded_by_you_in_message
447
445
  # :yes, :no, :cancel
448
446
  # 1 is view button was clicked
449
447
  # 0 is accept
data/spec/notes CHANGED
@@ -1,5 +1,39 @@
1
1
  up next:
2
2
 
3
+ curious george 2 http://movies.netflix.com/WiPlayer?trkid=805148&movieid=70130481 37:35 has an accomplish oh my g
4
+
5
+ == netflix upscale notes ==
6
+
7
+ :width=>657 for "HD" that said it was playing in HD, eh? ... hmm...
8
+
9
+ hulu has "up to 480p" as options...hmm...
10
+ 360p speedracer displays as {:start_x=>535, :start_y=>328, :width=>542, :height=>410}
11
+ 480p speedracer displays as {:start_x=>524, :start_y=>331, :width=>550, :height=>408} (same)
12
+ and always the same size minimzed eh...
13
+
14
+ netflix instant
15
+ default minimum size is {:start_x=>38, :start_y=>109, :width=>649, :height=>372}
16
+ Jonah is in hd
17
+ http://blog.netflix.com/2011/03/netflix-lowers-data-usage-by-23-for.html 1080p possible, typically it's 720p apparently [?]
18
+ 720p:
19
+ 2200 kbps/192 kbps
20
+ while "buffering hd" it looks a bit jagged...hmm...
21
+ if you drag, it loses and discards all buffering. yipes.
22
+ "DIS" allowing HD at first looks junky, then looks really good LOL
23
+ HD looks basically perfect, though maybe some sharpening or what not could help still...
24
+ the lines look awesome to good (this is "apparently probably" 1080p
25
+ non HD, with their upconversion
26
+ lines look pretty good, maybe a teeny touchup
27
+ coloring maybe a bit weak
28
+ maybe barely non sharp lines
29
+ no artifacts that I can tell
30
+ might not need hqdn3d?
31
+ unless they have/use their own...
32
+
33
+ TODO CGI netflix instant 1080p
34
+ compare HD and non...
35
+
36
+
3
37
  == netflix instant vs srt ==
4
38
 
5
39
  00:02:34,427 --> 00:02:36,361
@@ -1535,23 +1569,40 @@ hulu
1535
1569
  15: wash your hands [before] you eat
1536
1570
  30: a man that .. can count on to deliver his message yes [well]
1537
1571
  45: just before the big grin from duck
1572
+ sum: 1:22:51 1:22:52 in thing, seems to get that far... hmm...
1573
+
1538
1574
 
1539
1575
  youtube jonah: appears lower quality?
1540
1576
  15: wash your hands before you [eat]
1541
1577
  30: yes well [you] and ...
1542
1578
  45: big smile, turns [to his right]
1543
-
1544
- powerdvd 8:
1545
- 15: wash your hands before you [eat] --- wash your hands [before] you eat --- wash your [hands] before you eat LOL
1546
- 30: can count on to deliver his messages yes [] well --- yes well ... you and [] ... are like peas in a pod ai ai
1547
- 45: big smile [] he turns to his right --- turns [to his right] -- [] turns to his right
1579
+ sum: (says 1:22:59 for pay version [?]) says 1:22:54 in index, and on vid, felt really like 1:22:52 or so
1580
+
1581
+
1582
+ powerdvd 8 (DVD):
1583
+ 15:
1584
+ wash your hands before you [eat]
1585
+ wash your hands [before] you eat
1586
+ wash your [hands] before you eat LOL
1587
+ 30:
1588
+ can count on to deliver his messages yes [] well
1589
+ yes well ... you and [] ... are like peas in a pod
1590
+ 45:
1591
+ big smile [] he turns to his right
1592
+ turns [to his right]
1593
+ [] turns to his right
1548
1594
 
1549
1595
  wmp windows 7: [wmp feels slightly unstable timing-wise]
1550
1596
  15: before [] you eat --- before [you] eat
1551
1597
  30: yes []well --- yes well[]
1552
1598
  45: turns [to his right] --- turns to his right[]
1553
1599
 
1554
- LODO jonah blu ray timings
1600
+ blu-ray powerdvd:
1601
+ 30: deep in my family [] my uncle * 2
1602
+ 45: blue light shines down 44:58 or 59
1603
+ duck 44:47 look left about 44:48
1604
+ 1:22:45 sum, seems to have the same closing credits et al...
1605
+ totally uses 100% cpu
1555
1606
 
1556
1607
  netflix instant jonah
1557
1608
 
@@ -1569,7 +1620,7 @@ netflix instant jonah
1569
1620
  [fr]om the Lord.
1570
1621
  me[ss]age from the Lord [HD]
1571
1622
 
1572
- conclusion: browser doesn't matter, at lesat for HD streams, at work
1623
+ conclusion: browser doesn't matter, (at least for HD stream at work)
1573
1624
 
1574
1625
  30: like two humps on a camel, you always sway the same way, humor runs in my family, my uncle was a [big] star
1575
1626
  IE at work: humor runs very deep in my family[] my uncle was, my uncle was[] a big star, my [uncle] was a big star
@@ -1579,7 +1630,11 @@ netflix instant jonah
1579
1630
  chrome: 1.5 seconds as blue light fades in
1580
1631
  it's like 10 seconds in...
1581
1632
  same with mac
1633
+ 47 duck
1582
1634
  conclusion: netflix doesn't care about mac versus pc timing-wise
1635
+ 59 blu ray how apropo
1636
+
1637
+ conclusion (based on this compared with the blu-ray): netflix instant seems to match pretty close, within 1s to the blu-ray
1583
1638
 
1584
1639
  conclusion: netflix varies pretty widely from instance to instance of playing back (same computer, same movie, same browser).
1585
1640
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sensible-cinema
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.26.1
5
+ version: 0.26.2
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-09-07 00:00:00 Z
13
+ date: 2011-09-08 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: os
@@ -266,8 +266,6 @@ files:
266
266
  - lib/keyboard_input.rb
267
267
  - lib/media_info_parser.rb
268
268
  - lib/mencoder_wrapper.rb
269
- - lib/mouse.rb
270
- - lib/mouse_draw.rb
271
269
  - lib/mouse_forever.rb
272
270
  - lib/mplayer_edl.rb
273
271
  - lib/muter.rb
@@ -298,7 +296,6 @@ files:
298
296
  - spec/keyboard_input.spec.rb
299
297
  - spec/media_info_parser.spec.rb
300
298
  - spec/mencoder_wrapper.spec.rb
301
- - spec/mouse.spec.rb
302
299
  - spec/mplayer_edl.spec.rb
303
300
  - spec/muter.spec.rb
304
301
  - spec/notes
@@ -307,7 +304,6 @@ files:
307
304
  - spec/screen_tracker.spec.rb
308
305
  - spec/sensible_cinema_gui.spec.rb
309
306
  - spec/subtitle_profanity_finder.spec.rb
310
- - spec/swing_helpers.spec.rb
311
307
  - spec/test_yaml.yml
312
308
  - spec/tsmuxer.output
313
309
  - spec/vlc_programmer.spec.rb
data/lib/mouse.rb DELETED
@@ -1,148 +0,0 @@
1
- =begin
2
- Copyright 2010, Roger Pack
3
- This file is part of Sensible Cinema.
4
-
5
- Sensible Cinema is free software: you can redistribute it and/or modify
6
- it under the terms of the GNU General Public License as published by
7
- the Free Software Foundation, either version 3 of the License, or
8
- (at your option) any later version.
9
-
10
- Sensible Cinema is distributed in the hope that it will be useful,
11
- but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- GNU General Public License for more details.
14
-
15
- You should have received a copy of the GNU General Public License
16
- along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
17
- =end
18
- require 'rubygems'
19
- require 'ffi'
20
- require 'java'
21
-
22
- module Mouse
23
- extend FFI::Library
24
- MouseInfo = java.awt.MouseInfo
25
-
26
- ffi_lib 'user32'
27
- ffi_convention :stdcall
28
-
29
- MOUSEEVENTF_MOVE = 1
30
- INPUT_MOUSE = 0
31
- MOUSEEVENTF_ABSOLUTE = 0x8000
32
- MOUSEEVENTF_LEFTDOWN = 0x0002
33
- MOUSEEVENTF_LEFTUP = 0x0004
34
-
35
-
36
- class MouseInput < FFI::Struct
37
- layout :dx, :long,
38
- :dy, :long,
39
- :mouse_data, :ulong,
40
- :flags, :ulong,
41
- :time, :ulong,
42
- :extra, :ulong
43
- end
44
-
45
- class InputEvent < FFI::Union
46
- layout :mi, MouseInput
47
- end
48
-
49
- class Input < FFI::Struct
50
- layout :type, :ulong,
51
- :evt, InputEvent
52
- end
53
-
54
- # UINT SendInput(UINT nInputs, LPINPUT pInputs, int cbSize);
55
- attach_function :SendInput, [ :uint, :pointer, :int ], :uint
56
-
57
- # poller...
58
- attach_function :GetAsyncKeyState, [:int], :uint
59
-
60
- class << self
61
-
62
- def jitter_forever_in_own_thread
63
-
64
- old_x, old_y = get_mouse_location
65
- Thread.new {
66
- loop {
67
- move_y = 8 # just enough for VLC when full screened...
68
- cur_x, cur_y = get_mouse_location
69
- if(cur_x == old_x && cur_y == old_y)
70
- @total_movements += 1
71
- # blit it up
72
- move_mouse_relative(0, move_y)
73
- move_mouse_relative(0, move_y * -1)
74
- # let it move it back
75
- sleep 0.05
76
- old_x, old_y = get_mouse_location
77
- sleep 0.75
78
- else
79
- # user has been moving the mouse around, so we don't need to, to not annoy them
80
- old_x, old_y = get_mouse_location
81
- sleep 3
82
- end
83
- }
84
- }
85
-
86
- end
87
-
88
- def move_mouse_relative dx, dy
89
- myinput = Mouse::Input.new
90
- myinput[:type] = Mouse::INPUT_MOUSE
91
- in_evt = myinput[:evt][:mi]
92
- in_evt[:mouse_data] = 0 # null it out
93
- in_evt[:flags] = Mouse::MOUSEEVENTF_MOVE
94
- in_evt[:time] = 0
95
- in_evt[:extra] = 0
96
- in_evt[:dx] = dx
97
- in_evt[:dy] = dy
98
- SendInput(1, myinput, Mouse::Input.size)
99
- end
100
-
101
- def single_click_left_mouse_button
102
- left_mouse_down!
103
- left_mouse_up!
104
- p "CLICKED LEFT MOUSE BUTTON"
105
- end
106
-
107
- def left_mouse_down!
108
- send_left_mouse_button MOUSEEVENTF_LEFTDOWN
109
- end
110
-
111
- def left_mouse_up!
112
- send_left_mouse_button MOUSEEVENTF_LEFTUP
113
- end
114
-
115
- VK_LBUTTON = 0x01 # mouse left button for GetAsyncKeyState (seeing if mouse down currently or not)
116
-
117
- def left_mouse_button_state
118
- GetAsyncKeyState(VK_LBUTTON) # ignore a first response, which also tells us if it has changed at all since last call
119
- if GetAsyncKeyState(VK_LBUTTON) == 0 # zero means up
120
- :up
121
- else
122
- :down
123
- end
124
- end
125
-
126
- # [x, y]
127
- def get_mouse_location
128
- loc = MouseInfo.getPointerInfo.getLocation
129
- [loc.x, loc.y]
130
- end
131
-
132
- attr_accessor :total_movements
133
-
134
- private
135
-
136
- def send_left_mouse_button action_type
137
- myinput = Mouse::Input.new
138
- myinput[:type] = Mouse::INPUT_MOUSE
139
- in_evt = myinput[:evt][:mi]
140
- in_evt[:flags] = action_type
141
- SendInput(1, myinput, Mouse::Input.size)
142
- end
143
-
144
-
145
- end
146
-
147
- end
148
- Mouse.total_movements=0 # ruby is a bit freaky with these...
data/lib/mouse_draw.rb DELETED
@@ -1,43 +0,0 @@
1
- require 'mouse'
2
-
3
-
4
- class MouseDraw
5
-
6
- def self.go
7
-
8
- require 'java'
9
-
10
- java_import 'javax.swing.JFrame'
11
- java_import 'javax.swing.JButton'
12
- java_import 'com.sun.awt.AWTUtilities'
13
-
14
- f = JFrame.new
15
- f.add JButton.new('capture window')
16
- f.set_size(200,200)
17
-
18
- AWTUtilities.set_window_opacity(f, 0.5)
19
-
20
- # wait till mouse goes down...
21
- while(Mouse.left_mouse_button_state == :up)
22
- sleep 0.05
23
- print 'waiting'
24
- end
25
- f.undecorated = true
26
- f.default_close_operation = JFrame::EXIT_ON_CLOSE
27
- f.always_on_top = true
28
- f.visible = true
29
- f.set_location(Mouse.get_mouse_location)
30
- while(Mouse.left_mouse_button_state == :down)
31
- # set_size
32
- p 'waiting for end'
33
- p Mouse.get_mouse_location
34
- end
35
- f.dispose
36
- end
37
-
38
- end
39
-
40
-
41
- if $0 == __FILE__
42
- MouseDraw.go
43
- end
data/spec/mouse.spec.rb DELETED
@@ -1,65 +0,0 @@
1
- =begin
2
- Copyright 2010, Roger Pack
3
- This file is part of Sensible Cinema.
4
-
5
- Sensible Cinema is free software: you can redistribute it and/or modify
6
- it under the terms of the GNU General Public License as published by
7
- the Free Software Foundation, either version 3 of the License, or
8
- (at your option) any later version.
9
-
10
- Sensible Cinema is distributed in the hope that it will be useful,
11
- but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- GNU General Public License for more details.
14
-
15
- You should have received a copy of the GNU General Public License
16
- along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
17
- =end
18
- require File.expand_path(File.dirname(__FILE__) + '/common')
19
- require_relative '../lib/mouse'
20
-
21
- p 'dont move the mouse!'
22
-
23
- describe Mouse do
24
-
25
- it "should move it a couple times" do
26
- old = Mouse.total_movements
27
- begin
28
- Timeout::timeout(2) {
29
- Mouse::jitter_forever_in_own_thread.join
30
- }
31
- rescue Timeout::Error
32
- end
33
- Mouse.total_movements.should be > old
34
- end
35
-
36
- it "should not move it if the user does" do
37
- old = Mouse.total_movements
38
- begin
39
- Timeout::timeout(2) {
40
- Mouse::jitter_forever_in_own_thread
41
- x = 1
42
- loop {java.awt.Robot.new.mouse_move(500 + (x+=1),500); sleep 0.1; }
43
- }
44
- rescue Timeout::Error
45
- end
46
- Mouse.total_movements.should == old + 1
47
- end
48
-
49
- it "should be able to left mouse click" do
50
- Mouse.left_mouse_button_state.should be :up
51
- Mouse.left_mouse_down!
52
- Mouse.left_mouse_button_state.should be :down
53
- Mouse.left_mouse_up!
54
- Mouse.left_mouse_button_state.should be :up
55
- end
56
-
57
- it "should be able to click" do
58
- Mouse.left_mouse_button_state.should be :up
59
- Mouse.single_click_left_mouse_button
60
- Mouse.left_mouse_up!
61
- Mouse.left_mouse_up!
62
- Mouse.left_mouse_button_state.should be :up
63
- end
64
-
65
- end
@@ -1,44 +0,0 @@
1
- =begin
2
- Copyright 2010, Roger Pack
3
- This file is part of Sensible Cinema.
4
-
5
- Sensible Cinema is free software: you can redistribute it and/or modify
6
- it under the terms of the GNU General Public License as published by
7
- the Free Software Foundation, either version 3 of the License, or
8
- (at your option) any later version.
9
-
10
- Sensible Cinema is distributed in the hope that it will be useful,
11
- but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- GNU General Public License for more details.
14
-
15
- You should have received a copy of the GNU General Public License
16
- along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
17
- =end
18
- require File.expand_path(File.dirname(__FILE__) + '/common')
19
- require 'os'
20
- require_relative '../lib/swing_helpers'
21
- module SensibleSwing
22
- describe SensibleSwing do
23
-
24
- it "should close its modeless dialog" do
25
-
26
- dialog = NonBlockingDialog.new("Is this modeless?")
27
- dialog = NonBlockingDialog.new("Is this modeless?\nSecond lineLL")
28
- dialog = NonBlockingDialog.new("Is this modeless?\nSecond lineLL\nThird line too!")
29
- dialog = NonBlockingDialog.new("Can this take very long lines of input, like super long?")
30
- #dialog.dispose # should get here :P
31
- # let user close it :P
32
- end
33
-
34
- it "should be able to convert filenames well" do
35
- if OS.windows?
36
- "a/b/c".to_filename.should == "a\\b\\c"
37
- else
38
- "a/b/c".to_filename.should == "a/b/c"
39
- end
40
- end
41
-
42
- end
43
- end
44
- puts 'close the windows...'