Page 1 of 1
MixPlay Widget
Posted: Fri Oct 30, 2026 12:46 am
by pklum
Hello,
I (Appic) have today released the FREE widget "MixPlay". MixPlay is a 64-track audio player for MP3, WAV, or FLAC files.
Use MixPlay to play, up to 64 stems in sample perfect syncronization.
MixPlay supports adjusting "Mute," "Volume," and "Pan" for individual tracks, as well as modifying the pitch and playback rate of the mixed master channel in real time during playback. MixPlay also provides amplitude peaks during playback, allowing for the visualization of VU meters.
The widget has been tested in Livecode Create 1.0 (DP12) Classic Mode in macOS Golden Gate and Windows 11.
Please refer to the included demo stack, "MixPlay_demo.livecode" (shown in the image above) and the dictionary documentation.
If you find bugs or have suggestion for features, please contact mailto:
contact@Appic.se
Download the Widget at
https://appic.se/livecode/mixplay_widget_1.0.0.zip. Please read the ReadMe.txt file in the zip-file.
Visit
https://appic.se/livecode/livecode.html for other Livecode Widgets.
Best Regards,
Peter (Appic)
Re: MixPlay Widget
Posted: Fri Oct 30, 2026 11:41 am
by Klaus
Hi Peter,
this is fantastic, will take some deeper looks over the weekend!
Thanks a LOT!
Best
Klaus
Re: MixPlay Widget
Posted: Fri Oct 30, 2026 7:27 pm
by josephmiller
Klaus mentioning a deeper look over the weekend raises something I'm curious about: how stable is the pitch/rate control on the master channel when you push it while 64 stems are running? Sample-perfect sync is the claim that matters most, so I'd want to know whether that holds after repeated tempo changes or only under steady playback. Also worth asking whether the VU peak data is exposed for scripting or only drawn in the widget itself. The demo stack should answer most of that, so a careful pass through it seems the right starting point.
Re: MixPlay Widget
Posted: Fri Oct 30, 2026 8:49 pm
by bn
Hi Peter,
Please help: I can not find the demo stack in the above zip file. I sucessfully installed the extension. I guess I need the demo stack also.
Kind regards
Bernd
Re: MixPlay Widget
Posted: Sat Oct 31, 2026 1:09 am
by pklum
Hi Bernd,
After installing the widget using the Extension Manager look inside .../Documents/My LiveCode/Extensions/community.livecode.appic.mixplay.1.0.0/samples/
Regards,
Peter
Re: MixPlay Widget
Posted: Sat Oct 31, 2026 1:34 am
by pklum
josephmiller wrote: Fri Oct 30, 2026 7:27 pm
Klaus mentioning a deeper look over the weekend raises something I'm curious about: how stable is the pitch/rate control on the master channel when you push it while 64 stems are running? Sample-perfect sync is the claim that matters most, so I'd want to know whether that holds after repeated tempo changes or only under steady playback. Also worth asking whether the VU peak data is exposed for scripting or only drawn in the widget itself. The demo stack should answer most of that, so a careful pass through it seems the right starting point.
Hi josephmiller,
I have not tested it that hard, have just used six stems in testing. But playback seems to work flawlessly after changing playrate and pitch. You can test it by using the supplied stems (../Documents/My LiveCode/Extensions/community.livecode.appic.mixplay.1.0.0/samples/stems/). If you click the Appic icon and select the folder with the stems the demo program will load the stems. Track 0 contains the un-spleeted audio. If you set both solo and mute on track 0 you can hear the difference between the un-spleeted audio and the stems by toggling the solo button. Drag the pitch and tempo slider. Nice if you could test it with more stems!
Regarding the VU metering. You will get the raw peaks as an array for each configured track with get (put the trackPeaks of "MixPlay Widget" into tTrackPeaks). Look into the demo stack. A code can look like this:
Code: Select all
command showTrackPeaks
-- Here you should check it the "MixPlay Widget" is playing (i.e. get audioPlayPause)
-- ...
send "printTrackPeaks" to me in 0.2 seconds
end showTrackPeaks
command printTrackPeaks
-- Get the trackPeaks for all tracks
put the trackPeaks of "MixPlay Widget" into tTrackPeaks
repeat for each key tTrackId in tTrackPeaks
put tTrackPeaks[tTrackId] into tPeaks
-- Command to set VU-meter
setVU tTrackId, tPeaks
end repeat
send "printTrackPeaks" to me in 0.2 seconds
end getTrackPeaks
command setVU pTrackId, tPeaks
-- pVU corresponds to the trackId
put "VU" & pTrackId into tObject
-- You have defined rectangles VU0Left/VU0Right to VU63Left/VU63Right
set the height of rectangle (tObject & "Left") to tPeaks[1]
set the height of rectangle (tObject & "Right") to tPeaks[2]
The widget canvas is rather boring. The reason I have used a widget is to be able to have multiple MixPlay widgets in a stack.
If you find bugs, please let me know.
Regards,
Peter
Re: MixPlay Widget
Posted: Sat Oct 31, 2026 10:00 am
by bn
Hi Peter,
Thanks for your help. I got it now.
This is really impressive work you did. I imagine the it is very helpful for musicians. Amazing you did this using Livecode.
Truly a showcase.
Kind regards
Bernd