HISE Logo Forum
    • Categories
    • Register
    • Login

    (C++) transport handler?

    Scheduled Pinned Locked Moved ScriptNode
    4 Posts 3 Posters 118 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.
    • griffinboyG
      griffinboy
      last edited by

      I have a habit of asking questions which are not entirely within the natural scope of hise, and so I won't be offended if I don't get any replies 馃槀
      It may only be answerable by @Christoph-Hart (sorry Christoph).

      So, I'm well into my journey of creating c++ 3rd party nodes, and I've reached another hurdle: I want to access the global transport (daw clock and play head position) within a c++ node. This is for a tempo synced LFO.

      I know that I could take the clock ramp node, and pass the modulation output to a parameter on my external node... That way the node can read the time whenever it needs to use it, but surely it's unnecessary to have the data go through all these extra steps? (Assuming that this has performance impact, to be honest I was planning on running on an internal counter for playback rate, and using updates from the real global transport (daw) only at certain increments such as every bar, to check alignment.

      I'm thinking the two ideal options for me would be to either 'include' a tempo synced node inside my c++ node and then take the data directly (Christoph has mentioned this technique multiple times but I've yet to manage it, I'm quite new to c++).
      The second option would be to directly grab data from an existing audio processor instance being used by hise?

      Perhaps the real answer is that I need to learn c++ and juce properly... 馃槄

      clevername27C 1 Reply Last reply Reply Quote 1
      • clevername27C
        clevername27 @griffinboy
        last edited by

        @griffinboy I'm wondering if there's a point at which it makes to interact directly with the JUCE API?

        Christoph HartC 1 Reply Last reply Reply Quote 1
        • Christoph HartC
          Christoph Hart @clevername27
          last edited by

          The tempo management is done on the HISE level so there's not much to interact on the JUCE API with for this.

          Take a look at this base class:

          Link Preview Image
          HISE/hi_dsp_library/dsp_nodes/CableNodes.h at b46a708644731dc4ba18d4f0aba86681d3894d80 路 christophhart/HISE

          The open source framework for sample based instruments - HISE/hi_dsp_library/dsp_nodes/CableNodes.h at b46a708644731dc4ba18d4f0aba86681d3894d80 路 christophhart/HISE

          favicon

          GitHub (github.com)

          You need to subclass from this, then override tempoChanged() (see a few lines below for the implementation of the tempo syncer. Basic C++ knowledge about polymorphism comes in handy, but getting this to work should lie within your skillset, so go for it :)

          griffinboyG 1 Reply Last reply Reply Quote 2
          • griffinboyG
            griffinboy @Christoph Hart
            last edited by

            @Christoph-Hart

            As always, thanks for the response: )

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

            57

            Online

            1.7k

            Users

            11.7k

            Topics

            101.8k

            Posts