diff --git a/nars_core/nars/main/NAR.java b/nars_core/nars/main/NAR.java index f09f0cf8057588f29a385b930d0c593360ddec84..3bc3f90826c1e5053a7309d08f630ad94c082217 100644 --- a/nars_core/nars/main/NAR.java +++ b/nars_core/nars/main/NAR.java @@ -39,6 +39,7 @@ import nars.language.Term; import nars.storage.LevelBag; import nars.io.events.Events.CyclesEnd; import nars.io.events.Events.CyclesStart; +import nars.language.Inheritance; /** @@ -260,8 +261,18 @@ public class NAR extends SensoryChannel implements Serializable,Runnable { if(addCommand(text)) { return; } - Task t = narsese.parseTask(text.trim()); - this.memory.inputTask(t); + Task task = narsese.parseTask(text.trim()); + //check if it should go to a sensory channel instead: + Term t = ((Task) task).getTerm(); + if(t != null && t instanceof Inheritance) { + Term predicate = ((Inheritance) t).getPredicate(); + if(this.sensoryChannels.containsKey(predicate)) { + this.sensoryChannels.get(predicate).addInput((Task) task); + return; + } + } + //else input into NARS directly: + this.memory.inputTask(task); } catch (Exception ex) { //Logger.getLogger(NAR.class.getName()).log(Level.SEVERE, null, ex); } diff --git a/nars_core/nars/main/Plugins.java b/nars_core/nars/main/Plugins.java index 10a28afa8f4cf2f2cee62cc0209b71500e4d3f45..219706c37bc83548df49bf42c93c7189a2a5e214 100644 --- a/nars_core/nars/main/Plugins.java +++ b/nars_core/nars/main/Plugins.java @@ -9,7 +9,7 @@ import nars.plugin.mental.Counting; import nars.plugin.mental.Abbreviation; import nars.language.SetInt; import nars.language.Term; -//import nars.plugin.perception.VisionChannel; +import nars.plugin.perception.VisionChannel; /** * Default set of NAR parameters which have been classically used for development. @@ -20,9 +20,9 @@ public class Plugins { n.addPlugin(new RuntimeNARSettings()); n.addPlugin(new Emotions()); n.addPlugin(new Anticipate()); // expect an event - //Term label = SetInt.make(new Term("bright")); - //n.addSensoryChannel(label.toString(), - // new VisionChannel(label, n, n, 1, 1)); + Term label = SetInt.make(new Term("bright")); + n.addSensoryChannel(label.toString(), + new VisionChannel(label, n, n, 1, 1)); boolean full_internal_experience = false; if(!full_internal_experience) { n.addPlugin(new InternalExperience());