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.
Files changed (94) hide show
  1. data/ChangeLog +254 -234
  2. data/History.txt +6 -0
  3. data/Manifest.txt +10 -0
  4. data/Rakefile +27 -7
  5. data/examples/cocoa1-basic.rb +14 -14
  6. data/examples/cocoa10-transparent.rb +26 -26
  7. data/examples/cocoa11-application.rb +13 -13
  8. data/examples/cocoa2-draw.rb +23 -23
  9. data/examples/cocoa3-affine.rb +29 -29
  10. data/examples/cocoa4-font.rb +24 -24
  11. data/examples/cocoa5-image.rb +22 -22
  12. data/examples/cocoa6-sound.rb +24 -24
  13. data/examples/cocoa7-movie.rb +40 -40
  14. data/examples/cocoa8-movieoverlay.rb +42 -42
  15. data/examples/cocoa9-streaming.rb +40 -40
  16. data/examples/opengl1-basic.rb +14 -14
  17. data/examples/opengl11-application.rb +13 -13
  18. data/examples/opengl2-draw.rb +23 -23
  19. data/examples/opengl3-affine.rb +29 -29
  20. data/examples/sample1.rb +11 -11
  21. data/examples/sample10.rb +16 -16
  22. data/examples/sample11.rb +22 -22
  23. data/examples/sample11a.rb +33 -33
  24. data/examples/sample12.rb +30 -30
  25. data/examples/sample12a.rb +35 -35
  26. data/examples/sample13.rb +116 -116
  27. data/examples/sample15.rb +24 -24
  28. data/examples/sample16.rb +31 -31
  29. data/examples/sample16a.rb +35 -35
  30. data/examples/sample6.rb +18 -18
  31. data/examples/sample7.rb +16 -16
  32. data/examples/sample9.rb +20 -20
  33. data/examples/testgl.rb +169 -169
  34. data/lib/sgl/bass.rb +46 -46
  35. data/lib/sgl/cocoa-app.rb +43 -43
  36. data/lib/sgl/cocoa-color.rb +65 -65
  37. data/lib/sgl/cocoa-draw.rb +72 -72
  38. data/lib/sgl/cocoa-event.rb +229 -229
  39. data/lib/sgl/cocoa-media.rb +144 -144
  40. data/lib/sgl/cocoa-notuse.rb +493 -493
  41. data/lib/sgl/cocoa-window.rb +203 -203
  42. data/lib/sgl/cocoa.rb +8 -8
  43. data/lib/sgl/opengl-app.rb +38 -38
  44. data/lib/sgl/opengl-color.rb +44 -44
  45. data/lib/sgl/opengl-draw.rb +260 -260
  46. data/lib/sgl/opengl-event.rb +325 -325
  47. data/lib/sgl/opengl-modules.rb +22 -22
  48. data/lib/sgl/opengl-window.rb +224 -224
  49. data/lib/sgl/opengl.rb +7 -7
  50. data/lib/sgl/sgl-button.rb +135 -135
  51. data/lib/sgl/sgl-client.rb +21 -21
  52. data/lib/sgl/sgl-color.rb +68 -82
  53. data/lib/sgl/sgl-connect.rb +9 -9
  54. data/lib/sgl/sgl-server.rb +58 -58
  55. data/lib/sgl/sgl-spring.rb +216 -216
  56. data/lib/sgl/version.rb +2 -2
  57. data/scripts/lib-txt2html.rb +130 -0
  58. data/scripts/txt2html +2 -63
  59. data/spec/sgl_spec.rb +13 -0
  60. data/spec/spec.opts +1 -0
  61. data/spec/spec_helper.rb +1 -0
  62. data/test/test_cocoa_app.rb +291 -291
  63. data/test/test_module_ruby16.rb +30 -30
  64. data/test/test_opengl_app.rb +147 -147
  65. data/test/test_opengl_basic.rb +22 -22
  66. data/test/test_opengl_fullscreen.rb +23 -23
  67. data/test/test_opengl_novice.rb +35 -35
  68. data/website/challenge1.html +91 -91
  69. data/website/challenge1.txt +3 -3
  70. data/website/challenge2.html +143 -144
  71. data/website/challenge2.txt +13 -14
  72. data/website/challenge3.html +66 -63
  73. data/website/challenge3.txt +7 -7
  74. data/website/cocoa.html +85 -88
  75. data/website/cocoa.txt +2 -4
  76. data/website/description.html +138 -138
  77. data/website/description.txt +1 -1
  78. data/website/exercise1.html +262 -264
  79. data/website/exercise1.txt +58 -53
  80. data/website/exercise2.html +241 -683
  81. data/website/exercise2.txt +11 -427
  82. data/website/exercise3.html +206 -0
  83. data/website/exercise3.txt +155 -0
  84. data/website/exercise4.html +198 -0
  85. data/website/exercise4.txt +151 -0
  86. data/website/exercise5.html +162 -0
  87. data/website/exercise5.txt +113 -0
  88. data/website/exhibition.html +84 -84
  89. data/website/howto.html +146 -134
  90. data/website/howto.txt +9 -0
  91. data/website/index.html +178 -178
  92. data/website/index.txt +20 -19
  93. data/website/sound.html +141 -141
  94. 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
- to install these libraries.
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. Pages
64
+ h2. Documents
67
65
 
68
- * "API Documnet (Rdoc)":../doc/index.html
69
- * "cocoa version":cocoa.html
66
+ * "API Reference":rdoc/
67
+ * "Description of sgl-cocoa":cocoa.html
70
68
 
71
69
  * Pages below are in Japanese
72
- ** "description":description.html
73
- ** "How to for beginner":howto.html
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'll see the materials for the classes.
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
- ** "exercise 1 to 10":exercise1.html
83
- ** "exercise 11 to 21":exercise2.html
84
- ** "special exercise 1":challenge1.html
85
- ** "special exercise 2":challenge2.html
86
- ** "final exercise":challenge3.html
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 "Kouichirou Eto" <eto at rubyforge dot org>.
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.4.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
- 20th June 2007<br>
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.4.0
7
- date: 2007-06-25 00:00:00 +09:00
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 at rubyforge dot org
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