sensible-cinema 0.13.0 → 0.13.1
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/Rakefile +3 -0
- data/TODO +16 -22
- data/VERSION +1 -1
- data/bin/sensible-cinema +3 -3
- metadata +48 -23
- data/bin/AboutDialog.class +0 -0
- data/bin/AboutDialog.java +0 -38
- data/bin/ComboBoxes$1.class +0 -0
- data/bin/ComboBoxes$2.class +0 -0
- data/bin/ComboBoxes.class +0 -0
- data/bin/ComboBoxes.java +0 -67
- data/bin/sensible-cinema-hit-reload-twice-then-save-copy-of-for-death +0 -105
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
|
-
|
|
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
|
-
|
|
43
|
-
|
|
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.
|
|
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
|
|
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
|
-
#
|
|
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
|
-
-
|
|
9
|
-
version: 0.13.
|
|
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:
|
|
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: :
|
|
75
|
+
type: :runtime
|
|
76
76
|
version_requirements: *id004
|
|
77
77
|
- !ruby/object:Gem::Dependency
|
|
78
|
-
name:
|
|
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: :
|
|
88
|
+
type: :runtime
|
|
89
89
|
version_requirements: *id005
|
|
90
90
|
- !ruby/object:Gem::Dependency
|
|
91
|
-
name:
|
|
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: :
|
|
101
|
+
type: :runtime
|
|
102
102
|
version_requirements: *id006
|
|
103
103
|
- !ruby/object:Gem::Dependency
|
|
104
|
-
name:
|
|
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: []
|
data/bin/AboutDialog.class
DELETED
|
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
|
-
}
|
data/bin/ComboBoxes$1.class
DELETED
|
Binary file
|
data/bin/ComboBoxes$2.class
DELETED
|
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'
|