Perspective Audio component

Looking through the file compatibilities for the Perspective Audio component, I don’t see compatibility for .wav files. I’m assuming wav is not supported. Also, which browser compatibility would I use for Perspective Workstation (more specifically, Perspective Workstation on Linux (RedHat))

Working to play a sound clip for new alarms.

My original testing included use of .wav files, so they definitely work. Workstation uses a built-in Chromium browser.

good news, thank you very much!

I reached out to the Documentation team and they’ve updated the page to include .wav.

Yessir, I see the updates. Thank you.

Ok, one more question. Going through the docs, I’m trying to find some kind of reference to paths so I can put the sound files somewhere I can reference with the source parameter. Any suggestion as to where to put those and how to reference?

Pssst! Try my free Blob Server Module.

I used the WebDev module to store my resources, and then I was able to supply a simple reference to the resource: /system/webdev/<projectName>/<pathInWebDev>/<fileName>.ext

I recommend putting the files in the webapps directory, something like, C:\Program Files\Inductive Automation\Ignition\webserver\webapps\main. Then in the component you can use a relative path, something like /YourFile.mp3

2 Likes

Thank you. I put in the …/webserver/webapps/main folder, and this works great. Will have to check and make sure this survives an upgrade. Originally thought about putting in my custom theme folder but couldn’t figure out how to reference it there.

It will survive an upgrade. If you use redundancy, you will need to manually place in the other gateway.

1 Like

Note that the webserver/webapps hosting is deliberately undocumented and unsupported.

@PGriffith where would you recommend audio files reside then?

You proabbly wont have this problem,
But its hard to delete files from the webserver/webapps if the gateway is running, you can check out my solution (for windows) here.

One last thing I've noticed with the Audio component. When configured, I get this message in red in the Output Console quite often. It doesn't appear to effect function, however. I'm using a .wav file.

Graphics2D from BufferedImage lacks BUFFERED_IMAGE hint

I would recommend using Webdev, Phil’s blob server module, a proper external host (e.g. nginx could be configured as a reverse proxy + a static asset host, so external users would only see one IP + port, and nginx would transparently route incoming requests to either Ignition or serve static assets directly).

Building a lot of functionality on top of the webserver/webapps method is fragile for a few reasons. It’s convenient for a one-off, but not something I would want to rely on forever.

@PGriffith I should have been more clear, without using any other module and nothing external, what is the recommend location for these audio files?

There is none. Serving static assets is not an intentional feature of the core Ignition platform. You either need an additional module (Phil’s is free, iirc), or an external service (nginx, Traefik, etc, all have free ‘core’ editions). Or you could write a module that hosts files using supported methods; there’s nothing stopping you from doing what Webdev does. I’m not saying “don’t use webapps” because I’m trying to upsell; I’m saying “don’t use webapps” because I think it’s a bad idea.

1 Like

@PGriffith fair points, but for users on projects who don’t have the option to just install modules at will and have no access to anything external, there should be a supported method.

I don’t think so. Ignition is designed to be a modular system. New Modules are required to get new functionality. If I buy a computer and then a year later want to take pictures with said computer, I have to add a camera to get that functionality.

If customer wants feature B and it needs module or resource X, Y, or Z, then customer has to be willing to have X, Y, or Z installed on their system.

Modularity is not a bug in Ignition, its a design. It allows anyone to think up a great idea and implement it on a solid SCADA, MES, or HMI.

-Caleb