sensible-cinema 0.13.0 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -9,6 +9,9 @@ Jeweler::Tasks.new do |s|
9
9
  s.add_dependency 'sane', '>= 0.22.0'
10
10
  s.add_dependency 'rdp-win32screenshot', '>= 0.0.7.3'
11
11
  s.add_dependency 'mini_magick' # for ocr...
12
+ s.add_dependency 'jruby-win32ole'
13
+ s.add_dependency 'rdp-ruby-wmi'
14
+ s.add_dependency 'ffi'
12
15
  s.add_development_dependency 'rspec' # prefer rspec 2 I guess...
13
16
  s.add_development_dependency 'jeweler'
14
17
  s.add_development_dependency 'rdp-rmagick'
data/TODO CHANGED
@@ -4,43 +4,30 @@
4
4
 
5
5
  == probably next up/low prio ==
6
6
 
7
+ better timing for the saving thing...
7
8
  byu.tv descriptor
8
9
  back off on mouse jerking if they're movin' it
9
- screencast of things helpful (use, creation).
10
- youtube non full screen: work with other browsers
11
10
  speed up unit tests
12
11
  a netflix player descriptor
13
12
  "just choose VLCx55" LOL
14
13
  beep at them when not tracking [?]
15
14
  default on...hmm
16
- easier "here's how on the command line, BTW"
17
15
 
18
16
  == slightly lower than that ==
19
17
 
20
18
  can parse IMDB (require they put in the URL by hand fer now)
21
19
  add stuffs to imdb hmmm
20
+ screencast of things helpful (use, creation...).
22
21
  can "overplay" (for VLC only on special computers for now :P)
22
+ youtube non full screen: work with other browsers
23
+ easier "here's how on the command line, BTW"
23
24
 
24
25
  == random backlog ... note: just plow forward, to "grab" available ideas...except that for now, just what *I* plan on needing for myself (filters for what I need/want). ==
25
26
 
26
- "sav-ize"
27
- GUI to make that actually feasible
28
-
29
- "ripperzy-ize"
30
- can rip from DVD and then edit that
31
- mplayer?
32
- can rip from screen
33
- windows 7 only for now (?)
34
- VLC to rip?
35
- raw? SSD? cpu? huh? (assume quality audio card, even with windows 7, fer now...these people can chip in a few bucks)
36
- mencoder?
37
- research this "record netflix" et al
38
- and track it as ripping, I guess (time -> time...)
39
- and then able to edit that...
40
- remove commercials?
27
+ leaner gem (size-wise...) but I guess some ability to have a zip downloader...hmm...
41
28
 
42
- dvd-rip:
43
- VobBlanker for DVD's?
29
+ GUI:
30
+ preferences for levels, etc.
44
31
 
45
32
  blanker: allow for one side of the screen or another...
46
33
 
@@ -56,12 +43,19 @@ run it off a normal person (hulu, DVD). rinse and repeat
56
43
 
57
44
  advertise on ruby flow
58
45
 
46
+ "ripperzy-ize"
47
+ can record from online [huh? do I even want this?]
48
+ maybe can record something, then extract the bad, and get a better looking video...
49
+ low prio
50
+ research this "record netflix" et al
51
+ and track it as ripping, I guess (time -> time...)
52
+ and then able to edit that...
53
+ remove commercials?
54
+
59
55
  DRY up the levels--it's in the ocr spec as well as the others...
60
56
 
61
57
  unit tests pass with normal ruby
62
58
 
63
- add unit tests for each player for "make all players actually play again"
64
-
65
59
  screen time change only detected... [unexpected] [rid myself of it]
66
60
 
67
61
  the stabilization on seconds -> 00 -> minutes++: make optional [?]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.13.0
1
+ 0.13.1
data/bin/sensible-cinema CHANGED
@@ -42,11 +42,11 @@ module SensibleSwing
42
42
 
43
43
  fc = JFileChooser.new
44
44
  # LODO allow for spaces in save to file
45
- fc.set_dialog_title "Pick a location to save it to (like 'my_dvd')"
45
+ fc.set_dialog_title "Pick a location to save file to"
46
46
  save_to_file_name = ((descriptors["title"] || "my dvd") + ' edited').gsub(' ', '_').gsub( /\W/, '') # no punctuation for now...
47
47
  fc.setSelectedFile(JFile.new(get_drive_with_most_space + save_to_file_name))
