• MIDIPlayer || Need Note Events .

    Solved
    7
    0 Votes
    7 Posts
    324 Views
    ChazroxC

    @dannytaurus

    @dannytaurus said in MIDIPlayer || Need Note Events .:

    It's like you have to know the answer, to look up the answer

    I seriously feel like that sometimes. hahahahahah

  • Sample stops playing when key is released

    4
    0 Votes
    4 Posts
    135 Views
    rglidesR

    @rglides and false if you want Normal mode

  • Completely flummoxed over panel value...

    4
    0 Votes
    4 Posts
    164 Views
    ustkU

    @VirtualVirgin hard to tell without knowing what scribeData is

  • Extract information from .midi files? || Midi file dropper tile?

    Unsolved
    8
    0 Votes
    8 Posts
    418 Views
    ChazroxC

    I think im going about this backwards in a way....

    How do I get midi note information from .mid files that are dropped into a midi player? The midi player is obviously able to parse the note event information. How would I extract the information from files loading into the midi player? In this method I could just use a built in midiDrop overlay panel and script the extracting process but the data source would now be the MIDIPlayers built in data structure.

  • Hide table perimeter lines?

    5
    0 Votes
    5 Posts
    215 Views
    ustkU

    @mjc123 or just do this:

    laf.registerFunction("drawTablePath", function(g, obj) { var thickness = 5.0; var area = Rectangle(obj.area).expanded(thickness/2.0); // make the drawing area slightly larger g.setColour(obj.bgColour); g.drawPath(obj.path, area, thickness); });
  • Any ideas on why .charAt() would suddenly stop working?

    7
    0 Votes
    7 Posts
    220 Views
    VirtualVirginV

    @d-healey Actually, I think I just found the error:

    local MPN = direction == "up" ? noteObject.y[0] : noteobject.y[noteObject.y.length -1];

    vs.

    local MPN = direction == "up" ? noteObject.y[0] : noteObject.y[noteObject.y.length -1];

    I forgot the camelCase on noteObject for the false branch :P

  • Buttons

    7
    0 Votes
    7 Posts
    307 Views
    rglidesR

    @SBKZ setControlCallback

  • This topic is deleted!

    Unsolved
    9
    0 Votes
    9 Posts
    11 Views
  • Console.print "drawThumbnailRange" start and end

    Solved
    2
    0 Votes
    2 Posts
    113 Views
    rglidesR

    Solved. Thanks to an old post from @Lindon , thanks!

    inline function onbtn_GET_SAMPLE_LENGTHControl(component, value) { if (value) { local selection = SP_1.createSelection(".*"); local sampleStart = selection[0].get(SP_1.SampleStart); local sampleEnd = selection[0].get(SP_1.SampleEnd); Console.print("Sample Start: " + sampleStart + ", Sample End: " + sampleEnd); } }; Content.getComponent("btn_GET_SAMPLE_LENGTH").setControlCallback(onbtn_GET_SAMPLE_LENGTHControl);
  • Global Variables || Global Icon Paths in namespaces?

    8
    0 Votes
    8 Posts
    307 Views
    d.healeyD

    @Christoph-Hart said in Global Variables || Global Icon Paths in namespaces?:

    Can you make an example of what customization makes internal scripts "more approachable"?

    Here's a script for handling guitar picking

    fbb92c17-f5df-4c3f-b1df-74a5a150e782-image.png

    Here's the front end view that the users see

    4f8476f7-31b3-4bdf-84fe-5d60719ee565-image.png

    Making the back-end look a bit more like the front end would make it easier for developers to understand how the two things relate, without having to look into the script so much.

  • Drop Shadows || Can we do drop shadows for text?

    4
    0 Votes
    4 Posts
    181 Views
    ChazroxC

    I love it when we work together.

  • 0 Votes
    24 Posts
    2k Views
    d.healeyD

    @Lurch said in XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?:

    but I get a load of errors

    Start by making a minimal snippet. 1 panel and 1 knob.

    Then try and implement Christoph's solution.

    You can leave this part out if you want, it's just a check to see if you've compiled HISE with the HISE_SEND_PANEL_CHANGED_TO_PLUGIN_PARAMETER preprocessor definition, and this needs to go at the very top of your script, before any comments.

    #on #if !HISE_SEND_PANEL_CHANGED_TO_PLUGIN_PARAMETER // If this causes an error, you need to add HISE_SEND_PANEL_CHANGED_TO_PLUGIN_PARAMETER=1 // to your ExtraDefinitions of the project and rebuild the component tree (either reload the patch) // or click on the refresh icon in the interface designer) Console.assertTrue(false); #endif // FOR AUTOMATION FROM PANEL
  • How to specify text color

    3
    0 Votes
    3 Posts
    150 Views
    Christoph HartC

    "#FFB7AA5B" is a hex representation of a colour with the #AARRGGBB format. You're almost there, you just need to turn that into an actual number with the hex format:

    const var RED = 0xFFFF0000; const var GREEN = 0xFF00FF00; // same as #FF00FF00 const var TRANSPARENT = 0; // shortcut for 0x00000000
  • Do something only when automating?

    7
    0 Votes
    7 Posts
    326 Views
    Christoph HartC

    @tomekslesicki yes there are plenty of other solutions

    just not calling changed() in the slider would prevent the infinite loop writing a custom panel instead of the buttons that store its value and is assigned to a plugin parameter would also work. you could even get away with just styling the slider with a laf and make it look like a few buttons but thatโ€˜s advanced hackery and might not work with you design.
  • Timestretching sounds robtic/metalic

    5
    0 Votes
    5 Posts
    297 Views
    W

    @griffinboy Thanks for the information. I'll continue finishing my plugin without it for now then, and look into zynaptiq in case. Otherwise, might just have an informational snippet on saying use FL or the DAW built in stretching.

  • Moddifying the table UI element

    9
    0 Votes
    9 Posts
    549 Views
    DanHD

    @Christoph-Hart ah nice, didn't know about this :)

    It would be also be an excellent ux upgrade to include drag handles for the curves rather than mousewheel / right-click dragging.

  • This topic is deleted!

    3
    0 Votes
    3 Posts
    14 Views
  • MidiOverlay Drag but not Drop

    3
    0 Votes
    3 Posts
    164 Views
    rglidesR

    Solved. Bit of a workaround but simpler than I expected

    const var pnl_DETECT = Content.getComponent("pnl_DETECT"); const var tile_DRAGROP = Content.getComponent("tile_DRAGROP"); const var pnl_BLOCK = Content.getComponent("pnl_BLOCK"); pnl_DETECT.setMouseCallback(function(event) { var w = this.getWidth(); var h = this.getHeight(); var isMouseOver = (event.x >= 0 && event.x <= w && event.y >= 0 && event.y <= h); var isDragging = event.drag || event.mouseDown || (event.x != this.data.lastX || event.y != this.data.lastY); this.data.lastX = event.x; this.data.lastY = event.y; if (isMouseOver && isDragging) { pnl_BLOCK.showControl(false); } else { pnl_BLOCK.showControl(true); } });
  • LAF help - Flip vertical slider for gain reduction

    3
    1 Votes
    3 Posts
    145 Views
    DanHD

    @d-healey thank you kindly ๐Ÿ™Œ

  • This topic is deleted!

    8
    0 Votes
    8 Posts
    8 Views

24

Online

2.0k

Users

12.8k

Topics

110.8k

Posts