sgl 0.4.0 → 1.0.0
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/ChangeLog +254 -234
- data/History.txt +6 -0
- data/Manifest.txt +10 -0
- data/Rakefile +27 -7
- data/examples/cocoa1-basic.rb +14 -14
- data/examples/cocoa10-transparent.rb +26 -26
- data/examples/cocoa11-application.rb +13 -13
- data/examples/cocoa2-draw.rb +23 -23
- data/examples/cocoa3-affine.rb +29 -29
- data/examples/cocoa4-font.rb +24 -24
- data/examples/cocoa5-image.rb +22 -22
- data/examples/cocoa6-sound.rb +24 -24
- data/examples/cocoa7-movie.rb +40 -40
- data/examples/cocoa8-movieoverlay.rb +42 -42
- data/examples/cocoa9-streaming.rb +40 -40
- data/examples/opengl1-basic.rb +14 -14
- data/examples/opengl11-application.rb +13 -13
- data/examples/opengl2-draw.rb +23 -23
- data/examples/opengl3-affine.rb +29 -29
- data/examples/sample1.rb +11 -11
- data/examples/sample10.rb +16 -16
- data/examples/sample11.rb +22 -22
- data/examples/sample11a.rb +33 -33
- data/examples/sample12.rb +30 -30
- data/examples/sample12a.rb +35 -35
- data/examples/sample13.rb +116 -116
- data/examples/sample15.rb +24 -24
- data/examples/sample16.rb +31 -31
- data/examples/sample16a.rb +35 -35
- data/examples/sample6.rb +18 -18
- data/examples/sample7.rb +16 -16
- data/examples/sample9.rb +20 -20
- data/examples/testgl.rb +169 -169
- data/lib/sgl/bass.rb +46 -46
- data/lib/sgl/cocoa-app.rb +43 -43
- data/lib/sgl/cocoa-color.rb +65 -65
- data/lib/sgl/cocoa-draw.rb +72 -72
- data/lib/sgl/cocoa-event.rb +229 -229
- data/lib/sgl/cocoa-media.rb +144 -144
- data/lib/sgl/cocoa-notuse.rb +493 -493
- data/lib/sgl/cocoa-window.rb +203 -203
- data/lib/sgl/cocoa.rb +8 -8
- data/lib/sgl/opengl-app.rb +38 -38
- data/lib/sgl/opengl-color.rb +44 -44
- data/lib/sgl/opengl-draw.rb +260 -260
- data/lib/sgl/opengl-event.rb +325 -325
- data/lib/sgl/opengl-modules.rb +22 -22
- data/lib/sgl/opengl-window.rb +224 -224
- data/lib/sgl/opengl.rb +7 -7
- data/lib/sgl/sgl-button.rb +135 -135
- data/lib/sgl/sgl-client.rb +21 -21
- data/lib/sgl/sgl-color.rb +68 -82
- data/lib/sgl/sgl-connect.rb +9 -9
- data/lib/sgl/sgl-server.rb +58 -58
- data/lib/sgl/sgl-spring.rb +216 -216
- data/lib/sgl/version.rb +2 -2
- data/scripts/lib-txt2html.rb +130 -0
- data/scripts/txt2html +2 -63
- data/spec/sgl_spec.rb +13 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +1 -0
- data/test/test_cocoa_app.rb +291 -291
- data/test/test_module_ruby16.rb +30 -30
- data/test/test_opengl_app.rb +147 -147
- data/test/test_opengl_basic.rb +22 -22
- data/test/test_opengl_fullscreen.rb +23 -23
- data/test/test_opengl_novice.rb +35 -35
- data/website/challenge1.html +91 -91
- data/website/challenge1.txt +3 -3
- data/website/challenge2.html +143 -144
- data/website/challenge2.txt +13 -14
- data/website/challenge3.html +66 -63
- data/website/challenge3.txt +7 -7
- data/website/cocoa.html +85 -88
- data/website/cocoa.txt +2 -4
- data/website/description.html +138 -138
- data/website/description.txt +1 -1
- data/website/exercise1.html +262 -264
- data/website/exercise1.txt +58 -53
- data/website/exercise2.html +241 -683
- data/website/exercise2.txt +11 -427
- data/website/exercise3.html +206 -0
- data/website/exercise3.txt +155 -0
- data/website/exercise4.html +198 -0
- data/website/exercise4.txt +151 -0
- data/website/exercise5.html +162 -0
- data/website/exercise5.txt +113 -0
- data/website/exhibition.html +84 -84
- data/website/howto.html +146 -134
- data/website/howto.txt +9 -0
- data/website/index.html +178 -178
- data/website/index.txt +20 -19
- data/website/sound.html +141 -141
- metadata +16 -3
data/website/index.txt
CHANGED
@@ -14,7 +14,7 @@ h3. Windows
|
|
14
14
|
* Ruby/SDL
|
15
15
|
|
16
16
|
You can see "Ruby/SDL on Windows":http://eto.com/d/RubySDLonWindows.html
|
17
|
-
|
17
|
+
install documnet.
|
18
18
|
|
19
19
|
h3. Mac OS X
|
20
20
|
|
@@ -28,18 +28,16 @@ h2. Installing
|
|
28
28
|
|
29
29
|
h2. The basics
|
30
30
|
|
31
|
-
Save this progarm as @test1.rb@.
|
32
31
|
<pre syntax="ruby">
|
32
|
+
# test1.rb
|
33
33
|
require "sgl"
|
34
34
|
window 100, 100
|
35
35
|
line 0, 0, 100, 100
|
36
36
|
wait
|
37
37
|
</pre>
|
38
38
|
|
39
|
-
Run the program with @ruby test1.rb@.
|
40
|
-
|
41
|
-
@test2.rb@.
|
42
39
|
<pre syntax="ruby">
|
40
|
+
# test2.rb
|
43
41
|
require "sgl"
|
44
42
|
window 100, 100
|
45
43
|
background 0
|
@@ -48,8 +46,8 @@ line 0, 0, 100, 100
|
|
48
46
|
wait
|
49
47
|
</pre>
|
50
48
|
|
51
|
-
@test3.rb@.
|
52
49
|
<pre syntax="ruby">
|
50
|
+
# test3.rb
|
53
51
|
require "sgl"
|
54
52
|
|
55
53
|
def setup
|
@@ -63,27 +61,30 @@ end
|
|
63
61
|
mainloop
|
64
62
|
</pre>
|
65
63
|
|
66
|
-
h2.
|
64
|
+
h2. Documents
|
67
65
|
|
68
|
-
* "API
|
69
|
-
* "cocoa
|
66
|
+
* "API Reference":rdoc/
|
67
|
+
* "Description of sgl-cocoa":cocoa.html
|
70
68
|
|
71
69
|
* Pages below are in Japanese
|
72
|
-
** "
|
73
|
-
** "How to for
|
70
|
+
** "Description":description.html
|
71
|
+
** "How to for Beginner":howto.html
|
74
72
|
** "How to use Sound function":sound.html
|
75
73
|
|
76
74
|
h2. Classes
|
77
75
|
|
78
|
-
We did some classes using sgl in art schools.
|
79
|
-
You
|
76
|
+
We did some classes using sgl in some art schools.
|
77
|
+
You can see some materials for the classes.
|
80
78
|
|
81
79
|
* Pages below are in Japanese
|
82
|
-
** "
|
83
|
-
** "
|
84
|
-
** "
|
85
|
-
** "
|
86
|
-
** "
|
80
|
+
** "Exercise 1":exercise1.html
|
81
|
+
** "Exercise 2":exercise2.html
|
82
|
+
** "Exercise 3":exercise3.html
|
83
|
+
** "Exercise 4":exercise4.html
|
84
|
+
** "Exercise 5":exercise5.html
|
85
|
+
** "Special Exercise 1":challenge1.html
|
86
|
+
** "Special Exercise 2":challenge2.html
|
87
|
+
** "Final Exercise":challenge3.html
|
87
88
|
|
88
89
|
h2. Repositry
|
89
90
|
|
@@ -95,4 +96,4 @@ Ruby License.
|
|
95
96
|
|
96
97
|
h2. Contact
|
97
98
|
|
98
|
-
Comments are welcome. Send an email to
|
99
|
+
Comments are welcome. Send an email to Kouichirou Eto "eto at rubyforge dot org".
|
data/website/sound.html
CHANGED
@@ -1,141 +1,141 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
|
6
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
|
-
<title>
|
8
|
-
サウンド機能
|
9
|
-
</title>
|
10
|
-
<script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
|
11
|
-
<style>
|
12
|
-
|
13
|
-
</style>
|
14
|
-
<script type="text/javascript">
|
15
|
-
window.onload = function() {
|
16
|
-
settings = {
|
17
|
-
tl: { radius: 10 },
|
18
|
-
tr: { radius: 10 },
|
19
|
-
bl: { radius: 10 },
|
20
|
-
br: { radius: 10 },
|
21
|
-
antiAlias: true,
|
22
|
-
autoPad: true,
|
23
|
-
validTags: ["div"]
|
24
|
-
}
|
25
|
-
var versionBox = new curvyCorners(settings, document.getElementById("version"));
|
26
|
-
versionBox.applyCornersToAll();
|
27
|
-
}
|
28
|
-
</script>
|
29
|
-
</head>
|
30
|
-
<body>
|
31
|
-
<div id="main">
|
32
|
-
|
33
|
-
<h1>サウンド機能</h1>
|
34
|
-
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
|
35
|
-
<p>Get Version</p>
|
36
|
-
<a href="http://rubyforge.org/projects/sgl" class="numbers">0.
|
37
|
-
</div>
|
38
|
-
<h2>使い方</h2>
|
39
|
-
|
40
|
-
|
41
|
-
<p>サウンド機能の使い方について解説する.</p>
|
42
|
-
|
43
|
-
|
44
|
-
<pre syntax="ruby">
|
45
|
-
require 'sgl'
|
46
|
-
|
47
|
-
useSound # soundを使うことを宣言する.
|
48
|
-
|
49
|
-
sound = loadSound('sine.wav') # サンプル音をファイルから読みこむ.
|
50
|
-
# 同じディレクトリーにsine.wavというファイルを置いておく.
|
51
|
-
|
52
|
-
sound.play # そのサンプル音を再生する.
|
53
|
-
|
54
|
-
wait # プログラムがすぐ終了するのをふせぐために待つ.
|
55
|
-
# Ctrl+Cで,プログラムが終了する.
|
56
|
-
</pre>
|
57
|
-
|
58
|
-
<p>元となるサンプル音は,マイクからサンプリングしたり,インターネットから
|
59
|
-
フリーの音源をダウンロードする.波形編集ソフトを使ってMP3ファイルから
|
60
|
-
切り出したりする方法もある.</p>
|
61
|
-
|
62
|
-
|
63
|
-
<pre syntax="ruby">
|
64
|
-
require 'sgl'
|
65
|
-
|
66
|
-
def setup
|
67
|
-
useSound
|
68
|
-
window -200, -200, 200, 200
|
69
|
-
$y = 0
|
70
|
-
$sound = loadSound('sine.wav')
|
71
|
-
end
|
72
|
-
|
73
|
-
def onMouseDown(x, y)
|
74
|
-
$y = y
|
75
|
-
$sound.play(y / 10 + 60)
|
76
|
-
end
|
77
|
-
|
78
|
-
def display
|
79
|
-
line -200, $y, 200, $y
|
80
|
-
end
|
81
|
-
|
82
|
-
mainloop
|
83
|
-
</pre>
|
84
|
-
|
85
|
-
<p>マウスが押されると,その高さに応じた音を再生する.音量も変化する.</p>
|
86
|
-
|
87
|
-
|
88
|
-
<pre syntax="ruby">
|
89
|
-
require 'sgl'
|
90
|
-
|
91
|
-
def setup
|
92
|
-
useSound
|
93
|
-
window -200, -200, 200, 200
|
94
|
-
$x = 0
|
95
|
-
$y = 0
|
96
|
-
$sound = loadSound('sine.wav')
|
97
|
-
end
|
98
|
-
|
99
|
-
def onMouseDown(x, y)
|
100
|
-
$x = x
|
101
|
-
$y = y
|
102
|
-
$sound.play(y / 10 + 60, x / 4 + 50)
|
103
|
-
end
|
104
|
-
|
105
|
-
def display
|
106
|
-
circle($x, $y, 10)
|
107
|
-
end
|
108
|
-
|
109
|
-
mainloop
|
110
|
-
</pre>
|
111
|
-
|
112
|
-
<h2>注意点</h2>
|
113
|
-
|
114
|
-
|
115
|
-
<p>音を同時にたくさん出すと,システム全体が固まる.プログラムが止まるだけ
|
116
|
-
でなく,マシン全体が固まる.あまりたくさん音を同時に出しすぎないように
|
117
|
-
プログラム側で調整する.</p>
|
118
|
-
|
119
|
-
|
120
|
-
<h2>波形編集ソフト</h2>
|
121
|
-
|
122
|
-
|
123
|
-
<p>AudacityやWave Editor <span class="caps">TWE</span>などのフリーの波形編集ソフトを使ってサンプル
|
124
|
-
音を編集できる.自分が持っているMP3ファイルを元に編集することもできる.
|
125
|
-
AudacityなどでMP3ファイルを開き,該当個所のみを切り出して保存しなおす
|
126
|
-
とよい.</p>
|
127
|
-
|
128
|
-
|
129
|
-
<ul>
|
130
|
-
<li><a href="http://audacity.sourceforge.net/">Audacity</a></li>
|
131
|
-
<li><a href="http://www.yamaha.co.jp/product/syndtm/dl/utility/twe/">Wave Editor <span class="caps">TWE</span></a></li>
|
132
|
-
</ul>
|
133
|
-
<p class="coda">
|
134
|
-
|
135
|
-
</p>
|
136
|
-
</div>
|
137
|
-
|
138
|
-
<!-- insert site tracking codes here, like Google Urchin -->
|
139
|
-
|
140
|
-
</body>
|
141
|
-
</html>
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
|
+
<title>
|
8
|
+
サウンド機能
|
9
|
+
</title>
|
10
|
+
<script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
|
11
|
+
<style>
|
12
|
+
|
13
|
+
</style>
|
14
|
+
<script type="text/javascript">
|
15
|
+
window.onload = function() {
|
16
|
+
settings = {
|
17
|
+
tl: { radius: 10 },
|
18
|
+
tr: { radius: 10 },
|
19
|
+
bl: { radius: 10 },
|
20
|
+
br: { radius: 10 },
|
21
|
+
antiAlias: true,
|
22
|
+
autoPad: true,
|
23
|
+
validTags: ["div"]
|
24
|
+
}
|
25
|
+
var versionBox = new curvyCorners(settings, document.getElementById("version"));
|
26
|
+
versionBox.applyCornersToAll();
|
27
|
+
}
|
28
|
+
</script>
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="main">
|
32
|
+
|
33
|
+
<h1>サウンド機能</h1>
|
34
|
+
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
|
35
|
+
<p>Get Version</p>
|
36
|
+
<a href="http://rubyforge.org/projects/sgl" class="numbers">1.0.0</a>
|
37
|
+
</div>
|
38
|
+
<h2>使い方</h2>
|
39
|
+
|
40
|
+
|
41
|
+
<p>サウンド機能の使い方について解説する.</p>
|
42
|
+
|
43
|
+
|
44
|
+
<pre syntax="ruby">
|
45
|
+
require 'sgl'
|
46
|
+
|
47
|
+
useSound # soundを使うことを宣言する.
|
48
|
+
|
49
|
+
sound = loadSound('sine.wav') # サンプル音をファイルから読みこむ.
|
50
|
+
# 同じディレクトリーにsine.wavというファイルを置いておく.
|
51
|
+
|
52
|
+
sound.play # そのサンプル音を再生する.
|
53
|
+
|
54
|
+
wait # プログラムがすぐ終了するのをふせぐために待つ.
|
55
|
+
# Ctrl+Cで,プログラムが終了する.
|
56
|
+
</pre>
|
57
|
+
|
58
|
+
<p>元となるサンプル音は,マイクからサンプリングしたり,インターネットから
|
59
|
+
フリーの音源をダウンロードする.波形編集ソフトを使ってMP3ファイルから
|
60
|
+
切り出したりする方法もある.</p>
|
61
|
+
|
62
|
+
|
63
|
+
<pre syntax="ruby">
|
64
|
+
require 'sgl'
|
65
|
+
|
66
|
+
def setup
|
67
|
+
useSound
|
68
|
+
window -200, -200, 200, 200
|
69
|
+
$y = 0
|
70
|
+
$sound = loadSound('sine.wav')
|
71
|
+
end
|
72
|
+
|
73
|
+
def onMouseDown(x, y)
|
74
|
+
$y = y
|
75
|
+
$sound.play(y / 10 + 60)
|
76
|
+
end
|
77
|
+
|
78
|
+
def display
|
79
|
+
line -200, $y, 200, $y
|
80
|
+
end
|
81
|
+
|
82
|
+
mainloop
|
83
|
+
</pre>
|
84
|
+
|
85
|
+
<p>マウスが押されると,その高さに応じた音を再生する.音量も変化する.</p>
|
86
|
+
|
87
|
+
|
88
|
+
<pre syntax="ruby">
|
89
|
+
require 'sgl'
|
90
|
+
|
91
|
+
def setup
|
92
|
+
useSound
|
93
|
+
window -200, -200, 200, 200
|
94
|
+
$x = 0
|
95
|
+
$y = 0
|
96
|
+
$sound = loadSound('sine.wav')
|
97
|
+
end
|
98
|
+
|
99
|
+
def onMouseDown(x, y)
|
100
|
+
$x = x
|
101
|
+
$y = y
|
102
|
+
$sound.play(y / 10 + 60, x / 4 + 50)
|
103
|
+
end
|
104
|
+
|
105
|
+
def display
|
106
|
+
circle($x, $y, 10)
|
107
|
+
end
|
108
|
+
|
109
|
+
mainloop
|
110
|
+
</pre>
|
111
|
+
|
112
|
+
<h2>注意点</h2>
|
113
|
+
|
114
|
+
|
115
|
+
<p>音を同時にたくさん出すと,システム全体が固まる.プログラムが止まるだけ
|
116
|
+
でなく,マシン全体が固まる.あまりたくさん音を同時に出しすぎないように
|
117
|
+
プログラム側で調整する.</p>
|
118
|
+
|
119
|
+
|
120
|
+
<h2>波形編集ソフト</h2>
|
121
|
+
|
122
|
+
|
123
|
+
<p>AudacityやWave Editor <span class="caps">TWE</span>などのフリーの波形編集ソフトを使ってサンプル
|
124
|
+
音を編集できる.自分が持っているMP3ファイルを元に編集することもできる.
|
125
|
+
AudacityなどでMP3ファイルを開き,該当個所のみを切り出して保存しなおす
|
126
|
+
とよい.</p>
|
127
|
+
|
128
|
+
|
129
|
+
<ul>
|
130
|
+
<li><a href="http://audacity.sourceforge.net/">Audacity</a></li>
|
131
|
+
<li><a href="http://www.yamaha.co.jp/product/syndtm/dl/utility/twe/">Wave Editor <span class="caps">TWE</span></a></li>
|
132
|
+
</ul>
|
133
|
+
<p class="coda">
|
134
|
+
30th June 2007<br>
|
135
|
+
</p>
|
136
|
+
</div>
|
137
|
+
|
138
|
+
<!-- insert site tracking codes here, like Google Urchin -->
|
139
|
+
|
140
|
+
</body>
|
141
|
+
</html>
|
metadata
CHANGED
@@ -3,12 +3,12 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: sgl
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-
|
6
|
+
version: 1.0.0
|
7
|
+
date: 2007-07-01 00:00:00 +09:00
|
8
8
|
summary: "\"sgl: simple generic library\" enables you to create a program with graphics and sound easily."
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
|
-
email: eto
|
11
|
+
email: eto _at_ rubyforge _dot_ org
|
12
12
|
homepage: http://sgl.rubyforge.org
|
13
13
|
rubyforge_project: sgl
|
14
14
|
description: "\"sgl: simple generic library\" enables you to create a program with graphics and sound easily."
|
@@ -100,9 +100,13 @@ files:
|
|
100
100
|
- lib/sgl/sgl-timer.rb
|
101
101
|
- lib/sgl/sgl.rb
|
102
102
|
- lib/sgl/version.rb
|
103
|
+
- scripts/lib-txt2html.rb
|
103
104
|
- scripts/makemanifest.rb
|
104
105
|
- scripts/txt2html
|
105
106
|
- setup.rb
|
107
|
+
- spec/sgl_spec.rb
|
108
|
+
- spec/spec.opts
|
109
|
+
- spec/spec_helper.rb
|
106
110
|
- test/test_bass.rb
|
107
111
|
- test/test_cocoa_app.rb
|
108
112
|
- test/test_helper.rb
|
@@ -127,6 +131,12 @@ files:
|
|
127
131
|
- website/exercise1.txt
|
128
132
|
- website/exercise2.html
|
129
133
|
- website/exercise2.txt
|
134
|
+
- website/exercise3.html
|
135
|
+
- website/exercise3.txt
|
136
|
+
- website/exercise4.html
|
137
|
+
- website/exercise4.txt
|
138
|
+
- website/exercise5.html
|
139
|
+
- website/exercise5.txt
|
130
140
|
- website/exhibition.html
|
131
141
|
- website/exhibition.txt
|
132
142
|
- website/howto.html
|
@@ -165,6 +175,9 @@ extra_rdoc_files:
|
|
165
175
|
- website/description.txt
|
166
176
|
- website/exercise1.txt
|
167
177
|
- website/exercise2.txt
|
178
|
+
- website/exercise3.txt
|
179
|
+
- website/exercise4.txt
|
180
|
+
- website/exercise5.txt
|
168
181
|
- website/exhibition.txt
|
169
182
|
- website/howto.txt
|
170
183
|
- website/index.txt
|