MixPlay Widget

A place for you to show off what you have made with LiveCode

Moderators: Klaus, FourthWorld, heatherlaine, kevinmiller, robinmiller

Post Reply
pklum
Posts: 21
Joined: Fri Jan 17, 2025 6:47 pm

MixPlay Widget

Post 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.

Image

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)
Klaus
Posts: 14347
Joined: Sat Apr 08, 2006 8:41 am
Contact:

Re: MixPlay Widget

Post by Klaus »

Hi Peter,

this is fantastic, will take some deeper looks over the weekend! :)
Thanks a LOT!

Best

Klaus
josephmiller
Posts: 1
Joined: Fri Oct 30, 2026 5:38 pm

Re: MixPlay Widget

Post 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.
bn
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 4231
Joined: Sun Jan 07, 2007 9:12 pm

Re: MixPlay Widget

Post 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
pklum
Posts: 21
Joined: Fri Jan 17, 2025 6:47 pm

Re: MixPlay Widget

Post 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
pklum
Posts: 21
Joined: Fri Jan 17, 2025 6:47 pm

Re: MixPlay Widget

Post 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
bn
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 4231
Joined: Sun Jan 07, 2007 9:12 pm

Re: MixPlay Widget

Post 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
Post Reply