Discussion on Neon Mixer Control

10 comments found.

Hi There

Do you happen to have a video demo of this as I am trying to figure out what this does.


Hi Iain,

This control can adjust the volume of an AVAudioPlayer object as a very simple use. Another simple use would be to adjust the balance, or mix of two audio clips playing at the same time.

A more advanced use would be to adjust values that make up certain audio-units. Things like frequency, amplification, phase, octave, cent, period, etc.

I should have a video posted soon.

Thanks, Joe

Ok a 10 minute video tutorial with a demo project is included in the bundle! Hope to get the video preview posted soon as well.

Video Preview is now posted! Although in the future I would like to post a better one if I have the time.

You said this can control an AVAudioPlayer, is it a replacement for a UISlider? Does it have addTarget:self action:@selector(method:) available?

It is a replacement for a UISlider. As per Apple’s definition, the NeonMixerControl “object is a visual control used to select a single value from a continuous range of values.”

It does not make use of addTarget: action:. However, if you could describe your need for this method declaration, and it would prove useful to everyone else, I would be happy to implement it.

Hope this helps,


I’m not using IB. I create my UISlider programmatically so I have to include:

and then the method:

- (void)sliderChanged:(UISlider*)control { sourceAudio.volume=slider.value; }

That’s why I need the addTarget: action.

noit sure why this didn’t post the first time

apparently you can’t post code wrapped in [ ] This is the line I was trying to include:

slider addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged];

sorry about the multiple posts.

The NeonMixerControl is programmatic and is implemented by using a delegate callback. All you have to do is include the two files, .h/.m and alloc/init the NeonMixerControl and declare the delegate/implement the delegate method. Very simple to use in that manner.

The method you mention is taken care of by the delegate method which includes a (id)sender argument. This keeps your code clean in the event you have multiple controls active at the same time. This way you don’t have to call addTarget: action: every time you initialize a new control and all of the calls are consolidated into the delegate method which makes things easier to find and change.

Can this be used so that it is a Play / Pause button?

That was not the original intent of this control. But it can definitely be modified to work in such a way.

Are you wanting it to animate on/off? So that when it is “Playing” it is at a 100% level and when “Paused/Stopped” it is at a 0% level?

Please email me if you would like some custom work done!


how I can change the size of the control?

Update has been submitted for review. You should receive a notification when it has been accepted and is ready for download.

Hi Collins Thx for the great support!

No doubt! ;) Please contact me if you have any further questions or concerns.