An implementation of ESTA's E1.17 standard Architecture for Control Networks (ACN).

1 Project Overview

Mission Statement

The goal of the miel Project is to provide an open source implementation of ESTA's E1.17 protocol suite, a hardware control standard of the entertainment industry. The most important criteria to achieve this goal is standards compliance. To be successful, miel must also be flexible, robust and efficient.

News

Features

2 The E1.17 Standard

Overview

The E1.17 standard specifies an Architecture for Control Networks, similar to MIDI, or DMX512.

It arose from a need within the entertainment technology industry for a common interoperable protocol for control of equipment. The architecture consists of a number of separate specifications for protocol formats, languages etc., together with interoperability profiles which specify where and how those specifications are to be used and call up external specifications as necessary.

Besides entertainment technology equipment, other applications can be developed within this framework.

The Parts that Make Up the Protocol Suite

(to be written)

The Root Layer Protocol

The Session Data Transport

The Device Management Protocol

The Device Description Language

Other Sources of Information

3 The miel Library

Installation

Since the miel library is published only in source format, you will have to compile it yourself. This may change in the future.

Requirements

The source code package includes a configure script, which can be used if you have make installed.

Development Status

Protocol Status
Root Layer Protocol for IPv4 Pre-Alpha
Other RLP Planned
Session Data Transport Alpha
Device Management Protocol Alpha
Device Description Language Pre-Alpha

4 Download

See installation instructions.

5 Frequently Asked Questions

General Questions

What does the name miel mean?

Following the tradition of open source software it is a recursive acronym. It stands for "Miel Implementation of E1.17". Miel is also Spanish for honey, a product of splendid cooperative work and architectural stability. miel is pronounced with an ie diphthong like in yellow.

Are there mailing lists for miel?

Yes. That is the preferred communication method for miel users and developers.

There are two mailing lists:

When will miel be done?

Giving that it is an open source project, it is hard to tell.

We expect to reach 1.0 (stable library, fixed API) before end 2007, but there are no guarantees. If you want to speed things up, consider

helping.

How can I help?

There are many ways.

If you are a developer

You can help extend miel's functionality. Send patches to the miel-developer mailing list. I'm also looking for developers with enough spare time and C++ skill who would like to take over development of one of E1.17's protocols, specially DDL.

If you have good writing skills

You may have noticed that English is not my mother language. If you can help me write documentation or maintain the website, that would be very nice.

Donations

Donations are always welcome. Money is accepted through Sourceforge's donation system. If that does not suit you, please send an e-mail to one of the developers.

Support This Project

If you don't want to donate money, you can also donate hardware, literature, hire a developer, send in food/drinks, whatever. Thank you in advance.

Promotion

Last, but not least, help spread the word about miel!

What license covers miel software?

The GNU Lesser General Public License Version 2.1.

This license allows you to freely redistribute miel, and link it into your application. Notice that any changes made to miel's source code must be made available to the public.

Questions about the Protocols

What is ACN? What is E1.17?

E1.17 is a standard published by the Entertainment Services and Technology Association (ESTA), which defines the Architecture for Control Networks. More information can be found at miel's website, section The E1.17 Standard or at ESTA's website.

What are RLP, SDT, DDL and DMP?

Those are the different protocols which make up E1.17. The acronyms stand for Root Layer Protocol, Session Data Transport, Device Description Language and Device Management Protocol, respectively.

Read the section on the E1.17 protocol for more information

Why use ACN & E1.17 instead of MIDI/DMX512/EuCon/RAPID/AES-24/etc.?

It mostly depends on your hardware.

MIDI and DMX512 are becoming obsolete, while ACN is much more flexible and can take advantage of the development of networking hardware in general.

EuCon, RAPID and similar formats are proprietary, while E1.17 is a open, non obfuscated standard, which ensures you maximum compatibility between devices. Also, ACN/E1.17 were developed to work with all equipment used in the entertainment industry, and are thus not limited to audio equipment.

Although AES-24's design and philosophy is similar to E1.17, and would therefore be a viable alternative, it seems to have less support by the industry.

I have suggestions to improve the standard, what can I do?

The miel Project is not in any way responsible for the publication of the standard. Please look at the website of the Entertainment Services and Technology Association.

Technical Questions

What platforms does miel support?

Any platform for which a C++ compiler is available. Depending on your networking architecture & hardware, a new Root Layer Protocol may have to be written.

Currently miel depends on the STL. This requirement will be dropped in the future.

If you want to compile miel for a embedded platform, please run ./configure --help and pass the appropriate configuration options to the build process. This includes building static libraries, disabling exceptions, optimizing the code for size, and removing unnecessary features.

Can I build miel with the XYZ compiler?

If XYZ is more or less standards compliant and supports templates, yes. Note that exceptions can be disabled in the source code, if necessary.

Still, it is recommended that you use GNU's toolchain, including the gcc compiler. That is the development platform, and is most likely to work without problems.

6 Troubleshooting

Getting Help

If you have any questions regarding compilation or use of the Library, and could not find the answer in the preceding section Frequently Asked Questions, we suggest that you join the mailing list, accessible through the project's page at Sourceforge.

Bug reports

Please keep in mind that miel is in Alpha stage, meaning it is still under heavy development and nowhere near the status of the stable an mature library we target. It is very likely that you will find bugs, inconsistencies, etc. in its implementation.

If you think you have found a critical design failure, please post your concerns to the mailing lists or send a mail to one of the project's developers.