Developer:Davaar:Topology
Contents
Introduction
The Linn DS family of products all have a standard way of presenting themselves to the network. This makes it possible to write generic Control Point software that is able to control those products independently of the following:
- Audio Performance - software that controls a Klimax DS will also control a Sneaky Music DS
- Product Integration - software that controls a DS with an integrated Preamp will also control a DS connected to a separate Preamp
- Device Software Revision - software that controls a Cara 1 device will also control a Cara 2 device. As long as the device firmware is in the same compatibility family as the Control Point everything should work.
The technologies associated with making this possible are grouped under the term Topology.
If a developer wishes to write generic software that participates in the aims described above, then they should write that software in a way that conforms to the strategies and algorithms of Linn Topology, which is described below
Topology - Room/Source
Functional Units
A Linn system is populated by functional units each bearing the Product service.
Each unit has a:
- Type (either Source or Preamp)
- Model (Klimax DS, Majik DS, etc)
- Room (user configurable, defaults to 'Main Room')
- Name (user configurable, defaults to the Model)
- Source Count (fixed and read only, determined by the capabilities of the product)
- List of Sources, each with its own Type, Name, and Visibility
Proper Configuration
In a properly configured system a Room will contain one unit of type Preamp (Preamp Unit) and any number of units of type Source (Source Unit).
The name of each Source Unit represents its audio output.
The name of each Source in a Preamp Unit represents one of its audio inputs.
In a properly configured system, if a Source Unit is connected to a Preamp input, then the name of the Source Unit and the name of the associated Source in the Preamp Unit matches. It is by matching these names that a Control Point is able to select the correct input on a Preamp when a particular Source is selected.
Discovering A Linn System
The correct way to discover a Linn System is to:
- search for all units bearing the Product:3 service
- subscribe to each Product service
- using the Room and Type, collect all units into Rooms each containing one Preamp unit and any number of Source units
- collect the name of all the Sources in the Preamp units
- match the names of the Source Units with the names of the Sources in their room's Preamp unit
Source Unit Sources
To determine the kind of functionality available in each source unit, collect the type of each Source within a Source unit.
If it has type Playlist, it additionally contains the Ds, Playlist and Jukebox service
If it is of type Cd, it additionally contains the Sdp service.
If it is of type Tuner, it additionally contains the Tuner service.
If it is of type UpnpAv, another device associated with this one can be found containing the UpnpAV MediaRenderer services