Interactive Plot with MakieLayout

Perhaps something like this would work:

y = lift(s1.value) do v
   v*sin.(x)
end
line2 = lines!(ax, x, y, color=:red)

Here, lift is basically like map for an observable, meaning the block will trigger every time the s1.value updates, and re-create the y-array with the correct value.