Re: [ARMini-support] ARMX6 HDMI/video/audio ROM now live

  • From: Jim Lesurf <jcgl@xxxxxxxxxxxxxxx>
  • To: armini-support@xxxxxxxxxxxxx
  • Date: Tue, 26 Jan 2016 11:54:41 +0000 (GMT)

Having thought about this and raised it with a few people directly, I think
I'd like to ask more generally here for discussion/feedback to see what
people think...

In article <5547b1af0ap.porcelyn@xxxxxxxxx>, Paul Porcelijn
<p.porcelyn@xxxxxxxxx> wrote:


So these actually seem to be the HDMI command effects:

*HdmiOn  EITHER: enables full HDMI video-and-audio output AND disables
   analogue audio, OR: disables DVI video output AND does not affect
   analogue audio output.  

*HdmiOff (re)enables DVI video output AND disables full HDMI audio AND
         does not (re)enable analogue audio.        

*Audio On (re)enables analogue audio

You can now also use

*Audio <ID string>

to select the required output 'device'. (!SoundCheck will now list any/all
audio 'device' ID strings it finds to aid this when needed.)

I *assume* you may then need a following "*Audio On" to actually ensure it
is enabled. But I'm not sure. cf below...

I confess that I'm getting a bit concerned about some of this in terms of
ensuring we have swis and commands that unambiguously describe things, both
now *and* when we have future machines, more choice of sound 'devices',
etc. My concern grew as I started trying to write clear "!Help"
explanations for a new !SoundCheck that covers the addition of HDMI Audio
and the ability to choose 'device'.

One snag here is that 'device' already has a defined meaning. Before the
new abilities items like the machine's mainboard speaker, or a line output,
etc, were nominally difference 'devices', identifiable and selectable by a
device number. Although in practice, the choices were pretty limited on
most hardware.

Those familiar with the audio systems on other platforms may be aware of
the distinctions there between, say, a sound 'card' and a 'device'. In
those terms the HDMI Audio would be called a 'card' for historic reasons.
And if it had separately selectable outputs for speakers, optical spdif,
etc, they would be 'devices' or maybe 'ports

Now we have new swis and descriptions that refer to a 'device' in a
different way to the old use of 'device'.

This doesn't matter much at present because we only have two ways on an
ARMX6. You either use the mainboard 'headphone' output socket or you send
via HDMI. But what happens when in future we may add USB Audio to being
drivable via SoundDMA *and* impliment, say, the option to have the ARMX6
output via its spdif socket?

The point here is that there are two levels in terms of hardware. One is at
the mainboard vs monitor level. The other is that each of these may have
may have more than one audio output (and/or input!) path.

Personally, I like the old Acorn approach of describing one level as a
'mixer'. (And giving them numbers.) So the mainboard might be mixer 0, with
device 0 being the analogue output, and  - when implimented - the spdif
being device 1 (of mixer 0). Then an HDMI screen or receiver might be mixer
1, and if it only had one audio output it would be defined as audio mixer
1, device 0. And so on. I'm using numbers here for clarity. The numbers
would be a veneer over the way the HAL operates and is addressed.

That's one way of doing it, but would imply wanting some changes to the
names of new swis. e.f. Sound_DeviceInfo might need changing to
Sound_MixerInfo to make this clear. *Note* that only the name given to the
swi would need changing. Not the code it runs, etc. So it would be a
cosmetic change simply to resolve an ambiguity in the language we use to
describe what we are doing.

There are alternatives. e.g. we could recast the old use of 'device' to
mean what we might now call a 'port'. This means no change to the  'new'
features but means from now on we have to know that 'old' documentation
used 'device' for something different to now onwards.

In a similar way, I still feel that HDMIOn / HDMIOff would be better called
HDMIAudioOn / HDMIAudioOff or even HDMIAudioMixerOn /
HDMIAudioMixerOff. 

i.e. something that makes quite clear to ARMX6 users that their HDMI screen
won't go blank if they issue the command  " *HDMIOff " !

It also may become necessary at some point to deal with describing this as
switching DVI on/off if we have new hardware that has both DVI and HDMI
output ports! :-)

Regardless of the above, I'll press on with !SoundCheck and then an updated
ROSS Document covering the new features. I'll use the current terms as
(ambiguously) currently employed unless something clearer comes out of
people thinking about this.

Apologies if anyone feels I shouldn't be raising this here. But in practice
the issue arises for the first time on the ARMX6, so those users may be the
ones who have to think about this first!  It is great to have the HDMI
Audio *and* the very good mainboard audio. But having choices means having
to think about how to best use them. :-)

Jim

-- 
Electronics  http://www.st-and.ac.uk/~www_pa/Scots_Guide/intro/electron.htm
Audio Misc  http://www.audiomisc.co.uk/index.html
Armstrong Audio  http://www.audiomisc.co.uk/Armstrong/armstrong.html
---
To alter your preferences or leave the group, 
visit //www.freelists.org/list/armini-support
List-related queries to info@xxxxxxxxxxxx

Other related posts: