• Redirecting expansions folder broken on Windows?

    5
    0 Votes
    5 Posts
    149 Views
    d.healeyD

    @Lindon Yes :)

  • Drawing Sample Properties on a Waveform? [Updated with the Solutions]

    Solved
    2
    0 Votes
    2 Posts
    201 Views
    C

    @clevername27 I've uncovered the answers—for the interested;

    To draw a specific section of the waveform, use a Viewport, and put the waveform component inside—from there you can scroll and zoom it. All these factors are floats from 0.0 to 1.0; so, to show specific parts of the waveform, simply divide 1 by the sample length (in whatever units you want to use.) The green line is where the sample begins playing from. If you've used the sample start offset, the green bar will reflect that. The translucent areas on either side of the bar don't mean anything—they are there to make the green bar stand out more. So, the active sample start is drawn automatically; if you want to hide it, then make it transparent. To do that, you need to change its colour, which is done in SampleDisplayComponent.cpp:

    Screenshot 2023-04-17 at 1.12.09 PM.png

    (And of course we can also simply change the colour to match your palette.)

    Screenshot 2023-04-17 at 1.14.43 PM.png

    Apparent bugs (noted here and elsewhere on the forum):

    LAF: Some of the overrides work; some don't. (You won't get an error message; simply nothing changes.) However, there's a lot of flexibility built into the default look and feel, and the most important one (drawThumbnailRange) does work, and you can choose only to override specific drawing routines—the others will use the default ones via the Property Inspector. The playback head (white) sometimes freezes when another note is played.
  • Resetting the Undo History?

    Solved
    5
    0 Votes
    5 Posts
    213 Views
    C

    @clevername27 Here's the API call:

    Engine.clearUndoHistory();
  • Download.getProgress returning negative value

    2
    0 Votes
    2 Posts
    361 Views
    d.healeyD

    Hmm looks like it might be something to do with the server not setting the content length header correctly.

    Workaround: progress = download.getNumBytesDownloaded() / download.getDownloadSize()

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    2 Views
    No one has replied
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • Aborting zip extraction

    1
    0 Votes
    1 Posts
    185 Views
    No one has replied
  • Learn how ScriptNode works

    8
    1 Votes
    8 Posts
    739 Views
  • Is there a broadcaster limit?

    Unsolved
    5
    0 Votes
    5 Posts
    193 Views
    Christoph HartC

    @d-healey ah I see. Yes that should be fine and as long as they are not busy and idleing around, they shouldn‘t consume an unreasonable amount of resources.

  • How to Send MIDI Out?

    Unsolved
    1
    0 Votes
    1 Posts
    134 Views
    No one has replied
  • Can't hide child panels?

    7
    0 Votes
    7 Posts
    198 Views
    d.healeyD

    Aha yes it's working. I had to move the order of some calls around.

  • Scroll Bar

    5
    0 Votes
    5 Posts
    200 Views
    A

    @Abyss thanks

  • Global Variable vs. Passing Reg Variables Around?

    7
    0 Votes
    7 Posts
    633 Views
  • Displaying Sections of a Sample?

    Unsolved
    1
    0 Votes
    1 Posts
    102 Views
    No one has replied
  • How to Play Back Notes at Specific Timestamps?

    Unsolved
    2
    0 Votes
    2 Posts
    313 Views
    Christoph HartC

    that the MIDI player is only intended for short passages, mainly loops.

    No, it can have any arbitrary length.

    this sequence can apparently only be one bar long,

    That's not correct. You can set any length by giving the MidiPlayer a time signature object with NumBars=XXX (or NumQuarters=XXX).

    I think the main problem with the MIDI Player is that it's highly under documented up to a point where it gets ridiculous - and if I'm being honest, every time I'm using the MIDI Player, I end up looking in the source code how it works and a programmer with a little bit more self-awareness would have taken this as hint to improve the docs...

    It appears that both a Transport Hanlder and a MIDI Player would be required for this approach, but there seem to be overlapping methods here leading to some ambiguity.

    Of course they have some overlapping methods, but that's because the Transport Handler will act as external synchronization source for multiple MIDI Players. These are the cases where you want to hook up one or more MIDI players to the transport handler:

    multiple MIDI players that should play in sync synchronisation to an external clock like the DAW timeline.

    However If you start the MIDI players from a note callback (I'm doing this in PercX) you can synchronize them without the need of the transport handler.

  • Pushing Messages onto an Array?

    Solved
    30
    0 Votes
    30 Posts
    1k Views
    C

    @clevername27 Solved.

  • Function parameters for callback functions

    Solved
    3
    0 Votes
    3 Posts
    136 Views
    oskarshO

    @d-healey thanks will do!

  • Auto Show Hide Values On Label [ Solved ]

    13
    0 Votes
    13 Posts
    701 Views
    LindonL

    @ForeverLive said in Auto Show Hide Values On Label [ Solved ]:

    @Lindon thank you! Do you think it's even possible to use label instead of a panel? And just make label react to keyboard with some scripting? Or it's require supercomplex rewriting hacker C++ direct JUCE code mega recompilation process? Sorry for humor.

    why would you when you can use a panel?

  • sidechain filter for dynamics

    4
    0 Votes
    4 Posts
    374 Views
    trillbillyT

    @Christoph-Hart Ayaya (in my Mario voice). I just got into LAF and already have my hair falling out. I haven't even glanced at scriptnode yet.

    Squirrel Pattern Baldness, here I come (shitty Spongebob reference)

  • Dynamic Panel Ordering?

    4
    0 Votes
    4 Posts
    207 Views
    ustkU

    Another method that I used before the apparition of child panels (and I think is still valid for that kind of operation) is one unique panel with an object that hold the data, and a paint routine that paints them
    This is particularly useful when you wan't to draw specific shapes, like a pie chart style

22

Online

2.0k

Users

12.9k

Topics

111.4k

Posts