@omer1789 It is very difficult to stop the playback using [phasor~] because detecting the instant that [phasor~] wraps back to zero is unreliable.
You can use [line~] or better [vline~] instead of [phasor~]
They will do the same.... create a ramp from 0 to 1, but just once.
Otherwise, [readsf~] is easier like this.......... cart_wav_simple.pd
But because it uses [switch~] to pause playback you should open multiple copies of the cart..... one for each track..... rather than copying the patch numerous times into the same window.
[switch~] will then only turn off and on dsp processing (and so pause playback) for that individual window.
Because the name of the track will be lost (because all the copies of the abstraction are identical) you will have to add the name as an argument...... so [cart_wav_simple 07023329] and within the abstraction [open /Users/....../music/$1.wav] The abstraction will then open the track with the argument as its track name.
If you set the GOP (graph on parent) to on for each abstraction with the red box just around the playback controls then you can have a neat main patch with just those controls showing.
Right-click to properties within the abstraction to set the GOP and then save the abstraction.