Soundcard Script for mixer unmuting

Hi there,

Having real problems at the moment using the feature in the options tab of a file (actions on start).

What i want to be able to do is to have it so when the news jingle plays it unmutes the channel the news is on.

The only problem is that mairlist is trying to unmute a channel in the windows sound. However, we are using a m-audio delta 1010lt card, which has its own mixer window and can’t be controlled via the windows sound type boxes.

Therefore, can anybody see a way, by scripting or any way that i could get this mairlist to unmute the channel?

I hope that makes sense. If its not possible, can you think of any other possible solutions?

any ideas would be much appreciated.

Many thanks

Hi Lackster, does this script help:

http://forum.mairlist.com/index.php/topic,2750.0.html

kind regards Tony

just tried the script and can’t seem to get it to work. im not sure with vista how to work out what the default soundcard is.

i have tried leaving it to 0, as the delta soundcard is the default one?

the line i need is called ‘line 1/2’ so i tried various ways of putting that in and i can’t seem to get any joy with it still.

the problem i think is that it has to control another piece of software as that is the only way of mute-ing/un-muting the soundcard.

does anybody else have one of these soundcards and use this way of automating news in?

Many thanks

This script will create a list of the channels - and help you identify which number matches the channel you are trying to control but I must admit to never doing this my my M-Audio Delta 410 card. On my script example linked by Tony, 12 is the number of my LineInput play-through - so it’s hit’n’miss if you do it via guess work!

The result of this script will be several entries in the SystemLog window, so look at all the entries, not just the number that appears when you run it :slight_smile:

[b]// Get soundcard details and display in the system log

var i: integer;

begin
for i := 0 to MixerCount - 1 do
SystemLog('Mixer ’ + IntToStr(i)+ ': ’ + Mixer(i).GetProductName);

SystemLog(IntToStr(Mixer(1).GetDestinationCount));

end.[/b]

Why don’t you just use an action list and the “Unmute Mixer” action type?

Hi All

Picking up on this problem (which I also have)…

I have run Charlie’s script and get the following:

Mixer 0 : Realtek HDMI output(Realtek HDMI) : Destination count = 1
Mixer 1 : Line 1/2 (M-Audio Delta 1010LT) : Destination count = 1
Mixer 2 : S/PDIF (M-Audio Delta 1010LT) : Destination count = 1
Mixer 3 : Line 5/6 (M-Audio Delta 1010LT) : Destination count = 1
Mixer 4 : Line 7/8 (M-Audio Delta 1010LT) : Destination count = 1
Mixer 5 : Line Multichannel (M-Audio Delta 1010LT) : Destination count = 1
Mixer 6 : Line 3/4 (M-Audio Delta 1010LT) : Destination count = 1
Mixer 7 : Monitor (M-Audio Delta 1010LT) : Destination count = 1
Mixer 8 : Line 3/4 (M-Audio Delta 1010LT) : Destination count = 1
Mixer 9 : Aux (M-Audio Delta 1010LT) : Destination count = 1
Mixer 10 : Line 5/6 (M-Audio Delta 1010LT) : Destination count = 1
Mixer 11 : Multichannel (M-Audio Delta 1010LT) : Destination count = 1
Mixer 12 : S/PDIF (M-Audio Delta 1010LT) : Destination count = 1
Mixer 13 : Capture (Creatix SAA7131 Hybrid) : Destination count = 1
Mixer 14 : Line 7/8 (M-Audio Delta 1010LT) : Destination count = 1
Mixer 15 : Line 1/2 (M-Audio Delta 1010LT) : Destination count = 1

I have tried the ‘Unmute Mixer’ action type and used both values for Line 7/8 (the channel I want to control) but nothing seems to happen.

I have also tried ‘guessing’ a few values based on ‘mixers’ 4 and 14 as follows:
Mixer(4).Mute(0, 1)
Mixer(14).Mute(0, 1)
Mixer(4).Mute(1, 1)
Mixer(14).Mute(1, 1)
but still nothing.

Any throughts? Does anyone else use M-Audio Delta cards?

Cheers

Ron.

Ron: in the M-Audio Mixer panel on your PC, are the ‘faders’ for Line7/8 ‘faded up?’ If not, then un-muting will actually work but will appear to have no effect (becuase the channels are ‘faded down’ in the mixer). As I understand it, Mute/Unmute in mAirList simply toggles the Mute flag for the channel(s) but does NOT change their level.

Fade those channels all the way up, then try to Mute and Unmute them in mAirList again. Let us know whether or not that solves the problem.

Hope that helps!

BFN
CAD

Cad

Good thought but the ‘fader’ was up. The mute works from the ‘M-Audio Delta Control Panel’ but I have not come across any script lines that change the mute/unmute status.

The other option is to alter the volume to ‘0’ or ‘100’ (or whatever) instead of mute/unmute but that is also a mystery to me!

Is there any other queries on the mixer to provide any other clues? Does a ‘Destination count’ of 1 for each entry seem right?

Ron

So Torben’s suggestion of the direct mixer setting in the Actions list doesn’t work ? I’ve not been able to get into the studio to try this my my M-Audio card, sorry. It certainly works on “domestic” PCI cards like the SB Audigy and SB 4.1 PCI. M-Audio drivers are known to be troublesome, so hopefully we’ll find out soon enough whether this works or not.

Well, the point is: Does this M-Audio card rely on the ordinary Windows DirectX mixer interface (which can be accessed by mAirList), or can it only be controlled through its proprietary mixer software?

The script output posted by ron suggests that it does - in some way - register with the Windows mixer interface. But in a very unusualy way though, because usually there’s only one mixer entity per card.

