glimmer_metronome 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 86a30af9f860b740e99b72b74866ef5501272b11a25ac806eb953082753fc257
4
+ data.tar.gz: 1cbdd332ec1059a063ced791d094d57b6d9daa627f72495ad0c20b17589ead2c
5
+ SHA512:
6
+ metadata.gz: 44dba5005950dbdd756925dc5fc9eeb065e3c94358943cedee902921a09dc4c36fa053cd4648907f2b3fa975015be21cf3d2164b7a823c55b1be27e469b1b633
7
+ data.tar.gz: 86f792b4b6c9a2d379c9f190ad36d3bc16c87dbf4f1343444f50def426ee011fcbc26cb97c716abf93aafb4eb5f7138120fffc4353f75cd64b6a0b02e745bb00
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # Change Log
2
+
3
+ ## 1.0.0
4
+
5
+ - Initial version with Beat Count and BPM options
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2022 Andy Maleh
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,55 @@
1
+ # <img src="https://raw.githubusercontent.com/AndyObtiva/glimmer_metronome/master/icons/linux/Glimmer%20Metronome.png" height=85 /> Glimmer Metronome
2
+ ## [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 /> Glimmer Application](https://github.com/AndyObtiva/glimmer-dsl-swt)
3
+ [![Gem Version](https://badge.fury.io/rb/glimmer_metronome.svg)](http://badge.fury.io/rb/glimmer_metronome)
4
+
5
+ <img src="https://raw.githubusercontent.com/AndyObtiva/glimmer_metronome/master/icons/linux/Glimmer%20Metronome.png" height=40 /> [Download Glimmer Metronome 1.0.0 DMG for Mac (X64 Catalina and Older)](https://www.dropbox.com/s/bjy4hie74gmxb5d/Glimmer%20Metronome-1.0.0.dmg?dl=1)
6
+
7
+ Metronome
8
+
9
+ ![metronome](https://raw.githubusercontent.com/AndyObtiva/glimmer_metronome/master/screenshots/glimmer-metronome.png)
10
+
11
+ Beat Count Change
12
+
13
+ ![metronome beat count changed](https://raw.githubusercontent.com/AndyObtiva/glimmer_metronome/master/screenshots/glimmer-metronome-beat-count-changed.png)
14
+
15
+ BPM Change
16
+
17
+ ![metronome bpm changed](https://raw.githubusercontent.com/AndyObtiva/glimmer_metronome/master/screenshots/glimmer-metronome-bpm-changed.png)
18
+
19
+ ## Demo
20
+
21
+ ![metronome demo](https://raw.githubusercontent.com/AndyObtiva/glimmer_metronome/master/screenshots/glimmer-metronome.gif)
22
+
23
+ ## Ruby Gem Instructions
24
+
25
+ If you are a software engineer and would like to install this application as a [Ruby gem](https://guides.rubygems.org/what-is-a-gem/), then follow these instructions:
26
+
27
+ - Ensure you have [Glimmer DSL for SWT 4.22.1.1 prerequisites setup (like JDK and JRuby)](https://github.com/AndyObtiva/glimmer-dsl-swt/tree/v4.22.1.1#pre-requisites).
28
+ - Install gem via `gem install glimmer_metronome` command
29
+ - Run `glimmer_metronome` command to start application
30
+
31
+ ## Contributing
32
+
33
+ - Check out the latest master to make sure the feature hasn't been
34
+ implemented or the bug hasn't been fixed yet.
35
+ - Check out the issue tracker to make sure someone already hasn't
36
+ requested it and/or contributed it.
37
+ - Fork the project.
38
+ - Start a feature/bugfix branch.
39
+ - Commit and push until you are happy with your contribution.
40
+ - Make sure to add tests for it. This is important so I don't break it
41
+ in a future version unintentionally.
42
+ - Please try not to mess with the Rakefile, version, or history. If
43
+ you want to have your own version, or is otherwise necessary, that
44
+ is fine, but please isolate to its own commit so I can cherry-pick
45
+ around it.
46
+
47
+ ## Copyright
48
+
49
+ [MIT](LICENSE.txt)
50
+
51
+ Copyright (c) 2022 Andy Maleh. See [LICENSE.txt](LICENSE.txt) for further details.
52
+
53
+ --
54
+
55
+ Glimmer Metronome icon made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,3 @@
1
+ require_relative '../glimmer_metronome'
2
+
3
+ GlimmerMetronome::View::AppView.launch
@@ -0,0 +1,36 @@
1
+ # Copyright (c) 2022 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ class GlimmerMetronome
23
+ module Model
24
+ class Beat
25
+ attr_accessor :on
26
+
27
+ def off!
28
+ self.on = false
29
+ end
30
+
31
+ def on!
32
+ self.on = true
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,46 @@
1
+ # Copyright (c) 2022 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ require_relative 'beat'
23
+
24
+ class GlimmerMetronome
25
+ module Model
26
+ class Rhythm
27
+ attr_reader :beat_count
28
+ attr_accessor :beats, :bpm
29
+
30
+ def initialize(beat_count)
31
+ self.beat_count = beat_count
32
+ @bpm = 120
33
+ end
34
+
35
+ def beat_count=(value)
36
+ @beat_count = value
37
+ reset_beats!
38
+ end
39
+
40
+ def reset_beats!
41
+ @beats = beat_count.times.map {Beat.new}
42
+ @beats.first.on!
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,195 @@
1
+ # Copyright (c) 2022 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ require_relative '../model/rhythm'
23
+
24
+ class GlimmerMetronome
25
+ module View
26
+ class AppView
27
+ include Glimmer::UI::CustomShell
28
+
29
+ import 'javax.sound.sampled'
30
+
31
+ FILE_SOUND_METRONOME_UP = File.join(APP_ROOT, 'sounds', 'metronome-up.wav')
32
+ FILE_SOUND_METRONOME_DOWN = File.join(APP_ROOT, 'sounds', 'metronome-down.wav')
33
+
34
+ attr_accessor :rhythm
35
+
36
+ before_body do
37
+ @rhythm = Model::Rhythm.new(4)
38
+
39
+ display {
40
+ on_about do
41
+ display_about_dialog
42
+ end
43
+
44
+ on_preferences do
45
+ display_about_dialog
46
+ end
47
+ }
48
+ end
49
+
50
+ body {
51
+ shell(:no_resize) {
52
+ row_layout(:vertical) {
53
+ center true
54
+ }
55
+ text 'Glimmer Metronome'
56
+
57
+ label {
58
+ text 'Beat Count'
59
+ font height: 30, style: :bold
60
+ }
61
+
62
+ spinner {
63
+ minimum 1
64
+ maximum 64
65
+ selection <=> [self, 'rhythm.beat_count', after_write: ->(v) {restart_metronome}]
66
+ font height: 30
67
+ }
68
+
69
+ label {
70
+ text 'BPM'
71
+ font height: 30, style: :bold
72
+ }
73
+
74
+ spinner {
75
+ minimum 30
76
+ maximum 1000
77
+ selection <=> [self, 'rhythm.bpm']
78
+ font height: 30
79
+ }
80
+
81
+ @beat_container = beat_container
82
+
83
+ on_swt_show {
84
+ start_metronome
85
+ }
86
+
87
+ on_widget_disposed {
88
+ stop_metronome
89
+ }
90
+ }
91
+ }
92
+
93
+ def beat_container
94
+ composite {
95
+ grid_layout(@rhythm.beat_count, true)
96
+
97
+ @rhythm.beat_count.times { |n|
98
+ canvas {
99
+ layout_data {
100
+ width_hint 50
101
+ height_hint 50
102
+ }
103
+ rectangle(0, 0, :default, :default, 36, 36) {
104
+ background <= [self, "rhythm.beats[#{n}].on", on_read: ->(on) { on ? :red : :yellow}]
105
+ }
106
+ }
107
+ }
108
+ }
109
+ end
110
+
111
+ def start_metronome
112
+ @thread ||= Thread.new {
113
+ @rhythm.beat_count.times.cycle { |n|
114
+ sleep(60.0/@rhythm.bpm.to_f)
115
+ @rhythm.beats.each(&:off!)
116
+ @rhythm.beats[n].on!
117
+ sound_file = n == 0 ? FILE_SOUND_METRONOME_UP : FILE_SOUND_METRONOME_DOWN
118
+ play_sound(sound_file)
119
+ }
120
+ }
121
+ if @beat_container.nil?
122
+ body_root.content {
123
+ @beat_container = beat_container
124
+ }
125
+ body_root.layout(true, true)
126
+ body_root.pack(true)
127
+ end
128
+ end
129
+
130
+ def stop_metronome
131
+ @thread&.kill # safe since no stored data is involved
132
+ @thread = nil
133
+ @beat_container&.dispose
134
+ @beat_container = nil
135
+ end
136
+
137
+ def restart_metronome
138
+ stop_metronome
139
+ start_metronome
140
+ end
141
+
142
+ # Play sound with the Java Sound library
143
+ def play_sound(sound_file)
144
+ begin
145
+ audio_input = build_audio_input(sound_file)
146
+ audio_stream = AudioSystem.get_audio_input_stream(audio_input)
147
+ clip = AudioSystem.clip
148
+ clip.open(audio_stream)
149
+ clip.start
150
+ rescue => e
151
+ puts e.full_message
152
+ end
153
+ end
154
+
155
+ def build_audio_input(sound_file)
156
+ # if running from packaged JAR, we get a uri:classloader sound_file
157
+ if sound_file.start_with?('uri:classloader')
158
+ jar_file_path = sound_file
159
+ file_path = jar_file_path.sub(/^uri\:classloader\:/, '').sub(/^\/+/, '')
160
+ require 'jruby'
161
+ jcl = JRuby.runtime.jruby_class_loader
162
+ resource = jcl.get_resource_as_stream(file_path)
163
+ file_input_stream = resource.to_io.to_input_stream
164
+ java.io.BufferedInputStream.new(file_input_stream)
165
+ else
166
+ java.io.File.new(sound_file)
167
+ end
168
+ end
169
+
170
+ def display_about_dialog
171
+ dialog(body_root) {
172
+ grid_layout(2, false) {
173
+ margin_width 15
174
+ margin_height 15
175
+ }
176
+
177
+ background :white
178
+ image ICON
179
+ text 'About'
180
+
181
+ label {
182
+ layout_data :center, :center, false, false
183
+ background :white
184
+ image ICON, height: 260
185
+ }
186
+ label {
187
+ layout_data :fill, :fill, true, true
188
+ background :white
189
+ text "Glimmer Metronome #{VERSION}\n\n#{LICENSE}\n\nGlimmer Metronome icon made by Freepik from www.flaticon.com"
190
+ }
191
+ }.open
192
+ end
193
+ end
194
+ end
195
+ end
@@ -0,0 +1,19 @@
1
+ $LOAD_PATH.unshift(File.expand_path('..', __FILE__))
2
+
3
+ begin
4
+ require 'bundler/setup'
5
+ Bundler.require(:default)
6
+ rescue
7
+ # this runs when packaged as a gem (no bundler)
8
+ require 'glimmer-dsl-swt'
9
+ # add more gems if needed
10
+ end
11
+
12
+ class GlimmerMetronome
13
+ APP_ROOT = File.expand_path('../..', __FILE__)
14
+ VERSION = File.read(File.join(APP_ROOT, 'VERSION'))
15
+ LICENSE = File.read(File.join(APP_ROOT, 'LICENSE.txt'))
16
+ ICON = File.join(APP_ROOT, 'icons/linux/Glimmer Metronome.png')
17
+ end
18
+
19
+ require 'glimmer_metronome/view/app_view'
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env jruby
2
+
3
+ runner = File.expand_path('../../app/glimmer_metronome/launch.rb', __FILE__)
4
+
5
+ # Detect if inside a JAR file or not
6
+ if runner.include?('uri:classloader')
7
+ require runner
8
+ else
9
+ require 'glimmer/launcher'
10
+
11
+ launcher = Glimmer::Launcher.new([runner] + ARGV)
12
+ launcher.launch
13
+ end
data/config/warble.rb ADDED
@@ -0,0 +1,183 @@
1
+
2
+ # Disable Rake-environment-task framework detection by uncommenting/setting to false
3
+ # Warbler.framework_detection = false
4
+
5
+ # Warbler web application assembly configuration file
6
+ Warbler::Config.new do |config|
7
+ # Features: additional options controlling how the jar is built.
8
+ # Currently the following features are supported:
9
+ # - *gemjar*: package the gem repository in a jar file in WEB-INF/lib
10
+ # - *executable*: embed a web server and make the war executable
11
+ # - *runnable*: allows to run bin scripts e.g. `java -jar my.war -S rake -T`
12
+ # - *compiled*: compile .rb files to .class files
13
+ # config.features = %w(gemjar)
14
+
15
+ # Application directories to be included in the webapp.
16
+ config.dirs = %w(app bin config db docs fonts icons images lib package script sounds vendor videos)
17
+
18
+ # Additional files/directories to include, above those in config.dirs
19
+ config.includes = FileList['LICENSE.txt', 'VERSION']
20
+
21
+ # Additional files/directories to exclude
22
+ # config.excludes = FileList["lib/tasks/*"]
23
+
24
+ # Additional Java .jar files to include. Note that if .jar files are placed
25
+ # in lib (and not otherwise excluded) then they need not be mentioned here.
26
+ # JRuby and JRuby-Rack are pre-loaded in this list. Be sure to include your
27
+ # own versions if you directly set the value
28
+ # config.java_libs += FileList["lib/java/*.jar"]
29
+
30
+ # Loose Java classes and miscellaneous files to be included.
31
+ # config.java_classes = FileList["target/classes/**.*"]
32
+
33
+ # One or more pathmaps defining how the java classes should be copied into
34
+ # the archive. The example pathmap below accompanies the java_classes
35
+ # configuration above. See http://rake.rubyforge.org/classes/String.html#M000017
36
+ # for details of how to specify a pathmap.
37
+ # config.pathmaps.java_classes << "%{target/classes/,}p"
38
+
39
+ # Bundler support is built-in. If Warbler finds a Gemfile in the
40
+ # project directory, it will be used to collect the gems to bundle
41
+ # in your application. If you wish to explicitly disable this
42
+ # functionality, uncomment here.
43
+ # config.bundler = false
44
+
45
+ # An array of Bundler groups to avoid including in the war file.
46
+ # Defaults to ["development", "test", "assets"].
47
+ # config.bundle_without = []
48
+
49
+ # Other gems to be included. If you don't use Bundler or a gemspec
50
+ # file, you need to tell Warbler which gems your application needs
51
+ # so that they can be packaged in the archive.
52
+ # For Rails applications, the Rails gems are included by default
53
+ # unless the vendor/rails directory is present.
54
+ # config.gems += ["activerecord-jdbcmysql-adapter", "jruby-openssl"]
55
+ # config.gems << "tzinfo"
56
+
57
+ # Uncomment this if you don't want to package rails gem.
58
+ # config.gems -= ["rails"]
59
+
60
+ # The most recent versions of gems are used.
61
+ # You can specify versions of gems by using a hash assignment:
62
+ # config.gems["rails"] = "4.2.5"
63
+
64
+ # You can also use regexps or Gem::Dependency objects for flexibility or
65
+ # finer-grained control.
66
+ # config.gems << /^sinatra-/
67
+ # config.gems << Gem::Dependency.new("sinatra", "= 1.4.7")
68
+
69
+ # Include gem dependencies not mentioned specifically. Default is
70
+ # true, uncomment to turn off.
71
+ # config.gem_dependencies = false
72
+
73
+ # Array of regular expressions matching relative paths in gems to be
74
+ # excluded from the war. Defaults to empty, but you can set it like
75
+ # below, which excludes test files.
76
+ # config.gem_excludes = [/^(test|spec)\//]
77
+
78
+ # Pathmaps for controlling how application files are copied into the archive
79
+ # config.pathmaps.application = ["WEB-INF/%p"]
80
+
81
+ # Name of the archive (without the extension). Defaults to the basename
82
+ # of the project directory.
83
+ # config.jar_name = "mywar"
84
+
85
+ # File extension for the archive. Defaults to either 'jar' or 'war'.
86
+ # config.jar_extension = "jar"
87
+
88
+ # Destionation for the created archive. Defaults to project's root directory.
89
+ config.autodeploy_dir = "dist/"
90
+
91
+ # Name of the MANIFEST.MF template for the war file. Defaults to a simple
92
+ # MANIFEST.MF that contains the version of Warbler used to create the war file.
93
+ # config.manifest_file = "config/MANIFEST.MF"
94
+
95
+ # When using the 'compiled' feature and specified, only these Ruby
96
+ # files will be compiled. Default is to compile all \.rb files in
97
+ # the application.
98
+ # config.compiled_ruby_files = FileList['app/**/*.rb']
99
+
100
+ # Determines if ruby files in supporting gems will be compiled.
101
+ # Ignored unless compile feature is used.
102
+ # config.compile_gems = false
103
+
104
+ # When set it specify the bytecode version for compiled class files
105
+ # config.bytecode_version = "1.6"
106
+
107
+ # When set to true, Warbler will override the value of ENV['GEM_HOME'] even it
108
+ # has already been set. When set to false it will use any existing value of
109
+ # GEM_HOME if it is set.
110
+ # config.override_gem_home = true
111
+
112
+ # Allows for specifing custom executables
113
+ # config.executable = ["rake", "bin/rake"]
114
+
115
+ # Sets default (prefixed) parameters for the executables
116
+ # config.executable_params = "do:something"
117
+
118
+ # If set to true, moves jar files into WEB-INF/lib. Prior to version 1.4.2 of Warbler this was done
119
+ # by default. But since 1.4.2 this config defaults to false. It may need to be set to true for
120
+ # web servers that do not explode the WAR file.
121
+ # Alternatively, this option can be set to a regular expression, which will
122
+ # act as a jar selector -- only jar files that match the pattern will be
123
+ # included in the archive.
124
+ # config.move_jars_to_webinf_lib = false
125
+
126
+ # === War files only below here ===
127
+
128
+ # Embedded webserver to use with the 'executable' feature. Currently supported
129
+ # webservers are:
130
+ # - *jetty* - Embedded Jetty from Eclipse
131
+ # config.webserver = 'jetty'
132
+
133
+ # Path to the pre-bundled gem directory inside the war file. Default
134
+ # is 'WEB-INF/gems'. Specify path if gems are already bundled
135
+ # before running Warbler. This also sets 'gem.path' inside web.xml.
136
+ # config.gem_path = "WEB-INF/vendor/bundler_gems"
137
+
138
+ # Files for WEB-INF directory (next to web.xml). This contains
139
+ # web.xml by default. If there is an .erb-File it will be processed
140
+ # with webxml-config. You may want to exclude this file via
141
+ # config.excludes.
142
+ # config.webinf_files += FileList["jboss-web.xml"]
143
+
144
+ # Files to be included in the root of the webapp. Note that files in public
145
+ # will have the leading 'public/' part of the path stripped during staging.
146
+ # config.public_html = FileList["public/**/*", "doc/**/*"]
147
+
148
+ # Pathmaps for controlling how public HTML files are copied into the .war
149
+ # config.pathmaps.public_html = ["%{public/,}p"]
150
+
151
+ # Value of RAILS_ENV for the webapp -- default as shown below
152
+ # config.webxml.rails.env = ENV['RAILS_ENV'] || 'production'
153
+
154
+ # Public ROOT mapping, by default assets are copied into .war ROOT directory.
155
+ # config.public.root = ''
156
+
157
+ # Application booter to use, either :rack or :rails (autodetected by default)
158
+ # config.webxml.booter = :rails
159
+
160
+ # When using the :rack booter, "Rackup" script to use.
161
+ # - For 'rackup.path', the value points to the location of the rackup
162
+ # script in the web archive file. You need to make sure this file
163
+ # gets included in the war, possibly by adding it to config.includes
164
+ # or config.webinf_files above.
165
+ # - For 'rackup', the rackup script you provide as an inline string
166
+ # is simply embedded in web.xml.
167
+ # The script is evaluated in a Rack::Builder to load the application.
168
+ # Examples:
169
+ # config.webxml.rackup.path = 'WEB-INF/hello.ru'
170
+ # config.webxml.rackup = %{require './lib/demo'; run Rack::Adapter::Camping.new(Demo)}
171
+ # config.webxml.rackup = require 'cgi' && CGI::escapeHTML(File.read("config.ru"))
172
+
173
+ # Control the pool of Rails runtimes. Leaving unspecified means
174
+ # the pool will grow as needed to service requests. It is recommended
175
+ # that you fix these values when running a production server!
176
+ # If you're using threadsafe! mode, you probably don't want to set these values,
177
+ # since 1 runtime(default for threadsafe mode) will be enough.
178
+ # config.webxml.jruby.min.runtimes = 2
179
+ # config.webxml.jruby.max.runtimes = 4
180
+
181
+ # JNDI data source name
182
+ # config.webxml.jndi = 'jdbc/rails'
183
+ end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
metadata ADDED
@@ -0,0 +1,148 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: glimmer_metronome
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Andy Maleh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-01-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 4.22.1.1
19
+ name: glimmer-dsl-swt
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.22.1.1
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - '='
31
+ - !ruby/object:Gem::Version
32
+ version: 3.3.2
33
+ name: psych
34
+ prerelease: false
35
+ type: :runtime
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 3.3.2
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 3.5.0
47
+ name: rspec
48
+ prerelease: false
49
+ type: :development
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.5.0
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '='
59
+ - !ruby/object:Gem::Version
60
+ version: 2.4.9
61
+ name: juwelier
62
+ prerelease: false
63
+ type: :development
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.4.9
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '='
73
+ - !ruby/object:Gem::Version
74
+ version: 2.0.5
75
+ name: warbler
76
+ prerelease: false
77
+ type: :development
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 2.0.5
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ name: simplecov
90
+ prerelease: false
91
+ type: :development
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Glimmer Metronome (JRuby application built with Glimmer DSL for SWT)
98
+ email: andy.am@gmail.com
99
+ executables:
100
+ - glimmer_metronome
101
+ extensions: []
102
+ extra_rdoc_files:
103
+ - LICENSE.txt
104
+ - README.md
105
+ files:
106
+ - CHANGELOG.md
107
+ - LICENSE.txt
108
+ - README.md
109
+ - VERSION
110
+ - app/glimmer_metronome.rb
111
+ - app/glimmer_metronome/launch.rb
112
+ - app/glimmer_metronome/model/beat.rb
113
+ - app/glimmer_metronome/model/rhythm.rb
114
+ - app/glimmer_metronome/view/app_view.rb
115
+ - bin/glimmer_metronome
116
+ - config/warble.rb
117
+ - glimmer_metronome.gemspec
118
+ - icons/linux/Glimmer Metronome.png
119
+ - icons/macosx/Glimmer Metronome.icns
120
+ - icons/windows/Glimmer Metronome.ico
121
+ - sounds/metronome-down.wav
122
+ - sounds/metronome-up.wav
123
+ homepage: http://github.com/AndyObtiva/glimmer_metronome
124
+ licenses:
125
+ - MIT
126
+ metadata: {}
127
+ post_install_message:
128
+ rdoc_options: []
129
+ require_paths:
130
+ - vendor
131
+ - lib
132
+ - app
133
+ required_ruby_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ requirements: []
144
+ rubygems_version: 3.2.29
145
+ signing_key:
146
+ specification_version: 4
147
+ summary: Glimmer Metronome
148
+ test_files: []