I made a gas pedal-style video speed controller / interface in Max/MSP. When you press down on the mouse, it accelerates the playback speed of the video. When the mouse is released, the throttle eases back towards 1x speed:
The acceleration rates and deceleration rates can also be changed with the two sliders in the middle.
While the throttle is visually reflecting the effect I intended, the video isn’t playing back exactly correctly. Perhaps this has something to do with the mismatch of bangs to the gas pedal versus the video (controlled through the qmetro object).
The actual mouse-pressing mechanism was based on patches from my #prof and this forum post.
From this forum I also learned about this cool text-based way of sharing patches. You can have the patch I made in the video above by copy pasting the code below into Max/MSP:
<pre><code> ----------begin_max5_patcher---------- 2455.3oc0bs0iiaaE94Y+UPXTTjfLxlWzMGzGx1jhzEcS1AMaJvh1fEzRzd3 NxhtTRiGmf7eu7h7XqYjkoikVO8gwFGIJwy249gjd9sWc0nYhGXEi.eM3eCt 5pe6UWck4R5KbUM8UiVReHIiVXF1nDwxkr7xQWauWI6gRy0Ko2w.TPoXwhLF 3dZVEC7EPveFf9R.MOETvTePAyn4K.hpRP4sLPFadolHiUBVeKKG.A7Bfjkv 32yRMOViwK4KtsDvyeb7T.Z+mXKSkwyYIhpbCmQpuXd0R6TYvAr9pqnkI2xy W7Q06nzJGlFEMFdMfDSzegCLT9pOA+R8CwSMPVL6SdX+sSZQ4lLl45i1MiFd 0LgH8098W8J8GW6nrV8BlwjiZE.35qZuT4lULK2qlcvHsTaziraaXzhJBJV+ U.zfTb6PLbziuGIcIqjI+HKmNyBV3vg9CYo8dVVlwbPINJXEkzRFPwmJror9 .zjRkoP1FvJQ8vRpjR06wNb684kaF2SFKA3wAJYGLT+EJvuKiknQe9kV+zd9 cFeFsHw.DPlflVLF7l4fMhJPhXkRnQKTRStx8hqjd4r6YxFdtUJdrnvN9LgV bptmjIVs+KdL3C56SyAohJkchZn7j6L2uVOoYjx83DkOblH4NkOuRCZlOEKP WP44spkhOYsTbnVuDMU+IJHv7ExucsDZPcoYqUywyidJVvRWvNQWciatSt6X zdgzrFoGxcGELfveox5gtCmOhesyZ6fGcv3bN.3Z2R7TymGBvgNBXb+ou0td Vs2IgYWUzVC8vNCqiFxnQ1x.NQzw0d2NXEaSZg829YqnK9Bk05.J7c4pZWnD zkP45N9xEu.aAMQjNMGt.d8n9zkO.GMNR4l6irftSed+O+t7ehWNdMOOUrF7 MfB9ux.nPHDLU822LWEOnTAG.5OXFfNkLHihGEis5+iDU3RTjxWg.EBS8.2y SYh5BOlSyxJ.yXYJQF5APwJ1tR7cN0ePjI0+VqBeqP.dHzSt.n+u34opgpnJ yXBXfIXolZUF+Pk+2Ah8I1vj1R7QwAciX7E.wEq45x9lKjKsUAxRoYsVpG9j Quuw9dpQFffljDDxg.O5B.9u+0+D3l+12852dxZVRnsLVaUrvN0qgSGPnMqp rTj22EuPrAp78cH8dX7EPycyae8G9qu9a+Gfu8c+36+mu6zUfHnsCDemzfgW .HxxWnb+TggKpnY7eUkURj+ex+hxakhREB+x9oqYRbrM1jwKcJrqllQgCY+X Krgh50BQrQfhsKEfMV7gx1RftTlJ2JlQtIFH8WMKeE.N9DEMlRY51MODuWFY axpCVNBLd.qTSwqp2wYu9ZlZ6myyTJu8EMskbpd8grPu6kcCAerQbcdRp4UD 9hpolAw7nVFQbw7XZ3Keqi1hPfhzMmPbwLXZzKFqfCkyfljvxXRStBf7fs31 Q9fnHSHABLzV0VTWIFmNjKPUQlpADY2F0FaX00WUU5XVBc6dlgNtCgPHNZeg femUGL0+E1pxmx5Ii.bXjKFAWhF0RD4kRgpmTcOKl0C+ODPqUz9tTE3zgrCk gKBWcN95dP6NBWTzK87bdCXdNrsmttWtJm6S8EYdtZHdjcYL9EiUvkOGPsD6 H4.BuT6L6vsuz9v3cgFOhAykJCnKlGtXG.gvtLE7ig6kk3HVB3Kjr3PqruGb LNBGsqEl9nw55jJHhYQThvcEwLD94eE9+uJAuT.9Sndegwr.2tllgAc4UPFx c1XP1UusKGfCq5GI3ElYtt7Ok9d7.Xk66arxC5r+WLd.01CaZv3wvi6oGYqe .9XHvVEBvWVa0qdi9VJtmepmlC0y8QUgOR9CGcG8hf6EHLny.BHxEXicKJox x9zo.Gr2t5P597qLj9DGFvhU8JdgA6g2t23dzE.uRFM8zSz08tT6uGjCNxpB OfPtR05e012Fujsr93wN5dwlJomJFycdqoY24kqOMpi+g28uztqWaJu0b.U8 lQkdlA23lJjVIK32y7VxkRgzadFekWAKaNm0XfoBgrvS4BwUekJVm23tILdl Rv4MmlW+vdEq3MGS9irglQ06cS0haaiSoxDZJSwIzhaYEMFQQUd9FuDdI2aF +NlGt4yyyx3TYZgmjk5oZfbQau9TU8Ba7RoaRnxlXzJKs7ISelCk4FI6Z5Fy 3dTq2zxhbjSISy.mzJkWoXUUldQZ5dg4Qv815QT7ztr95khP19Jjr4bi03ne flnPgn3Vve+695I+bASVLIglwlMmIWTUHxm78Bgp7KuToxHZRQxsBQl2Zg7t I+3G94279alfgnXOzj29latYBOWkR1ybZJlrlwtyC4knr2JljQySKRnqXSF0 6U9RH8ckuQPmK78+2p6MB5ZYu8cycl4vrCtO4j+a3R80aJKJDUxjsvZ6dR.1 wporhRdtYke2ePgpAg1sIY7zUBkLoX2o0xjZq9.niFiCdNoMKneTv3sTfeoU 8mybdnCbtYWYOLq6GRLriOwdHKCr0jrOk8n1EDB0CLhb9rsuKB7lZkmv0gDy QgkPLqrTHxdX4dJo87xrU4.8OaNOxYSkCx4jHjgysQk8q26rlTPqyTslAtem BBYpceYgCOPzqSqy.A2BE1VLeMPLTOGHngGHl8cGzxbiOu4F4r6G9Hte3owa c3dFUs6mUb2Ctegwtp6OV7Nbc4sPnkqaPEXsDhrICzTmKe6Rztm.t1CafmVG mXpINwSIsVsawXv4GmNzk.d505RKwOuYB6hLxuKYjerYyar5Ms4I7ID1F31F qpGrGgNvy35AcVyTPCa5CEqnGlHemBJEzkZHfDYpZv2lJN.4OlD0FcijE91j EmEySBb0Z8rmIWjSg8gBg3Tj5dXhv3SXl5Lwpu8H2QrqbZSJDNt9GFSPMw4x 1t3CtMW64MStXb0CyCxkrbnf9XlbpDjv9XlbJ0Moy3JDrYmlhhslS1eKM6SX Cuus5tyO7NxolT5CoSfykicPoyTho3EejoDfX6u1flT0ki4OsmJGC4TVoiv1 gA6y1SidNUuy1DnqAuQm8T4hhsWhNgbJ7c2EYpq00DV15HAsa9SCpZeLqqXi eOG8T+cnyOMzivv1DxNh9tENDpGj4pxgZJyeF0vKyQmuLeKLFbYNzkLIaKl4 Lmp.maQ+XqRUcwu9v5ibXCJagv5eU38TgvH3YqP0+KT3.Jzyi0bI1a6q4Abv mXzAVskmupszUqtmIKpebyjNZI8SByvit1PxysjlcKYjjcOe638MWgJStkWx RJqj1UL9gX6IIazRgZhyq30ysZl+8W8+.rV4Jb. -----------end_max5_patcher----------- </code></pre>
One reply on “Gas Pedal, Gas Pedal”
You seem to have a really good handle on approaching this and the code is super solid. I mentioned this in class but for any kind of file rate stuff with jit.movie it’s best to use photo-jpg codecs for your movies. You might also consider using the frame attribute rather than the rate attribute. You can calculate the number frames in the movie file and then use a counter object to step through frame by frame. The speed of the counter object outputting frame numbers could be combined with your gas pedal effect.
Also, the $1 convention is only used with messages and not with objects. So the qmetro doesn’t need the $1, you can just give it an initial value or override that by sending an integer to the second inlet.
https://cycling74.com/forums/fast-playback-rate-in-jit-movie