HISE Logo Forum
    • Categories
    • Register
    • Login

    Waveform Playhead Unresponsive

    Scheduled Pinned Locked Moved Scripting
    lafplayheadwaveform
    4 Posts 2 Posters 383 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • trillbillyT
      trillbilly
      last edited by trillbilly

      Hey Gang,

      Im using LAF to customize the playhead. Since using it, the playhead is visible, but is unresponsive and does not play along the audio.

      Ive made a minimal snippet with a sampler.

      HiseSnippet 1710.3ocyX8taaaCDWJIpnwqqXsnCXeXefKXevYyw0NIsoXaE0N1wcYM+wvNKa.EAELRT1bglTfhJIdEEaOR6QXOA6IXOD8MX6HkTjriWZhQR67GZz8Gd7Gu63cGaaovkDFJjV1yu2v.hk8cb5Njq52nOlxs1rok8cc1FGpHRTLq0GFfCCIdV11y9bMC64myx76sOacLCycIYrrr1WPcIaQGPUYbaW6ETFqE1irGcPNsWs1ltBdCASDA3YVmJVAX2iv8H6f0pMiik8s1vipDxtJrhDB5rtvaX29hS3w5uOMjdHinIpZ0ELTLaqF8oLu1om0PKKam1Ym7YiO4OvYapG8L9YdfOwH.ksh79.6YtHHU8J.I6bPZtXHcOmttRZfJShFOejylbHf3iAWcdnDqq0LycKmFBPCtp7.7QjVRf3rUT7wUpTBA+yheagBO7g+D9XhuPN.0BBIE.2enBcLVhR42EOHfQjUQOEkZydDUCwf.AGHJtv3Jtf1tY1wvF6ma4tRB3o1R3hYaIDGUm60hPXEigCZokVB0ThOAcHD56IEQbOjLBLrVRgDqUVR5Q04jsh3tJpfWbAOXM60OZvgbLk0QufEJg7SE2qDRb3urXgWW.gLvBC.B3TFCfA1XfKr2L5wDDX+g58FUrR4xUWrLxGyXFFJAJPDR0FDAmXjf4Av5vHHNFlZ2.vtE0FN0LsSWwW7zmhfCCwmxIdKhdFZhZ8MwrSHiQl1tmB1M.8UH7KW9fXt8JGpiC56JEqbZqjefWzHS6N1B1ohmVBVS0CJgR9.80veVAnWsrNC3MZ29k0qh48HWAu5MjK4FyirblGYjLwSRuhDfU8uJogsA8mf+BE6v5U1GtxUmw.vVI42hYQ7y4KMGumKwdT3Vj91ZwWpOk9tUOzCqOJUNH4jo0dB+zZWcE+07eRIiWqj4bePdGjFwwwJ3CPdIT0xOJUAMbGWgTGVh+Z2.ETpODaBbh.8eBeGdLnZRVFFAxFj6Fut7dNvTgI4Y5OgxZ7HLqITjMtrSKrKTBF7XPVsAsRhJRZfPXFBqGDvFh1pdK8UY3VcVj0MsdVXgwqmo85mqXUxwAraJDQB9NBEYWdQMNmuvaJfFWju+DkoqKJELXulnXcKR4Esvhbv6QjkfrFVD4LEgdHi1X5VWtFStwkoyonfuImp1MfjP2RW3yK96y2FyJoNutgVBBAUUl1YeZR6r5QdTQpi1hB159Ni62sLGm7iRX8ia1DqvoFF1CXeCHREUe7raRNFF0Htu47NMIgGoDAFcShs.6o.FmdFD98WVaXFw90Ng5o5CSRXumskUeBsWeklxCjFj5P1DLZAmyLFgiAWtoPptgcH3jgaxIy2XOq04m..l8P3EwvpQGHQO4Uh.HYXjo.zc54Pwxg4mLa7oTl6+NYnRtjg2Qn9RB264zlpb6OY7NyDvKDhuowaxLeeryF99DWUFXmyo0OegC3csCkOOFJ22oqBp0Ofx6kjuXvStrmqgQuCtzid2VRXBrWW5ulSs+r15Qf+RNJ2+nlYqpO.lVaj8JA4cHAvHeP3O2ZtcsNcdNLdWv3q5sOyjrrmDlA.bE4ErKm.9cU9yXCoHLzGNNFaElWT6HYOsuJiSGxwDY3n71IZ.D64bBKTe40VWlIjni0T2swJI8z7Za1kJ6gMwa38HF5piQu7XzqLF8piQ+nwne7XzqkQa6LU0z2FGzFCGwbZtNMIKCjEyYzRJ4TcBOU4Ve.d8TkK70Su+JcN0PbjG3MeJF6R0QgM3GCW2.NZLden6kONhoR4N5U+sEbQPeAm5NZxMjr1qGQlG6S7.UWof6VYbdPsNDFAGl614WVSOpLVN5c1qju3p+X2IFu9LmX3hz0qPePhaWKs4l8R0l6ZAiSeqsabWzcSZlgfcTp9eXL7NNlRtHcGx2mvqiHRAc6R633.sk5BshcI4aNMitgWLcEMsFDcgmLYH9G3WhvpocxzBqlJzxM0Tv4I4ay7z1yFOVpYZLFzijkOEMDZ3qgDz8wJzD7F.cL.UiIfAT5HDlAe+NP6sDufLLEaeOMg32LR1Wa3TIIDZIICBjB5rAhq6751c18G1nwdup0ta0biNuYMTGvKEhVmvXOLF.gl+uXBXQ8nbzxncfIMPKgZrRY3wcVMiBXTWH3nCgvC3Bhy6RPglwFbOM4e82y+9IHL.6JEuxM9gQ5PwsMbff.2blm2YaMMZBu+Y.zF8UttiZpysvkm1EtxztvUm1E9nocgOdZW3ZS6Bex6dg5obpGoDChq8aYsc6MhueYuwY2ul05eA2oA35
      

      Here is the LAF I used:

      //Waveform Fill
      const var WaveformSampler1 = Content.getComponent("WaveformSampler1");
      
      const var Samplaf = Content.createLocalLookAndFeel();
      
      // --- Draw background ruler ---
      Samplaf.registerFunction("drawThumbnailRuler", function(g, obj)
      {
         var a = obj.area;
      
         // live playback (0..1). fallback to position for older builds
         var p = (obj.playbackPosition !== undefined) ? obj.playbackPosition : obj.position;
      
         var x = p * a[2];
      
         g.setColour(0xFFFFFFFF);
         g.drawLine(x, a[1], x, a[1] + a[3], 4.0);
      });
      
      Samplaf.registerFunction("drawThumbnailRange", function(g, obj)
      {
         var a = obj.area;
         var p = (obj.playbackPosition !== undefined) ? obj.playbackPosition : obj.position;
         var x = p * a[2];
      
         g.setColour(0xFFFFFFFF);
         g.drawLine(x, a[1], x, a[1] + a[3], 2.0);
      });
      
      
      // --- Draw waveform path ---
      Samplaf.registerFunction("drawThumbnailPath", function(g, obj) 
      {
         g.fillAll(0x00000000);
      
         var a = obj.area;
         g.setGradientFill([0xFFfc1bda, a[0], a[1],
                            0xFF13f7f8, a[2], a[3]]);
         g.drawPath(obj.path, a, 1.5);
         g.fillPath(obj.path, a);
      });
      
      // --- Optimisation options ---
      Samplaf.registerFunction("getThumbnailRenderOptions", function(opts)
      {
         opts.manualDownSampleFactor = 4.0;
         return opts;
      });
      
      // Apply LAF to all waveform components
      WaveformSampler1.setLocalLookAndFeel(Samplaf);
      

      Where am I going wrong here?

      1 Reply Last reply Reply Quote 0
      • trillbillyT
        trillbilly
        last edited by

        So I didn't know that the playhead would only be visible if the sampleIndex is set to -1. Cool.

        This is only working if I do not draw the playhead in LAF. Once laf in introduced, the playhead becomes unresponsive again.

        LindonL 2 Replies Last reply Reply Quote 0
        • LindonL
          Lindon @trillbilly
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • LindonL
            Lindon @trillbilly
            last edited by

            @trillbilly perhaps try printing out obj.playbackPosition to see what its telling you....

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            30

            Online

            2.0k

            Users

            12.6k

            Topics

            109.5k

            Posts