48
48
  save_to = fc.go
49
- # TODO don't pop up those annoying windows
49
+ # LODO don't pop up those annoying windows
50
50
  dvd_title_track = descriptors["dvd_title_track"]
51
51
  bat_file = VLCProgrammer.convert_to_full_xspf(descriptors, save_to, drive)
52
52
  temp_dir = Dir.tmpdir
@@ -108,7 +108,7 @@ module SensibleSwing
108
108
 
109
109
  def get_drive_with_most_space
110
110
  disks = WMI::Win32_LogicalDisk.find(:all)
111
- out = disks.sort_by{|d| d.FreeSpace}[-1].Name + "\\"
111
+ out = disks.sort_by{|d| d.FreeSpace.to_i}[-1].Name + "\\"
112
112
  out
113
113
  end
114
114
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 13
8
- - 0
9
- version: 0.13.0
8
+ - 1
9
+ version: 0.13.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Roger Pack
@@ -62,7 +62,7 @@ dependencies:
62
62
  type: :runtime
63
63
  version_requirements: *id003
64
64
  - !ruby/object:Gem::Dependency
65
- name: rspec
65
+ name: jruby-win32ole
66
66
  prerelease: false
67
67
  requirement: &id004 !ruby/object:Gem::Requirement
68
68
  none: false
@@ -72,10 +72,10 @@ dependencies:
72
72
  segments:
73
73
  - 0
74
74
  version: "0"
75
- type: :development
75
+ type: :runtime
76
76
  version_requirements: *id004
77
77
  - !ruby/object:Gem::Dependency
78
- name: jeweler
78
+ name: rdp-ruby-wmi
79
79
  prerelease: false
80
80
  requirement: &id005 !ruby/object:Gem::Requirement
81
81
  none: false
@@ -85,10 +85,10 @@ dependencies:
85
85
  segments:
86
86
  - 0
87
87
  version: "0"
88
- type: :development
88
+ type: :runtime
89
89
  version_requirements: *id005
90
90
  - !ruby/object:Gem::Dependency
91
- name: rdp-rmagick
91
+ name: ffi
92
92
  prerelease: false
93
93
  requirement: &id006 !ruby/object:Gem::Requirement
94
94
  none: false
@@ -98,10 +98,10 @@ dependencies:
98
98
  segments:
99
99
  - 0
100
100
  version: "0"
101
- type: :development
101
+ type: :runtime
102
102
  version_requirements: *id006
103
103
  - !ruby/object:Gem::Dependency
104
- name: hitimes
104
+ name: rspec
105
105
  prerelease: false
106
106
  requirement: &id007 !ruby/object:Gem::Requirement
107
107
  none: false
@@ -113,18 +113,50 @@ dependencies:
113
113
  version: "0"
114
114
  type: :development
115
115
  version_requirements: *id007
116
+ - !ruby/object:Gem::Dependency
117
+ name: jeweler
118
+ prerelease: false
119
+ requirement: &id008 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ segments:
125
+ - 0
126
+ version: "0"
127
+ type: :development
128
+ version_requirements: *id008
129
+ - !ruby/object:Gem::Dependency
130
+ name: rdp-rmagick
131
+ prerelease: false
132
+ requirement: &id009 !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ segments:
138
+ - 0
139
+ version: "0"
140
+ type: :development
141
+ version_requirements: *id009
142
+ - !ruby/object:Gem::Dependency
143
+ name: hitimes
144
+ prerelease: false
145
+ requirement: &id010 !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ segments:
151
+ - 0
152
+ version: "0"
153
+ type: :development
154
+ version_requirements: *id010
116
155
  description:
117
156
  email: rogerdpack@gmail.com
118
157
  executables:
119
- - AboutDialog.class
120
- - AboutDialog.java
121
- - ComboBoxes$1.class
122
- - ComboBoxes$2.class
123
- - ComboBoxes.class
124
- - ComboBoxes.java
125
158
  - sensible-cinema
126
159
  - sensible-cinema-cli
127
- - sensible-cinema-hit-reload-twice-then-save-copy-of-for-death
128
160
  - swing_helpers.rb
129
161
  extensions:
130
162
  - ext/mkrf_conf.rb
@@ -258,13 +290,6 @@ files:
258
290
  - zamples/scene_lists/star_trek_generations_hulu.yml
259
291
  - zamples/scene_lists/youtube/gummy_bear_song_youtube.yml
