AudioWaveform - callback
-
@d-healey - yeah I understand what you are saying but my use-case is much simpler than this:
(oh by the way right clicking doesnt do anything for me either..)
The user selects a sample map (in some browser based way) and it loads into a sampler - this sampler is connected to our audioWaveform.
The AudioWaveform starts out at index 0 and displays the first waveform, the user can then (using a menu ) select other waveforms to display.All fine with a passive AudioWaveform so far...but:
The user needs to be able to change the start and end of the sample, e.g.:
Again all fine with the current Audio Waveform -- except....
I need to know the length of the new playing segment (Sample End - SampleStart) - which is obtainable and calculatable - but I have no event that tells me when the user has made these start position and/or end position changes....
(( The reason by the way I need to know this length is to allow at least some sort of manual looping of this audio "segment" - turning looping on wont work as it will likely give the end user clicks - so instead I have to repeatedly time a note thats exactly the end pos - start pos length - so at least its got an envelope....)) - so even this is actuaully a work around for what we both agree is a bug ...not allowing x-fade material outside the start -end
-
@d-healey -- oh yeah processor id != callbacks - how do I assign an audio waveform to a sampler with scripting?
-
how do I assign an audio waveform to a sampler with scripting?
I think you just use
.set("processorId", "sampler")
but obviously that isn't going to help here.Can you read the length of the sample in the preload callback when the user selects the sample map?
-
@d-healey - yuep
its:AudioWaveform1.set("processorId", "Sampler1");
reading the length in the pre load is not much help as the end user is changing the length...
still .. working on it...
-
@Lindon -- yeah still no call back happening...
-
@Lindon Yeah using
AudioWaveform1.set("processorId", "Sampler1");
is effectively the same as setting it in the properties editor, that's why I said it isn't going to help here. I think what is needed is an additional callback for the audiowaveform control, something likeonFileChanged
. -
What controls does the user use to change the playable area range?
-
@d-healey said in AudioWaveform - callback:
@Lindon Yeah using
AudioWaveform1.set("processorId", "Sampler1");
is effectively the same as setting it in the properties editor, that's why I said it isn't going to help here. I think what is needed is an additional callback for the audiowaveform control, something likeonFileChanged
.Actually I need to be able to change the Sampler attached to the audioWaveform so I need:
audioWaveForm.attachSampler("somename");
and I need the callback to fire when the audiowaveform has the start and end positions changed..
-
@d-healey said in AudioWaveform - callback:
What controls does the user use to change the playable area range?
They use the audioWaveforms own controls: enableRange = true in the audioWaveforms properties...
-
@Lindon I think that this will require Christoph level intervention.
-
@d-healey - yeah I think that too... here goes... @Christoph-Hart !!!???
-
@Lindon said in AudioWaveform - callback:
@d-healey said in AudioWaveform - callback:
@Lindon Yeah using
AudioWaveform1.set("processorId", "Sampler1");
is effectively the same as setting it in the properties editor, that's why I said it isn't going to help here. I think what is needed is an additional callback for the audiowaveform control, something likeonFileChanged
.Actually I need to be able to change the Sampler attached to the audioWaveform so I need:
audioWaveForm.attachSampler("somename");
and I need the callback to fire when the audiowaveform has the start and end positions changed..
Worse..... this wont even work dynamically...:
if (a==1) { AudioWaveform1.set("processorId", "Sampler1"); }else{ AudioWaveform1.set("processorId", "Sampler2"); }
I can set this in a script but its ignored until I recompile the script....
-
NOOOOOO!!!!!!
Now I find that AudioWaveforms WONT save start and end values in
presets!!!! -
You can use a sliderpack to store/restore the start/end values.
I can't get the processorId to refresh the component without compiling either, I suggest opening a github issue.
Here's a solution for loading in different samples which does update. It's much more convoluted and you'll need to experiment to get this working how you want. Also with this method it doesn't actually display the waveform (at least not for me). Another solution is to use multiple waveform controls that you show/hide but this might not be practical depending on how many waveforms you have.
HiseSnippet 1592.3oc6Y8taZbDDeOi2DCMMpNMUpeoRmr5GHUoD.+uJU0VrwPjahsQfSZkpZsVe2BrJG6h1aOmPirTej5iPej5aP6r6c.6cgfbHItoR3OX4clc1427amclASKoviFFJjHm7mNZHE4bKbmQbU+58ILN5vCPNeJlD4yDOmbAsqPNPQCUn8GMjDFR8QNN4dndiN4WEY94u+g8IADtGcpHD5oBlG8wrAL0Tosp8HVPPShO8T1.qcuUsC8D75h.QD.pb3xngDumQ5QOln21JXjyMZ3yTBYGEA.CxY08E9i5zW7bd79eJKjcd.UunBpCbPwhaJB70HVKEUuOKvu03fODAGZqoTQtXp3t3iX9rIxmRIehQg6TKr4CmURCubofWEa3U1Bdy.RNVPBGCo0wc7jrgpoZz34ivGxUTYWBP61P43nA6ou6ZxBzHA63.Db7AfVoYNbcAXFWUZ.4YzlRXwjio3NkKeeW3W26aKT.tOBUtWPjtcHCFFPkUb+NWSVRodTUhrhaLV4FfMuhIUmmIU2XpaLIaGPTDvfF7dLNsjmjBT4db+1zdrP.gSBphYvmQwOkjopQ43HDbZcwfgBNrn3Fo2l14okTRR6RkmZfQwI.R6JFO.Pja2HtmhI3tB99QJkfWQ6HoHnn2Xube.PAQz6U3kExGH7HAtcA6yy55VLQQdPShpPCODp4nDRLIn6PCnFOUbiRekFn4y2E1Ux9+kx+pNxJlXTIMkneln22k4yWHOMHjNW+T8s2OPPMghJEHH9lKltftKg.d1W.Ij1F2qTnVtg5pSBBNGdpWLKmp48BVL9wBE8DdQCyV3xBtYU0s6L0kbZ57tYoVWERNOCKxiFbNUZeup2HT+I86c7q+8tc4HuXhwZiB9gbl5jgT9qqHEJgM00FRPET3RYpL7YIUFRkIiX95pUoytQl.vt9rOb0gbdD9ksZexO1n9om07jGePi1WRBThlAQJ5CBiBUP0uGLQxYIRNa6sOyeDmLf4U4Lu.QHsDzo.II7dTfQjJcYGsOLRZv8GuF8jC0YLiCEHpfHcHUpXZRz4.5EPOi3hd4wGPCelRLDJ+OIIB4by23.+ESC5iqMZ5heq1yY9p9SELpVeJqW+osq9iKpE+V3PtO8EShAKzfiQysSPSbJrAF4wI4y19+Ta++8vgeAbzsjT38ftxMxpz+pwr.zzQ3GEPTo6Doa+ln.RWSU9WWMmGxTiraO+Nq8zUEhqiawTd8mMFWYFXDRIdefwjl5eLtQ2tPsto.bUbye98SGba2+Ewt+N3NJnh6.FuWR0TCFJfGW3+cwrUCuxyVAYb5R1cX+t019qZ6GAbjLsz+rlwU6MPDwS4qDj2lND5j.WyV1rVs1senTDMLqUqUyjTbpDJ3CTgcLdBmBbsxNFqKEggcgvwbVg1pZEI6o4poRZSufJCSKCFDBtu4bnen9sqV9SB00mTLuiHJI6E1613kxmRL2wv.ml0UxrtZl0alY8VYVucl06jY8tSWGSnGQFpyLtCdRM2NwkbekNN27p0wANvVDfBr149rdSbVrD6ojmP6FnYMg8043yqd0d7M+o6+eP4zTS6meLF6vz2NM3W.OSAIwIDGP6RhBTikltjwQBtXXeAm4k9QAjj2qGUZi8YFP6oTvaxoRtas1vrgjPqW0eYsGCCASjoeq+FwEUt5bw7tu9bbLbc004beat2tVSylaKwbWoVhuyw6h2d7Zk5tcRiR23gK+v9d9VXSocWcm3+qfZaQjB5vNtK25PqvNP6eOpcCw0zMYiWWd7vscnbeyh+A9IQYkI+SD.kUxnrpskUynbSaK2LixsrsbqLJ211xsynbGaK2Iixcssb2wJQdiCbfhS9aymDwIGkqazYlKM.lhHv9AXHLRjl.uI17obPnEwTepmGYQLs.NLRB4RvmeZAr9FX3y2PWjwQqtbbzkiiZON55Xw4BZEfoz0uzstxNM5ZW2Sitb5zOjmNs5xoSWNc5xoSWNc5xoSWNc5bmNMSt.dl4Bq7VkKfFP7jhy7h+tSzb7ZFI.R4lud473izqcm7kjfwkKUFM.lH3LOOc4luFximsMUW.a1bArYqEvlsW.a1YArY2EvluYt1nGFauHkXPbqHPPqFwIWNMljbkC8ubItN6.
-
@d-healey thanks I will take a look - so yes I am reverting to using multiple Audiowaveform widgets - one for each of the 32 samplers....
-
@d-healey Okay well all Im getting is:
Interface:! Line 23, column 21: Unknown function 'get'
..after I try and drop in a couple of samples...
-
@d-healey said in AudioWaveform - callback:
You can use a sliderpack to store/restore the start/end values.
The problem with this is - the f***ng AudioWaveform control doesnt fire its callback - so I have no way of knowing when the start and end values have changed!!! Grrr.>>!!!!!!
-
@Lindon Where are you dropping in the samples?
-
@d-healey said in AudioWaveform - callback:
@Lindon Where are you dropping in the samples?
on the audiowaveform...
-
@Lindon That snippet I made is grabbing samples from the sampler's sample map, so I don't expect it would work when using the drag/drop thing.