14841
Comment:
|
← Revision 39 as of 2008-10-03 20:19:33 ⇥
2488
converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
[[Navigation(siblings, 1)]] | <<Navigation(siblings, 1)>> |
Line 5: | Line 5: |
[[TableOfContents]] | <<TableOfContents>> |
Line 11: | Line 11: |
|| side activities / detailled planning || coming up || coming up || coming up || coming up || | |
Line 14: | Line 13: |
|| main activity || working out one idea to a final concept || coming up || coming up || coming up || || side activities / detailled planning || coming up || coming up || coming up || coming up || |
|| main activity || working out one idea to a final concept || hmmmm || defining criteria for concept / getting acquainted with electronics and JAVA || coming up || == planning week 16 == Two groups are working parrallel. LaurieScholten and JanvanderAsdonk are working on the soft- and hardware (RutgerMenges can help). LilianAdmiraal and RutgerMenges are working on finishing the concept, formulating the requirements, and the link between color and emotion (the object might show emotion with color) || / || Monday || Tuesday || Wednesday || Thursday || Friday || || JanvanderAsdonk and LaurieScholten |||||||| Getting acquainted with the soft- and hardware. Talk with experts about what is possible and how it should be done || '''Deadline''' A simple prototype with in- and output controlled by microcontrollers and JAVA || || LilianAdmiraal and RutgerMenges |||| '''Deadline''' Cearly formulate the Requirements for the concept. Clearly formulate the link between emotions and colors. |||| Work out the final concept in detail || '''deadline''' Worked out concept || After this week the concept is clear and JanvanderAsdonk and LaurieScholten know what they can do with the soft- and hardware. At that point we can make a plan to realize our concept in a working prototype |
Line 26: | Line 34: |
= Workshops = [[Anchor(javaworkshop)]] == Java D workshop == === Schedule === * April 08, Friday, 9:30am-11:30am HG4.95 * Topics * Distributed Media * ITML examples ==== itml example ==== {{{#!VimColor type=smil <!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by HU, Jun (TU/e) --> <itml> <head> <layout> <actor id="rutger" top="0" left="0" width="1024" height="768" fit="fill" address="localhost:7086"/> </layout> </head> <body> <par> <action id="coldid" src="file:/cold.tmp" actor="rutger" dur="5000s"> <anchor onevent="coldid.warmest" href="#showgoogle" /> </action> </par> <action id="showgoogle" src="http://www.google.com/intl/zh-CN/about.html" actor="rutger" /> </body> </itml> }}} ==== BallListener ==== ---- {{{#!java package nl.tue.id.dps.swing; /** * <p>Title: ITML</p> * * <p>Description: Distributed Media Extension to X-Smiles</p> * * <p>Copyright: Copyright (c) 2004</p> * * <p>Company: ID, TU/e</p> * * @author HU, Jun * @version 1.0 */ public interface BallListener { public void becomeWarm(); public void becomeCold(); public void becomeWarmer(); public void becomeWarmest(); } }}} ==== BallFrame ==== ---- {{{#!java package nl.tue.id.dps.swing; import java.awt.*; import javax.swing.*; import java.awt.event.MouseEvent; import java.awt.event.MouseAdapter; import java.util.Vector; import java.util.Iterator; /** * <p>Title: ITML</p> * * <p>Description: Distributed Media Extension to X-Smiles</p> * * <p>Copyright: Copyright (c) 2004</p> * * <p>Company: ID, TU/e</p> * * @author HU, Jun * @version 1.0 */ public class BallFrame extends JFrame { TimeCounter counter = new TimeCounter(); BorderLayout borderLayout1 = new BorderLayout(); JPanel ballPanel = new JPanel(); Vector listeners = new Vector(); public void addBallListener(BallListener listener){ listeners.add(listener); } public void removeBallListener(BallListener listener){ listeners.remove(listener); } public static void main(String arg[]){ BallFrame ball = new BallFrame(); ball.pack(); ball.show(); ball.cold(); } public BallFrame() { try { jbInit(); } catch (Exception exception) { exception.printStackTrace(); } counter.start(); } private void jbInit() throws Exception { getContentPane().setLayout(borderLayout1); ballPanel.addMouseListener(new BallFrame_ballPanel_mouseAdapter(this)); this.getContentPane().add(ballPanel, java.awt.BorderLayout.CENTER); ballPanel.setMinimumSize(new Dimension(640, 480)); ballPanel.setPreferredSize(new Dimension(640, 480)); } public void setBallColor(Color c){ ballPanel.setBackground(c); } public void ballPanel_mousePressed(MouseEvent e) { counter.startCounting(); } public void ballPanel_mouseReleased(MouseEvent e) { counter.stopCounting(); } public void cold(){ setBallColor(Color.blue); Iterator i = listeners.iterator(); while(i.hasNext()){ BallListener ballListener = (BallListener)i.next(); ballListener.becomeCold(); } } public void warm(){ setBallColor(Color.yellow); Iterator i = listeners.iterator(); while(i.hasNext()){ BallListener ballListener = (BallListener)i.next(); ballListener.becomeWarm(); } } public void warmer(){ setBallColor(Color.orange); Iterator i = listeners.iterator(); while(i.hasNext()){ BallListener ballListener = (BallListener)i.next(); ballListener.becomeWarmer(); } } public void warmest(){ setBallColor(Color.red); Iterator i = listeners.iterator(); while(i.hasNext()){ BallListener ballListener = (BallListener)i.next(); ballListener.becomeWarmest(); } } class TimeCounter extends Thread { boolean counting = false; int n = 0; public void run(){ while(true){ if(counting){ try { sleep(2000); } catch (InterruptedException ex1) { } n = n+1; if (n == 1){ warm(); } else if (n== 2){ warmer(); } else if (n==3){ warmest(); } else{ n = 4; } } else{ try { sleep(2000); } catch (InterruptedException ex1) { } n = n-1; if (n == 3){ warmest(); } else if (n== 2){ warmer(); } else if (n==1){ warm(); } else{ n = 0; cold(); } } } } public void startCounting(){ counting = true; } public void stopCounting(){ counting = false; } } } class BallFrame_ballPanel_mouseAdapter extends MouseAdapter { private BallFrame adaptee; BallFrame_ballPanel_mouseAdapter(BallFrame adaptee) { this.adaptee = adaptee; } public void mousePressed(MouseEvent e) { adaptee.ballPanel_mousePressed(e); } public void mouseReleased(MouseEvent e){ adaptee.ballPanel_mouseReleased(e); } } }}} ==== TemperatureTimedPresentation ==== ---- {{{#!java package nl.tue.id.dps.swing; import nl.tue.id.dps.TimedPresentation; import java.util.Date; import java.net.URL; import nl.tue.id.dps.PresentationEvent; /** * <p>Title: ITML</p> * * <p>Description: Distributed Media Extension to X-Smiles</p> * * <p>Copyright: Copyright (c) 2004</p> * * <p>Company: ID, TU/e</p> * * @author HU, Jun * @version 1.0 */ public class TemperatureTimedPresentation extends TimedPresentation implements BallListener { static BallFrame ball = new BallFrame(); String temperature = "cold"; public TemperatureTimedPresentation() { } protected void create(URL src) { temperature = removeExtension(getFileName(src)); if(!ball.isVisible()){ ball.pack(); ball.cold(); ball.show(); } } protected void destroy() { } protected void pause() { } protected void start() { ball.addBallListener(this); if(temperature.equals("cold")){ ball.cold(); } else if(temperature.equals("warm")){ ball.warm(); } else if(temperature.equals("warmer")){ ball.warmer(); } else if(temperature.equals("warmest")){ ball.warmest(); } } protected void stop() { ball.removeBallListener(this); } protected boolean couldBePaused() { return false; } private String getFileName(final URL url) { final String file = url.getFile(); final int last = file.lastIndexOf("/"); if (last < 0) { return file; } return file.substring(last + 1); } private String removeExtension(final String filename) { final int index = filename.lastIndexOf('.'); if ( -1 == index) { return filename; } else { return filename.substring(0, index); } } public void becomeWarm() { this.fireEvent(new PresentationEvent("temperature","warm")); } public void becomeCold() { this.fireEvent(new PresentationEvent("temperature","cold")); } public void becomeWarmer() { this.fireEvent(new PresentationEvent("temperature","warmer")); } public void becomeWarmest() { this.fireEvent(new PresentationEvent("temperature","warmest")); } } }}} ==== TPFactoryImpl ==== {{{#!java package nl.tue.id.dps.swing; import nl.tue.id.dps.*; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * * @author not attributable * @created March 14, 2003 * @version 1.0 */ public class TPFactoryImpl extends TPFactoryBasicImpl { protected void setTPManifest() { addPresentation(new String[] {"temperature"}, TemperatureTimedPresentation.class, new String[] { "tmp" }); addPresentation(new String[] {"image", "img"}, ImageTimedPresentation.class, new String[] { "jpg","gif","png" }); addPresentation(new String[]{"jmfvideo", "video"}, VideoTimedPresentation.class, new String[] { "avi", "mvr","mpg","mov","swf", "spl" }); addPresentation(new String[]{"jmpaudio", "audio"}, AudioTimedPresentation.class, new String[] { "aif", "aiff","avi","gsm","mid","mp2","mp3","mov","au","wav" }); addPresentation(new String[]{"smil", "itml"}, ITMLTimedPresentation.class, new String[] { "smi","smil","itm","itml" }); addPresentation(new String[] {"html", "htm"}, HTMLTimedPresentation.class, new String[] { "htm","html" }); addPresentation(new String[] {"xul"}, ThinletTimedPresentation.class, new String[] { "xul" }); addPresentation(new String[] {"lirc"}, LIRCTimedPresentation.class, new String[] { "lirc" }); addPresentation(new String[] {"behavior"}, TonyTimedPresentation.class, new String[] { "bhv" }); } } }}} == Java C workshop == === Schedule === * March 24, Thursday, 10:30am - 12:30pm, HG4.95 * Topics * Distributed Media * ITML * An example: distributed presentations. * attachment:TOONS.zip == Java Workshop == === Schedule === * March 17, Thursday, 13:30pm - 16:00pm, HG4.95 * There will be no powerpoint slide shows, but a projector is necessary. * Everybody brings her/his computer to the workshop, with a network cable. We are going to do some hands-on programming. * Topics: * Object-oriented programming * Working with JBuilder - an IDE (integrated development environment) * Projects * packages * uml/refactory * help/documentation * debug * Distributed Media * ITML * An example: distributed presentations. === Preparation === * Please install Borland JBuilder 2005. It is available as [http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/borland_jbuilder/ campus sofware]. * Make sure your Java Media Framework properly installed. * [attachment:itml.zip ITML player source code + libraries]. Please download it, unzip it to anywhere on your harddisk. * It is indeed pretty big (80+M), becuase it includes all kinds of libraries, and some MPG movies. Don't worry, you may always remove it from your computer easily by removing entire itml0.91 directory with no harm. [[Anchor(smilworkshop)]] == SMIL Workshop == * A introduction on SMIL (JunHu) * Hands-on practice: Let's make an interactive movie. * [http://www.helio.org/products/smil/tutorial/ SMIL tutorial] by Helio. Download a copy to your hard disk. try to play the smil documents (in chapter8/sources) with X-smiles. * [http://ttt.forno.us/en/tutorial/learning_to_smil/ Learning to SMIL]: a SMIL 2.0 tutorial into 10 lessons and provides (minimal) exercises with answers * [http://www.geocities.com/ramirez_j2001/smil_intro/smil_intro_direct.smil Intro to SMIL version 1.0], Tutorial on SMIL written in SMIL - pretty cool ! requires !RealNetworks G2, 80KB SMIL 1.0 with !RealText. * The example I failed to show you in the workshop is fixed here. It demostrates the user interaction event based synchronization: {{{#!VimColor type=smil <smil> <head> <layout> <root-layout width="300" height="200" background-color="white" /> <region id="vim_icon" left="75" top="50" width="32" height="32" /> <region id="soja_icon" left="150" top="50" width="100" height="30" /> </layout> </head> <body> <par begin="2s" dur="6s"> <img id="vim" src="vim32x32.gif" alt="The vim icon" region="vim_icon" dur="6s" /> <img src="madewithsoja.gif" alt="Made with SOJA" region="soja_icon" dur="4s" begin="vim.activateEvent" /> </par> </body> </smil> }}} After 2 seconds, it shows you a Vim icon. You have 4 seconds chance to click on the icon. If it is clicked (vim.activateEvent), it will show "madewithsoja.gif". To see this SMIL example in action, you should have vim32x32.gif and madewithsoja.gif in the same directory. Try it out. then smile. === Preparation === * Everybody should bring her/his laptop to the workshop, with following software installed: * [http://java.sun.com/j2se/1.4.2/download.html Java 2 Platform, Standard Edition, v 1.4.2 (J2SE)] * [http://java.sun.com/products/java-media/jmf/2.1.1/download.html Java Media Framework] * [http://www.xsmiles.org/download.html The complete X-Smiles XML-browser], not only the standalone SMIL player. * Prepare some nice JPG pictures, MP3 music and AVI movies. * You are going to click a lot, so bring your computer mouse with you - the touch pad will kill you with RSI. |
/FinalResults /MeetingMinutes /OurVision /ProjectDescription /ProjectLog /ProjectPlan /UserGroup /WhatIsNew /WorkShops |
Project
week no. |
week 10 |
week 11 |
week 12 |
week 13 |
main activity |
refining research conclusions coming up with concept directions |
working out concepts |
working out concepts / preparing for interim presentation |
interim presentation |
week no. |
week 14 |
week 15 |
week 16 |
week 17 |
main activity |
working out one idea to a final concept |
hmmmm |
defining criteria for concept / getting acquainted with electronics and JAVA |
coming up |
planning week 16
Two groups are working parrallel. LaurieScholten and JanvanderAsdonk are working on the soft- and hardware (RutgerMenges can help). LilianAdmiraal and RutgerMenges are working on finishing the concept, formulating the requirements, and the link between color and emotion (the object might show emotion with color)
/ |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Getting acquainted with the soft- and hardware. Talk with experts about what is possible and how it should be done |
Deadline A simple prototype with in- and output controlled by microcontrollers and JAVA |
||||
Deadline Cearly formulate the Requirements for the concept. Clearly formulate the link between emotions and colors. |
Work out the final concept in detail |
deadline Worked out concept |
After this week the concept is clear and JanvanderAsdonk and LaurieScholten know what they can do with the soft- and hardware. At that point we can make a plan to realize our concept in a working prototype
planning week 14
monday |
tuesday |
wednesday |
thursday |
friday |
filter out and combine the best parts of each idea. Add extra components when needed |
Work out the concept and show it in scenario's. deadline Final concept clear and worked out. |
Finalize scenario's and possibly make some other visualisations |
make everythink presentable for coach meeting deadline Final concept totally finished. Show to coaches |
JAVA workshop |
planning week 11
monday |
tuesday |
wednesday |
thursday |
friday |
|
linking research pointing out most important relations |
working thowards concepts / (preparation for) workshop with Jun Hu |
meeting with Philip Ross / Coaches meeting |