260
292
  - zamples/scene_lists/youtube/nuki_song_youtube.yml
261
- - bin/AboutDialog.class
262
- - bin/AboutDialog.java
263
- - bin/ComboBoxes$1.class
264
- - bin/ComboBoxes$2.class
265
- - bin/ComboBoxes.class
266
- - bin/ComboBoxes.java
267
- - bin/sensible-cinema-hit-reload-twice-then-save-copy-of-for-death
268
293
  has_rdoc: true
269
294
  homepage: http://github.com/rdp
270
295
  licenses: []
Binary file
data/bin/AboutDialog.java DELETED
@@ -1,38 +0,0 @@
1
- import java.awt.BorderLayout;
2
- import java.awt.Dimension;
3
- import java.awt.Point;
4
- import java.awt.event.ActionEvent;
5
- import java.awt.event.ActionListener;
6
- import javax.swing.JButton;
7
- import javax.swing.JDialog;
8
- import javax.swing.JFrame;
9
- import javax.swing.JLabel;
10
- import javax.swing.JPanel;
11
- public class AboutDialog extends JDialog implements ActionListener {
12
- public AboutDialog(JFrame parent, String title, String message) {
13
- super(parent, title, true);
14
- if (parent != null) {
15
- Dimension parentSize = parent.getSize();
16
- Point p = parent.getLocation();
17
- setLocation(p.x + parentSize.width / 4, p.y + parentSize.height / 4);
18
- }
19
- JPanel messagePane = new JPanel();
20
- messagePane.add(new JLabel(message));
21
- getContentPane().add(messagePane);
22
- JPanel buttonPane = new JPanel();
23
- JButton button = new JButton("OK");
24
- buttonPane.add(button);
25
- button.addActionListener(this);
26
- getContentPane().add(buttonPane, BorderLayout.SOUTH);
27
- setDefaultCloseOperation(DISPOSE_ON_CLOSE);
28
- pack();
29
- setVisible(true);
30
- }
31
- public void actionPerformed(ActionEvent e) {
32
- setVisible(false);
33
- dispose();
34
- }
35
- public static void main(String[] a) {
36
- AboutDialog dlg = new AboutDialog(new JFrame(), "title", "message");
37
- }
38
- }
Binary file
Binary file
data/bin/ComboBoxes.class DELETED
Binary file
data/bin/ComboBoxes.java DELETED
@@ -1,67 +0,0 @@
1
-
2
- // : c14:ComboBoxes.java
3
- // Using drop-down lists.
4
- // <applet code=ComboBoxes width=200 height=125></applet>
5
- // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
6
- // www.BruceEckel.com. See copyright notice in CopyRight.txt.
7
-
8
- import java.awt.Container;
9
- import java.awt.FlowLayout;
10
- import java.awt.event.ActionEvent;
11
- import java.awt.event.ActionListener;
12
-
13
- import javax.swing.JApplet;
14
- import javax.swing.JButton;
15
- import javax.swing.JComboBox;
16
- import javax.swing.JFrame;
17
- import javax.swing.JTextField;
18
-
19
- public class ComboBoxes extends JApplet {
20
- private String[] description = { "Ebullient", "Obtuse", "Recalcitrant",
21
- "Brilliant", "Somnescent", "Timorous", "Florid", "Putrescent" };
22
-
23
- private JTextField t = new JTextField(15);
24
-
25
- private JComboBox c = new JComboBox();
26
-
27
- private JButton b = new JButton("Add items");
28
-
29
- private int count = 0;
30
-
31
- public void init() {
32
- for (int i = 0; i < 4; i++)
33
- c.addItem(description[count++]);
34
- t.setEditable(false);
35
- b.addActionListener(new ActionListener() {
36
- public void actionPerformed(ActionEvent e) {
37
- if (count < description.length)
38
- c.addItem(description[count++]);
39
- }
40
- });
41
- c.addActionListener(new ActionListener() {
42
- public void actionPerformed(ActionEvent e) {
43
- t.setText("index: " + c.getSelectedIndex() + " "
44
- + ((JComboBox) e.getSource()).getSelectedItem());
45
- }
46
- });
47
- Container cp = getContentPane();
48
- cp.setLayout(new FlowLayout());
49
- cp.add(t);
50
- cp.add(c);
51
- cp.add(b);
52
- }
53
-
54
- public static void main(String[] args) {
55
- run(new ComboBoxes(), 200, 125);
56
- }
57
-
58
- public static void run(JApplet applet, int width, int height) {
59
- JFrame frame = new JFrame();
60
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
61
- frame.getContentPane().add(applet);
62
- frame.setSize(width, height);
63
- applet.init();
64
- applet.start();
65
- frame.setVisible(true);
66
- }
67
- } ///:~
@@ -1,105 +0,0 @@
1
- #!/usr/bin/ruby
2
- puts 'Welcome to Sensible Cinema...'
3
- require 'rubygems'
4
- require 'ruby-wmi'
5
- require 'swing_helpers'
6
-
7
- module SensibleSwing
8
- class MainWindow < JFrame
9
- def initialize
10
- super "Sensible-Cinema"
11
- setDefaultCloseOperation JFrame::EXIT_ON_CLOSE
12
- panel = JPanel.new
13
- panel.set_layout nil
14
- setSize 350,400
15
- add panel # why can't I just slap these down?
16
-
17
- jlabel = JLabel.new 'Welcome to Sensible Cinema'
18
- happy = Font.new("Tahoma", Font::PLAIN, 11)
19
- jlabel.setFont(happy)
20
- jlabel.set_bounds(44,44,136,14)
21
- panel.add jlabel
22
-
23
- c=JButton.new( "Save local copy of an edited DVD" )
24
- c.on_clicked {
25
- drive = get_disk_name
26
- =begin
27
- fc = JFileChooser.new
28
- fc.setFileSelectionMode(nil)
29
- fc.set_dialog_title "Please pick a DVD descriptor file"
30
- fc.set_current_directory(JFile.new( __dir__ + "/../zamples/scene_lists/dvds"))
31
- descriptor = fc.execute
32
- fc = JFileChooser.new
33
- # TODO allow for spaces in save to file
34
- fc.set_dialog_title "Pick a location to save it to (like 'my_dvd')"
35
- fc.setCurrentDirectory(JFile.new("c:\\"))
36
- save_to = fc.execute
37
- p [drive, descriptor, save_to]
38
- descriptors = YAML.load_file descriptor
39
- bat_file = VLCProgrammer.convert_to_full_xspf(descriptors, save_to, drive)
40
- temp_dir = Dir.tmpdir
41
- temp_file = temp_dir + '/' + 'convert_it.bat'
42
- File.write(temp_file, bat_file)
43
- p 'running', temp_file
44
- p 'got', system(temp_file)
45
- JOptionPane.showMessageDialog(nil, " Done--you may now watch file #{save_to}.ps in VLC player", "Done!", JOptionPane::ERROR_MESSAGE)
46
- self.close
47
- =end
48
- }
49
- c.set_bounds(44,180,200,23)
50
- panel.add c
51
-
52
- reload = JButton.new( "reload code" ).on_clicked {
53
- eval File.read(__FILE__), nil, __FILE__
54
- p 're-evaled it'
55
- }
56
- reload.set_bounds(44,280,200,23)
57
- panel.add reload # if ARGV.find{|a| a == '--test'}
58
-
59
- end
60
-
61
- def exit_and_close
62
- JOptionPane.showMessageDialog(nil, "exiting", "exiting", JOptionPane::ERROR_MESSAGE)
63
- close
64
- exit
65
- end
66
-
67
- def get_disk_name
68
- disks = WMI::Win32_LogicalDisk.find(:all)
69
-
70
- opticals = disks.select{|d| d.Description =~ /CD-ROM/}
71
-
72
- opticals.map!{|d| [d.Name + "\\", d.VolumeName]}
73
- p opticals
74
- p 'showing dialog'
75
- dialog = GetDisk.new(self, opticals)
76
- p 'done showing dialog'
77
-
78
- return opticals[0][0]
79
- end
80
-
81
-
82
- end
83
-
84
- class GetDisk < JDialog
85
- def initialize parent, options_array
86
- super parent, true
87
-
88
- box = JComboBox.new
89
- box.add_action_listener do |e|
90
- p 'chosen perhaps?', e, box.get_selected_index, e.get_source, get_selected_item
91
- #dispose if
92
- end
93
- box.add_item "Select DVD drive"
94
- box.add_item "halloo"
95
-
96
- add box
97
- pack
98
- end
99
- end
100
-
101
- end
102
-
103
- SensibleSwing::MainWindow.new.set_visible true
104
-
105
- puts 'Please see the Sensible Cinema window'