MINT-core 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/Gemfile +17 -0
- data/Gemfile.lock +69 -0
- data/History.txt +3 -0
- data/MINT-core.gemspec +58 -0
- data/Manifest.txt +77 -0
- data/PostInstall.txt +7 -0
- data/README.rdoc +63 -0
- data/Rakefile +29 -0
- data/bin/mint-aui +40 -0
- data/bin/mint-cui-gfx +47 -0
- data/bin/mint-juggernaut.sh +4 -0
- data/bin/mint-tuplespace +12 -0
- data/lib/MINT-core.rb +42 -0
- data/lib/MINT-core/agent/agent.rb +28 -0
- data/lib/MINT-core/agent/aui.rb +52 -0
- data/lib/MINT-core/agent/auicontrol.rb +135 -0
- data/lib/MINT-core/agent/cui-gfx.rb +160 -0
- data/lib/MINT-core/agent/cuicontrol.rb +46 -0
- data/lib/MINT-core/mapping/complementary.rb +100 -0
- data/lib/MINT-core/mapping/mapping.rb +47 -0
- data/lib/MINT-core/mapping/on_state_change.rb +65 -0
- data/lib/MINT-core/mapping/sequential.rb +87 -0
- data/lib/MINT-core/model/aui/AIC.rb +86 -0
- data/lib/MINT-core/model/aui/AIChoice.rb +65 -0
- data/lib/MINT-core/model/aui/AIINChoose.rb +54 -0
- data/lib/MINT-core/model/aui/AIMultiChoice.rb +5 -0
- data/lib/MINT-core/model/aui/AIMultiChoiceElement.rb +56 -0
- data/lib/MINT-core/model/aui/AIO.rb +170 -0
- data/lib/MINT-core/model/aui/AIOUTDiscrete.rb +43 -0
- data/lib/MINT-core/model/aui/AISingleChoice.rb +9 -0
- data/lib/MINT-core/model/aui/AISingleChoiceElement.rb +69 -0
- data/lib/MINT-core/model/aui/AISinglePresence.rb +100 -0
- data/lib/MINT-core/model/aui/aic.png +0 -0
- data/lib/MINT-core/model/aui/aic.scxml +50 -0
- data/lib/MINT-core/model/aui/aichoice.png +0 -0
- data/lib/MINT-core/model/aui/aichoice.scxml +60 -0
- data/lib/MINT-core/model/aui/aio.png +0 -0
- data/lib/MINT-core/model/aui/aio.scxml +43 -0
- data/lib/MINT-core/model/aui/aisinglechoiceelement.png +0 -0
- data/lib/MINT-core/model/aui/aisinglechoiceelement.scxml +71 -0
- data/lib/MINT-core/model/aui/aisinglepresence.png +0 -0
- data/lib/MINT-core/model/aui/aisinglepresence.scxml +58 -0
- data/lib/MINT-core/model/aui/model.rb +50 -0
- data/lib/MINT-core/model/body/gesture_button.rb +26 -0
- data/lib/MINT-core/model/body/handgesture.rb +279 -0
- data/lib/MINT-core/model/body/head.png +0 -0
- data/lib/MINT-core/model/body/head.rb +51 -0
- data/lib/MINT-core/model/body/head.scxml +28 -0
- data/lib/MINT-core/model/cui/gfx/CIC.rb +266 -0
- data/lib/MINT-core/model/cui/gfx/CIO.rb +381 -0
- data/lib/MINT-core/model/cui/gfx/model.rb +204 -0
- data/lib/MINT-core/model/cui/gfx/screen.rb +18 -0
- data/lib/MINT-core/model/device/button.rb +20 -0
- data/lib/MINT-core/model/device/joypad.rb +30 -0
- data/lib/MINT-core/model/device/mouse.rb +171 -0
- data/lib/MINT-core/model/device/pointer.rb +85 -0
- data/lib/MINT-core/model/device/wheel.rb +51 -0
- data/lib/MINT-core/model/interactor.rb +167 -0
- data/lib/MINT-core/model/task.rb +71 -0
- data/lib/MINT-core/overrides/rinda.rb +34 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/AIC_spec.rb +69 -0
- data/spec/AISinglePresence_spec.rb +94 -0
- data/spec/MINT-core_spec.rb +11 -0
- data/spec/aio_agent_spec.rb +234 -0
- data/spec/aio_spec.rb +144 -0
- data/spec/aisinglechoice_spec.rb +152 -0
- data/spec/aisinglechoiceelement_spec.rb +106 -0
- data/spec/cio_spec.rb +369 -0
- data/spec/core_spec.rb +29 -0
- data/spec/music_spec.rb +179 -0
- data/spec/rcov.opts +2 -0
- data/spec/spec.opts +4 -0
- data/spec/spec_helper.rb +7 -0
- data/tasks/rspec.rake +21 -0
- metadata +227 -0
data/spec/core_spec.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
include MINT
|
4
|
+
|
5
|
+
|
6
|
+
describe 'Interactor' do
|
7
|
+
before :each do
|
8
|
+
connection_options = { :adapter => "in_memory"}
|
9
|
+
DataMapper.setup(:default, connection_options)
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should initialize to initiated if no initial states have been set' do
|
13
|
+
Element.create(:name =>"test1")
|
14
|
+
p = Element.all.first
|
15
|
+
p.name.should == "test1"
|
16
|
+
p.states.should == [:initialized]
|
17
|
+
p.abstract_states.should == "root|initialized"
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should initialize to states set have been been set during creation' do
|
21
|
+
Element.create(:name =>"test2",:states=>[:finished])
|
22
|
+
p = Element.all.first
|
23
|
+
p.name.should == "test2"
|
24
|
+
p.states.should == [:finished]
|
25
|
+
p.abstract_states.should == "root|finished"
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
end
|
data/spec/music_spec.rb
ADDED
@@ -0,0 +1,179 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
include MINT
|
4
|
+
describe 'AUI' do
|
5
|
+
before :each do
|
6
|
+
connection_options = { :adapter => "in_memory"}
|
7
|
+
DataMapper.setup(:default, connection_options)
|
8
|
+
# DataMapper.setup(:default, { :adapter => "rinda",:local =>Rinda::TupleSpace.new})
|
9
|
+
AIC.new(:name=>"interactive_sheet", :childs => [
|
10
|
+
AIC.new(:name=>"sheets", :childs =>[]),
|
11
|
+
AISingleChoice.new(:name=>"option", :label=>"Options", :childs => [
|
12
|
+
AISingleChoiceElement.new(:name=>"nodding",:label=>"Nodding"),
|
13
|
+
AISingleChoiceElement.new(:name=>"tilting",:label=>"Tilting"),
|
14
|
+
AISingleChoiceElement.new(:name=>"turning",:label=>"Turning")
|
15
|
+
])
|
16
|
+
]).save
|
17
|
+
|
18
|
+
@interactive_sheet = AIC.first
|
19
|
+
AUIControl.organize(@interactive_sheet,nil,0)
|
20
|
+
@interactive_sheet.save!
|
21
|
+
|
22
|
+
@sheets = MINT::AIC.first(:name=>"sheets")
|
23
|
+
@option = MINT::AISingleChoice.first(:name=>"option")
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'music sheet' do
|
27
|
+
it 'interactive_sheet should recover state after save and reload' do
|
28
|
+
@interactive_sheet.states.should == [:organized]
|
29
|
+
@interactive_sheet.save!
|
30
|
+
b = MINT::AIC.first(:name=>"interactive_sheet")
|
31
|
+
b.states.should == [:organized]
|
32
|
+
b.process_event(:present).should == [:defocused]
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'sheets should recover state after save and reload' do
|
36
|
+
# @a.process_event(:organize).should ==[:organized]
|
37
|
+
@sheets.states.should == [:organized]
|
38
|
+
@sheets.new_states.should == [:organized]
|
39
|
+
@sheets.process_event(:present).should ==[:defocused]
|
40
|
+
@sheets.save!
|
41
|
+
sheets = MINT::AIC.first(:name=>"sheets")
|
42
|
+
sheets.states.should == [:defocused]
|
43
|
+
sheets.process_event(:focus).should == [:focused]
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'option list should recover state after save and reload' do
|
47
|
+
# @a.process_event(:organize).should ==[:organized]
|
48
|
+
@option.states.should == [:organized]
|
49
|
+
@option.new_states.should == [:organized]
|
50
|
+
@option.process_event(:present).should ==[:defocused, :listing]
|
51
|
+
@option.childs.each do |c|
|
52
|
+
c.process_event(:focus)
|
53
|
+
c.states.should == [:focused, :unchosen]
|
54
|
+
end
|
55
|
+
@option.save!
|
56
|
+
option = MINT::AISingleChoice.first(:name=>"option")
|
57
|
+
option.states.should == [:defocused, :listing]
|
58
|
+
option.process_event(:focus).should == [:focused, :listing]
|
59
|
+
option.childs.each do |c|
|
60
|
+
c.states.should == [:focused, :unchosen]
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'lists options should recover state after save and reload' do
|
65
|
+
# @a.process_event(:organize).should ==[:organized]
|
66
|
+
@option.states.should == [:organized]
|
67
|
+
@option.new_states.should == [:organized]
|
68
|
+
@option.process_event(:present).should ==[:defocused, :listing]
|
69
|
+
#save list
|
70
|
+
@option.save!
|
71
|
+
#recover one of its children and alter its state
|
72
|
+
nodding = MINT::AISingleChoiceElement.first(:name=>"nodding")
|
73
|
+
nodding.states.should == [:defocused, :unchosen]
|
74
|
+
nodding.process_event(:choose).should == [:defocused, :chosen]
|
75
|
+
#save child
|
76
|
+
nodding.save!
|
77
|
+
#recover child and check
|
78
|
+
nodding = MINT::AISingleChoiceElement.first(:name=>"nodding")
|
79
|
+
nodding.states.should == [:defocused, :chosen]
|
80
|
+
#recover another child and alter its state
|
81
|
+
tilting = MINT::AISingleChoiceElement.first(:name=>"tilting")
|
82
|
+
tilting.process_event(:focus).should == [:focused, :unchosen]
|
83
|
+
#save child
|
84
|
+
tilting.save!
|
85
|
+
#recover child and check
|
86
|
+
tilting = MINT::AISingleChoiceElement.first(:name=>"tilting")
|
87
|
+
tilting.states.should == [:focused, :unchosen]
|
88
|
+
# choose option tilting, thus unchoosing nodding
|
89
|
+
tilting.process_event(:choose)
|
90
|
+
tilting.states.should == [:focused, :chosen]
|
91
|
+
# recover nodding to see the change made
|
92
|
+
nodding = MINT::AISingleChoiceElement.first(:name=>"nodding")
|
93
|
+
nodding.states.should == [:defocused, :unchosen]
|
94
|
+
#save child
|
95
|
+
tilting.save!
|
96
|
+
#recover and check
|
97
|
+
tilting = MINT::AISingleChoiceElement.first(:name=>"tilting")
|
98
|
+
tilting.states.should == [:focused, :chosen]
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
describe "AUI/CUI synchronization" do
|
103
|
+
before :each do
|
104
|
+
MINT::CIC.create(:name =>"interactive_sheet",:x=>15, :y=>15, :width =>1280, :height => 1000,:layer=>0, :rows=>2, :cols=>1,:states=>[:positioned])
|
105
|
+
MINT::SingleHighlight.create(:name => "sheets", :width=>1198, :height => 820,:states=>[:positioned])
|
106
|
+
|
107
|
+
MINT::RadioButtonGroup.create(:name =>"option", :x=>30,:y=>840, :width=>1200, :height => 100,:rows=>1,:cols=>3,:states=>[:positioned])
|
108
|
+
MINT::RadioButton.create(:name => "nodding",:x=>40, :y=>850, :width=>200, :height => 80,:states=>[:positioned])
|
109
|
+
MINT::RadioButton.create(:name => "tilting",:x=>440, :y=>850,:width=>200, :height => 80,:states=>[:positioned])
|
110
|
+
MINT::RadioButton.create(:name => "turning",:x=>840, :y=>850,:width=>200, :height => 80,:states=>[:positioned])
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should sync to displayed" do
|
114
|
+
@interactive_sheet.process_event(:present)
|
115
|
+
@interactive_sheet.states.should == [:defocused]
|
116
|
+
MINT::CIC.first(:name=>"interactive_sheet").states.should == [:displayed]
|
117
|
+
MINT::SingleHighlight.first(:name=>"sheets").states.should == [:displayed]
|
118
|
+
MINT::RadioButtonGroup.first(:name=>"option").states.should == [:displayed]
|
119
|
+
MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :listed]
|
120
|
+
MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
|
121
|
+
MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
|
122
|
+
end
|
123
|
+
|
124
|
+
it "should sync interactive_sheet to highlighted" do
|
125
|
+
@interactive_sheet.process_event(:present)
|
126
|
+
@interactive_sheet.process_event(:focus)
|
127
|
+
@interactive_sheet.states.should == [:focused]
|
128
|
+
MINT::CIC.first(:name=>"interactive_sheet").states.should == [:highlighted]
|
129
|
+
MINT::SingleHighlight.first(:name=>"sheets").states.should == [:displayed]
|
130
|
+
MINT::RadioButtonGroup.first(:name=>"option").states.should == [:displayed]
|
131
|
+
MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :listed]
|
132
|
+
MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
|
133
|
+
MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
|
134
|
+
end
|
135
|
+
|
136
|
+
it "should sync sheets to highlighted" do
|
137
|
+
@interactive_sheet.process_event(:present)
|
138
|
+
@sheets = MINT::AIC.first(:name=>"sheets")
|
139
|
+
@sheets.process_event(:focus)
|
140
|
+
@sheets.states.should == [:focused]
|
141
|
+
MINT::CIC.first(:name=>"interactive_sheet").states.should == [:displayed]
|
142
|
+
MINT::SingleHighlight.first(:name=>"sheets").states.should == [:highlighted]
|
143
|
+
MINT::RadioButtonGroup.first(:name=>"option").states.should == [:displayed]
|
144
|
+
MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :listed]
|
145
|
+
MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
|
146
|
+
MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
|
147
|
+
end
|
148
|
+
|
149
|
+
it "should sync option to highlighted" do
|
150
|
+
@interactive_sheet.process_event(:present)
|
151
|
+
@sheets = MINT::AIC.first(:name=>"sheets")
|
152
|
+
@option = MINT::AISingleChoice.first(:name=>"option")
|
153
|
+
@option.process_event(:focus)
|
154
|
+
@option.states.should == [:focused, :listing]
|
155
|
+
MINT::CIC.first(:name=>"interactive_sheet").states.should == [:displayed]
|
156
|
+
MINT::SingleHighlight.first(:name=>"sheets").states.should == [:displayed]
|
157
|
+
MINT::RadioButtonGroup.first(:name=>"option").states.should == [:highlighted]
|
158
|
+
MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :listed]
|
159
|
+
MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
|
160
|
+
MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
|
161
|
+
end
|
162
|
+
|
163
|
+
it "should sync only one RadioButton to selected at a time" do
|
164
|
+
@interactive_sheet.process_event(:present)
|
165
|
+
|
166
|
+
MINT::AISingleChoiceElement.first(:name=>"nodding").process_event(:choose)
|
167
|
+
|
168
|
+
MINT::AISingleChoiceElement.first(:name=>"nodding").states.should == [:defocused, :chosen]
|
169
|
+
MINT::AISingleChoiceElement.first(:name=>"tilting").states.should == [:defocused, :unchosen]
|
170
|
+
MINT::AISingleChoiceElement.first(:name=>"turning").states.should == [:defocused, :unchosen]
|
171
|
+
|
172
|
+
MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :selected]
|
173
|
+
MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
|
174
|
+
MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
|
175
|
+
end
|
176
|
+
|
177
|
+
end
|
178
|
+
|
179
|
+
end
|
data/spec/rcov.opts
ADDED
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
data/tasks/rspec.rake
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
begin
|
2
|
+
require 'spec'
|
3
|
+
rescue LoadError
|
4
|
+
require 'rubygems' unless ENV['NO_RUBYGEMS']
|
5
|
+
require 'spec'
|
6
|
+
end
|
7
|
+
begin
|
8
|
+
require 'spec/rake/spectask'
|
9
|
+
rescue LoadError
|
10
|
+
puts <<-EOS
|
11
|
+
To use rspec for testing you must install rspec gem:
|
12
|
+
gem install rspec
|
13
|
+
EOS
|
14
|
+
exit(0)
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Run the specs under spec/models"
|
18
|
+
Spec::Rake::SpecTask.new do |t|
|
19
|
+
t.spec_opts = ['--options', "spec/spec.opts"]
|
20
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,227 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: MINT-core
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Sebastian Feuerstack
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-11-02 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
22
|
+
none: false
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
hash: 27
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
- 1
|
30
|
+
- 0
|
31
|
+
version: 0.1.0
|
32
|
+
type: :runtime
|
33
|
+
requirement: *id001
|
34
|
+
prerelease: false
|
35
|
+
name: dm-rinda-adapter
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ~>
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 27
|
43
|
+
segments:
|
44
|
+
- 1
|
45
|
+
- 2
|
46
|
+
- 2
|
47
|
+
version: 1.2.2
|
48
|
+
type: :runtime
|
49
|
+
requirement: *id002
|
50
|
+
prerelease: false
|
51
|
+
name: MINT-statemachine
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
55
|
+
requirements:
|
56
|
+
- - ~>
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 23
|
59
|
+
segments:
|
60
|
+
- 1
|
61
|
+
- 0
|
62
|
+
- 0
|
63
|
+
version: 1.0.0
|
64
|
+
type: :runtime
|
65
|
+
requirement: *id003
|
66
|
+
prerelease: false
|
67
|
+
name: cassowary
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ~>
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 17
|
75
|
+
segments:
|
76
|
+
- 2
|
77
|
+
- 9
|
78
|
+
version: "2.9"
|
79
|
+
type: :development
|
80
|
+
requirement: *id004
|
81
|
+
prerelease: false
|
82
|
+
name: hoe
|
83
|
+
description: |-
|
84
|
+
Multimodal systems realizing a combination of speech, gesture and
|
85
|
+
graphical-driven interaction are getting part of our everyday life.
|
86
|
+
|
87
|
+
Examples are in-car assistance systems or recent game consoles.
|
88
|
+
Future interaction will be embedded into smart environments offering
|
89
|
+
the user to choose and to combine a heterogeneous set of interaction
|
90
|
+
devices and modalities based on his preferences realizing an ubiquitous
|
91
|
+
and multimodal access.
|
92
|
+
|
93
|
+
The MINT Framework enables the design, creation, and execution of
|
94
|
+
multimodal interfaces.
|
95
|
+
|
96
|
+
The MINT core gem contains all basic AUI and CUI models as well as
|
97
|
+
the basic infrastructure to create interactors and mappings. Please
|
98
|
+
not that you need at least a CUI adapter gem to be able to actually
|
99
|
+
run a system, e.g. the MINT-rails gem.
|
100
|
+
email:
|
101
|
+
- Sebastian@Feuerstack.org
|
102
|
+
executables:
|
103
|
+
- mint-aui
|
104
|
+
- mint-cui-gfx
|
105
|
+
- mint-juggernaut.sh
|
106
|
+
- mint-tuplespace
|
107
|
+
extensions: []
|
108
|
+
|
109
|
+
extra_rdoc_files:
|
110
|
+
- History.txt
|
111
|
+
- Manifest.txt
|
112
|
+
- PostInstall.txt
|
113
|
+
files:
|
114
|
+
- Gemfile
|
115
|
+
- Gemfile.lock
|
116
|
+
- History.txt
|
117
|
+
- MINT-core.gemspec
|
118
|
+
- Manifest.txt
|
119
|
+
- PostInstall.txt
|
120
|
+
- README.rdoc
|
121
|
+
- Rakefile
|
122
|
+
- bin/mint-aui
|
123
|
+
- bin/mint-cui-gfx
|
124
|
+
- bin/mint-juggernaut.sh
|
125
|
+
- bin/mint-tuplespace
|
126
|
+
- lib/MINT-core.rb
|
127
|
+
- lib/MINT-core/agent/agent.rb
|
128
|
+
- lib/MINT-core/agent/aui.rb
|
129
|
+
- lib/MINT-core/agent/auicontrol.rb
|
130
|
+
- lib/MINT-core/agent/cui-gfx.rb
|
131
|
+
- lib/MINT-core/agent/cuicontrol.rb
|
132
|
+
- lib/MINT-core/mapping/complementary.rb
|
133
|
+
- lib/MINT-core/mapping/mapping.rb
|
134
|
+
- lib/MINT-core/mapping/on_state_change.rb
|
135
|
+
- lib/MINT-core/mapping/sequential.rb
|
136
|
+
- lib/MINT-core/model/aui/AIC.rb
|
137
|
+
- lib/MINT-core/model/aui/AIChoice.rb
|
138
|
+
- lib/MINT-core/model/aui/AIINChoose.rb
|
139
|
+
- lib/MINT-core/model/aui/AIMultiChoice.rb
|
140
|
+
- lib/MINT-core/model/aui/AIMultiChoiceElement.rb
|
141
|
+
- lib/MINT-core/model/aui/AIO.rb
|
142
|
+
- lib/MINT-core/model/aui/AIOUTDiscrete.rb
|
143
|
+
- lib/MINT-core/model/aui/AISingleChoice.rb
|
144
|
+
- lib/MINT-core/model/aui/AISingleChoiceElement.rb
|
145
|
+
- lib/MINT-core/model/aui/AISinglePresence.rb
|
146
|
+
- lib/MINT-core/model/aui/aic.png
|
147
|
+
- lib/MINT-core/model/aui/aic.scxml
|
148
|
+
- lib/MINT-core/model/aui/aichoice.png
|
149
|
+
- lib/MINT-core/model/aui/aichoice.scxml
|
150
|
+
- lib/MINT-core/model/aui/aio.png
|
151
|
+
- lib/MINT-core/model/aui/aio.scxml
|
152
|
+
- lib/MINT-core/model/aui/aisinglechoiceelement.png
|
153
|
+
- lib/MINT-core/model/aui/aisinglechoiceelement.scxml
|
154
|
+
- lib/MINT-core/model/aui/aisinglepresence.png
|
155
|
+
- lib/MINT-core/model/aui/aisinglepresence.scxml
|
156
|
+
- lib/MINT-core/model/aui/model.rb
|
157
|
+
- lib/MINT-core/model/body/gesture_button.rb
|
158
|
+
- lib/MINT-core/model/body/handgesture.rb
|
159
|
+
- lib/MINT-core/model/body/head.png
|
160
|
+
- lib/MINT-core/model/body/head.rb
|
161
|
+
- lib/MINT-core/model/body/head.scxml
|
162
|
+
- lib/MINT-core/model/cui/gfx/CIC.rb
|
163
|
+
- lib/MINT-core/model/cui/gfx/CIO.rb
|
164
|
+
- lib/MINT-core/model/cui/gfx/model.rb
|
165
|
+
- lib/MINT-core/model/cui/gfx/screen.rb
|
166
|
+
- lib/MINT-core/model/device/button.rb
|
167
|
+
- lib/MINT-core/model/device/joypad.rb
|
168
|
+
- lib/MINT-core/model/device/mouse.rb
|
169
|
+
- lib/MINT-core/model/device/pointer.rb
|
170
|
+
- lib/MINT-core/model/device/wheel.rb
|
171
|
+
- lib/MINT-core/model/interactor.rb
|
172
|
+
- lib/MINT-core/model/task.rb
|
173
|
+
- lib/MINT-core/overrides/rinda.rb
|
174
|
+
- script/console
|
175
|
+
- script/destroy
|
176
|
+
- script/generate
|
177
|
+
- spec/AIC_spec.rb
|
178
|
+
- spec/AISinglePresence_spec.rb
|
179
|
+
- spec/MINT-core_spec.rb
|
180
|
+
- spec/aio_agent_spec.rb
|
181
|
+
- spec/aio_spec.rb
|
182
|
+
- spec/aisinglechoice_spec.rb
|
183
|
+
- spec/aisinglechoiceelement_spec.rb
|
184
|
+
- spec/cio_spec.rb
|
185
|
+
- spec/core_spec.rb
|
186
|
+
- spec/music_spec.rb
|
187
|
+
- spec/rcov.opts
|
188
|
+
- spec/spec.opts
|
189
|
+
- spec/spec_helper.rb
|
190
|
+
- tasks/rspec.rake
|
191
|
+
- .gemtest
|
192
|
+
homepage: http://github.com/sfeu/MINT-core
|
193
|
+
licenses: []
|
194
|
+
|
195
|
+
post_install_message: PostInstall.txt
|
196
|
+
rdoc_options:
|
197
|
+
- --main
|
198
|
+
- README.rdoc
|
199
|
+
require_paths:
|
200
|
+
- lib
|
201
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
202
|
+
none: false
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
hash: 3
|
207
|
+
segments:
|
208
|
+
- 0
|
209
|
+
version: "0"
|
210
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
211
|
+
none: false
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
hash: 3
|
216
|
+
segments:
|
217
|
+
- 0
|
218
|
+
version: "0"
|
219
|
+
requirements: []
|
220
|
+
|
221
|
+
rubyforge_project: MINT-core
|
222
|
+
rubygems_version: 1.8.5
|
223
|
+
signing_key:
|
224
|
+
specification_version: 3
|
225
|
+
summary: Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life
|
226
|
+
test_files: []
|
227
|
+
|