Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 07:59

    jcelerier on antialiasing

    [wip] try to understand how to … (compare)

  • Jun 23 09:52
    rblard opened #1415
  • Jun 23 07:45

    jcelerier on master

    [ui] Trim filenames before pass… (compare)

  • Jun 21 13:34
    RobinMontferme edited #258
  • Jun 21 13:28
    jcelerier commented #327
  • Jun 21 12:32

    jcelerier on master

    [ui] Fix nodes positions when c… (compare)

  • Jun 21 08:17

    jcelerier on master

    [ci] Try to fix build on more p… (compare)

  • Jun 20 21:46

    jcelerier on master

    [ci] Try to fix build on more p… (compare)

  • Jun 20 12:27

    jcelerier on master

    [ci] Header guard for <version> (compare)

  • Jun 20 10:03

    jcelerier on master

    [ci] Missing includes (compare)

  • Jun 20 10:03

    jcelerier on master

    [ci] Missing includes (compare)

  • Jun 20 09:34

    jcelerier on master

    [ci] Update with submodules (compare)

  • Jun 19 20:22

    jcelerier on master

    [ci] Fix avnd build (compare)

  • Jun 19 20:05

    jcelerier on master

    [ci] Fix build on older systems (compare)

  • Jun 19 15:54

    jcelerier on master

    [ui] Allow keyboard navigation … [smooth] Implement a continuous… [ui] Allow to create a process … (compare)

  • Jun 18 22:35

    jcelerier on master

    [file] Improve and extend and d… (compare)

  • Jun 18 14:29

    jcelerier on master

    [library] Try using llfio to sp… [ci] Missing includes when no p… [avnd] Support for MIDI and raw… (compare)

  • Jun 17 09:07

    jcelerier on llfio

    [library] Try using llfio to sp… (compare)

  • Jun 16 14:29

    jcelerier on inspector-slider

    (compare)

  • Jun 16 14:29

    jcelerier on master

    [ui] added spin boxes to certai… (compare)

Jean-Michaël Celerier
@jcelerier
huuu that is weird, the gradient should be extremely light cpu-wise
Jean-Michaël Celerier
@jcelerier
you're on mac ?
i suspect it's more a "drawing the ui" thing
oh that could be it, I remember some performance issues with macOS's GUI colorspace conversion at some point, maybe it's more costly with the gradient for some reason
at worst if you don't need the ui during playback maybe you can run in command-line mode

e.g. once you have your score:

  ./score yourfile.score --autoplay --no-gui

here with an OSC gradient running at a 5ms interval it does not even register, it shows me 0.0% of CPU lol

(versus ~8-10% when the UI is shown but it's linux, not macos, graphics stack is different, yada yada)
dns
@scheiba:matrix.org
[m]
takes around 50% when spawned headless
Jean-Michaël Celerier
@jcelerier
Hmm definitely not normal. If you can send me a score and your OS info I'll try to investigate
(but before that... Sleep 😅 good night !)
dns
@scheiba:matrix.org
[m]
the version I am using is the official 3.0.10 on a mbp 16.1 i9 with 32gb ram on macos 12.3.1 - maybe I can make a debug build and monitor it with xcode, that can maybe tell where the cpu cycles go.
have a good sleep and thanks for all your help :)
Jean-Michaël Celerier
@jcelerier
oh if you know how to use instruments then that would be extremely useful
I think that you can just do it with the official release, normally there should be at least the function names which is good enough to have a good idea of what goes wrong in this case, especially in the headless case
dns
@scheiba:matrix.org
[m]
Oh, I did not know this tool before, super handy! I made a report for about 10s while running, so w/o the setup and headless, only a color automation, its 50mb big. How should I get this to you? Would prefer to not have this public in the internet
6.48 Mc 75.4% 6.40 Mc void std::1::thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ossia::executor::executor()::'lambda'()> >(void)
Seems to be where the CPU cycles go
Ok, if I disable parallel execution the cpu usage goes down to 2%
Jean-Michaël Celerier
@jcelerier
ahhhh yes
parallel basically busy-waits on threads to make sure they stay scheduled
but I could maybe implement the exponential algorithm there: https://timur.audio/using-locks-in-real-time-audio-processing-safely
if you don't have 15 long VST chains running in different tracks parallel executionis likely not worth it
dns
@scheiba:matrix.org
[m]
Na, I don't use any audio processing within score right now
dns
@scheiba:matrix.org
[m]
Wow, just made a test run and now barely hit 200% cpu with OF, SC and score running :) runs really smooth now :)
Jean-Michaël Celerier
@jcelerier
ah, this is reassuring aha
1Tomber
@1Tomber
Hej there, highest praise for the project! Great piece of software! :D
Got a little problem starting to use Javascript. I'm doing the following in 3.0.11: Create OSC Device default settings, create a child of float OSC:/test, dragging a Javascript process onto the first Node or Interval. Now dragging over the OSC:/test onto the ValueInlet in the GUI, the Inputs-Address Textfield gets populated correctly with OSC:/test. In the default JS code I move the line console.log(in1.value); above the if clause. In Message Log getting Debug: undefined (:8). - in1 show as JS:ValueInlet(ox1d...) (:8).
1Tomber
@1Tomber
putting a cable from a float Automation works like a charm.
Jean-Michaël Celerier
@jcelerier
Welcome @1Tomber ! @thibaudk if you have a minute to help ?I'm currently knee deep in some zoom setup for tomorrow's conference at the scriem
Thibaud Keller
@thibaudk
ok @jcelerier, Hi @1Tomber, welcome ! can you please share your score for me to attempt a fix ?
1Tomber
@1Tomber
Hej @jcelerier and @thibaudk thanks for the swift help! Here the most basic reproduction
Thibaud Keller
@thibaudk
Hey @1Tomber your script is working fine
the if statement id here to filter out undefined values
that is why you get a lot of these when you move the console log out of it
So just keep everything inside the if statement and you should be good to go ?
Maybe I am missing something in your question ?
1Tomber
@1Tomber
Thibaud Keller
@thibaudk
Also, the "Scripting" entry in the the documentation migt interest you
1Tomber
@1Tomber
@thibaudk hmm, it shouldn't give me undefined but rather 0.1 as a value for OSC:/test
the second score I posted it simply the basic umodified JS with OSC:/test as input and OSC:/test2 as output, but the output is never generated, so OSC:/test must be unidentified or nor handled correctly as an input
Thibaud Keller
@thibaudk
The new value of OSC:/test2 is generated for every new value of OSC/:test
just tested, I can confirm
now let me test with a ControlInlet instead
Yes Maybe you want to Change ValueInlet for ControlInlet
Thibaud Keller
@thibaudk
Your current code using ValueInlet will only output when a new value of OSC:/test is set
changing to ControlInlet (and re-setting it's port to listen to OSC:/test) you will see a continuous output
I gess ControlInlet is not referenced in the documentation https://ossia.io/score-docs/processes/javascript.html
And it may be a little confusing to see it appear as a slider
Thibaud Keller
@thibaudk
Do you get the output you are looking for now ?
1Tomber
@1Tomber
ah I see! I thought the osc value is continuously send to the inlet! only on changes, got it! will be back at the workstation in a couple of hours and will report back about my use case and the use of controlinlet. Thanks so far for clarifying 🙌