Using EEML in max

    Nov 29 2010 | 7:04 pm
    Does anyone know how you can use EEML in max? The processing code is available as well from here
    Any help is truly appreciated!
    EEML is a markup language that describes the data output of sensors and actuators, often in an architectural context but also in interactive environments, interface devices and even Second Life objects. Crucially, EEML supports the addition of context or "meta-data" about where the data came from. This is meaningful both to machines and humans when searching for data streams that they particularly need without knowing the exact details of the source. It is also important for those wishing to make spontaneous or previously unplanned connections between data streams from different sources with common contexts.
    So that everyone talks the same EEML 'language', a schema has been written in XML for formatting data streams from sensors and devices. This provides a simple yet sophisticated structure for formatting environmental data, in the widest sense possible. The source that EEML is designed to support is data from sensors and devices deployed in the environment. The term "environment" encompasses both the physical world of, for example an office, your home or studio as well as the virtual world of, for example Second Life. EEML is designed to be extensible to support on-going development of environments that EEML's designers did not initially envisage.
    EEML can be used along side well-established XML formats for data interchange such as Industry Foundation Classes in the construction industry, developed by the International Alliance for Interoperability where IFC2x has gained acceptance as one of the formats for Building Information Modeling or BIM. Crucially, using EEML, sensor data from buildings can be mapped onto building components in realtime and exchanged with simulation software and facilities management software thus extending the benefits of BIM to the post-occupancy phase.

    • Nov 29 2010 | 8:15 pm
      That sounds awesome. For integration you could go the EEML->Processing->Max route, check out the OSC P5 libraries for Processing (essentially a way to send Processing variable values over the network, in many cases the local loopback machine itself, to be grabbed by OSC or UDP objects in your patches). For the XML there are multiple ways to parse and use these files, I keep hearing about a good XML parser as part of the Jasch object library (haven't tried this myself). Beyond that, perhaps there's a way to mangle the XML to be compatible with [pattrstorage], though this might be more trouble than it's worth. I think there are some jitter objects which can work with the XML files as well.
      Either way, that data can certainly be used in patches, and I'm sure there are many more options than I've indicated here!
    • Nov 29 2010 | 8:47 pm
      Hey, thanks seejayjames for the input. I was trying to work directly from max, as I am not that good in Processing (barely touched it).
      What I found until now: 1. For the EEML -> Processing -> Max route you can also use maxlink ( But this still implies you know Processing. 2. For the EEML -> Java -> Max route there is JPachube ( that I also wrote about in another thread hoping someone with java experience might help.
      I found solutions to parse a given XML but what I want is to create a XML. If you or anybody else know how XML can be created inside max, that would be wonderful. You said something about some jitter objects!
      One again I want to thank you for your reply!
    • Nov 29 2010 | 9:22 pm
      I just tested the maxlink external and it works like a charm!.. I'll try to use that. I think it is based on OSC libraries!
    • Dec 11 2010 | 12:33 am
      Hi Ygreg,
      Could you post those solutions for parsing a given XML in Max? I want to use weather data from rss feeds to create sounds in max/msp. I am having trouble finding examples of how to pull in xml data.
      I found solutions to parse a given XML.....
      Thanks! Paba