Can you please try to run sndvol32 from the command line? This is the ordinary Windows volume control application. Even though the M-Audio drive removes it from the task bar, it might still work. And if it does, there’s a good chance that also mAirList will be able to talk to the card.

I have just ran a test with my M-Audio Delta 410 card… I can confirm that the Mixer Actions that Torben recommends DO work as expected. The Control Panel volume control shows the “mute” box being un/ticked as predicted. The “mute” box in the Delta Control panel does NOT change, but the VU meters reflect the mute status (ie: no VUs dancing when playing but muted).

In light of this, I suggest scheduling the event through a Mixer Action and not as a Script :wink:

cough< Er … wasn’t it originally Line 1/2, or am I missing something? :wink:

BFN
CAD

Right - here goes - I’ll start with the easy ones first …

CAD - Lackster was using Line1/2 but I used Line 7/8 and in the following example used Line 3/4 (just to prove that it was the same on different channels)

Charlie - I did try the Actions list and it did not appear to work for me (although it is always possible that I was not using it properly!)

Now the science …

The M-Audio Delta 1010LT has it’s own mixer on board and is controlled with the ‘M-Audio Delta Control Panel’

The attached screenshots show this panel with the input to Line 3/4 muted and unmuted using this interface (which works as you would expect).

I am using Vista and the sounds section of the control panes shows the the various audio devices on this PC (including the Delta 1010LT card).

If I go to the Windows ‘Recording’ tab and look at the properties for Line 3/4 I can adjust the levels or click on the speaker icon but nothing happens.

However, on the Windows ‘Playback’ tab works slightly different as the ‘Level’ fader and speaker icon will indeed alter the volume and mute whatever is playing back on the Line 3/4 channel although the Delta interface slider and ‘Mute’ icons do not reflect the change (as Charlie stated for his M-Audio Delta 410 card.)

Charlie - did you conduct your test muting playback or audio going into the card (and what action options did you use)?

FYI - When I try to add an action (by inserting a command into a playlist and adding an action on start o mute the channel) I get presented with the following options:
Device: (long list per a previous post with 2 entries for Line 3/4)
Destination: Master Volume (only option)
Source: All Channels, CD Audio or Master Volume

Hope that all makes at least some sense

Ron.


M-Audio mixer unmuted.jpg

M-Audio mixer mute.jpg

And a picture of the Windows record and playback screens and the sndvol application which reflects the playback functionality


Windows Recording.jpg

Windows playback.jpg

sndvol.jpg

Torben,

I still have the problem described previously but have ‘got around’ it for the time being by feeding the news audio through the on-board audio card and using mAirlist to mute that!

Again I could not switch the output using the ‘action’ settings (I am inserting a command into the playlist with a ‘mixer unmute’ action on start which is the correct - isn’t it?) but I have created two simple scripts to mute and unmute the desired channel which do work!

I then created a command of ‘news’ duration which runs the unmute script on start and the mute script on stop. So far so good…

This works most of the time but occasionally I get an error when the mute script is run at the end which does not mute the mixer and produces the following error:

Access violation at address 005A4069 in module ‘mAirList.exe’. Read of address 00000000

06 December 2008, 16:48:33

Program Version 2.2.1 Build 538

Call stack:

(0005649F) [0045749F]
(00056383) [00457383]
(0002E4D4) [0042F4D4]
(0008E9A8) [0048F9A8]
(0008E9E2) [0048F9E2]
(0008EC02) [0048FC02]
(004CDAE7) [008CEAE7]

Can you tell from this what might be the (intermittent) problem?

Thanks

Ron.

Please grab the latest mAirList.exe from http://www.mairlist.com/download/mAirList/v2.2/snapshot/ and also download the mAirList.map file from that address, and place it into the mAirList folder. The call stack will be more detailed then, which will help me to track down the error more easily.

Will do next time I am at the studio - as soon as I made the post I thought that would be the next step ;D

Torben

I have tried this on another PC and here is the error report:

Access violation at address 005A4339 in module ‘mAirList.exe’. Read of address 00000000

08 December 2008, 08:03:02

Program Version 2.2.1 Build 542

Call stack:

[0045749F] ExtCtrls.ExtCtrls.TTimer.Timer + $F
[00457383] ExtCtrls.ExtCtrls.TTimer.WndProc + $2B
[0042F4D4] Classes.Classes.StdWndProc + $14
[0048F9A8] Forms.Forms.TApplication.ProcessMessage + $FC
[0048F9E2] Forms.Forms.TApplication.HandleMessage + $A
[0048FC02] Forms.Forms.TApplication.Run + $96
(004CEAE7) [008CFAE7]

It may be worth mentioning that I have set the news to start on the hour and last for 3m 03s but the News Out jingle is set to trigger at xx:03:02 so there should be a 1 second overlap (in case they overrun slightly).

It could be related to that although strangely it does not happen every hour!

Also, when the fault occurs mAirlist continues despite this error however the mixed is not muted.

Ron

Torben

Did you manage to get any info from the error report?

I mentioned in my last post that the playlist was set up so that the ‘News out’ jingle was set to start at a fixed time and this overlaped the News by a second (hence the Action on stop ‘mute’ occurs after the next item has already started).

I removed the fixed time on the news out so that it just flowed on from the news command (but did not overlap) and have not had the problem. That may help with your investigation.

Ron.

Sorry, work has kept me busy.

The call stack doesn’t help much. It says that some timer was called, but not which one (there are plenty of them used in mAirList). And obviously it crashes before it manages to forward the call to the owning object. I presume that the object has been deleted without deleting its timer, and now the timer tries to call a method on a no-longer-existing object.

Can you please point me again to the exact script you’re using?