• FFW

    The USB device is maybe not yet available when your service start.
    Try to add alsa as a requirement

    [Unit]
    Description=My PureData service
    
    [Service]
    Type=simple
    LimitNOFILE=1000000
    ExecStart=/usr/bin/puredata -nogui  -open /home/pi/mypatch.pd
    WorkingDirectory=/home/pi
    User=pi
    Group=pi
    Restart=always
    # Restart service after 10 seconds if service crashes
    RestartSec=10
    # Alsa must have restored cards state
    Requires=alsa-restore.service
    
    [Install]
    WantedBy=multi-user.target
    

    posted in technical issues read more
  • FFW

    Hi,
    with this [line] it goes back to 0 in 500ms:
    Capture d’écran_2022-11-14_23-11-45.png

    posted in technical issues read more
  • FFW

    Hi,

    1. Try to search "mp3" on the forum: https://forum.pdpatchrepo.info/search/mp3?in=titlesposts&sortBy=timestamp&sortDirection=desc&showAs=posts

    2. RPi has RAM and SD card. Until you create a tmpfs for your documents they're stored in the card.

    posted in technical issues read more
  • FFW

    @KMETE
    No idea, may another program use the sound card ?
    Try to stop the service before ask for status, it could give more info.

    posted in technical issues read more
  • FFW

    @KMETE
    /usr/bin/puredata is the good path

    You write the Description= line in the [Unit] one, insert a line break.

    posted in technical issues read more
  • FFW

    @KMETE yes, in the ExecStart line

    [Unit]
    Description=My PureData service
    
    [Service]
    Type=simple
    LimitNOFILE=1000000
    ExecStart=/usr/bin/puredata -nogui  -open /home/pi/mypatch.pd
    WorkingDirectory=/home/pi
    User=pi
    Group=pi
    Restart=always
    # Restart service after 10 seconds if service crashes
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
    
    

    posted in technical issues read more
  • FFW

    @KMETE
    /usr/bin/puredata is the path to the executable, you can check it with

    whereis puredata
    

    WorkingDirectory is not used by PD but it's good to point to a user writable place.

    -nogui is mandatory (I just test) as the systemctl process has no right on X server to start a GUI

    You can see information about failure with

    sudo systemctl stop my_puredata.service
    sudo systemctl status my_puredata.service
    

    posted in technical issues read more
  • FFW

    With systemd you don't need to open a user session. It saves resource and help to keep puredata reactive.

    NB : I think you can't launch a GUI with systemd as the X server may not be launched when the service starts.
    so you have to append the -nogui option to the ExecStart line.

    $ pd -help
    […]
    -nogui           -- suppress starting the GUI
    […]
    

    posted in technical issues read more
  • FFW

    Hi,
    Ideally you should write a systemd config file and let the system restart your patch when needed

    Create a new service with
    sudo systemctl edit --force --full my_puredata.service

    paste this code and customize it

    [Unit]
    Description=My PureData service
    
    [Service]
    Type=simple
    LimitNOFILE=1000000
    ExecStart=/usr/bin/puredata -open /home/pi/mypatch.pd
    WorkingDirectory=/home/pi
    User=pi
    Group=pi
    Restart=always
    # Restart service after 10 seconds if service crashes
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
    

    then run
    sudo systemctl enable my_puredata.service to enable autorun at rpi start
    and
    sudo systemctl start my_puredata.service to launch it just now

    posted in technical issues read more
  • FFW

    Hi, Today I push my first usable PDParser.py here: https://github.com/FlachyJoe/FCPDWorkbench/tree/main/dev_tools/python
    It still leaks some implementation for floatatom, signalatom and array but it works with simplest patches.

    This is the work of pd-beautician.py, left input results in right autogenerated GUI:
    Capture d’écran_2022-10-22_15-19-53.png
    Capture d’écran_2022-10-22_17-03-16.png

    posted in Off topic read more
  • FFW

    +1 for git
    If you better like GUI I recommend Git-Cola.
    That's what a git history for a pd file can look : https://github.com/FlachyJoe/FCPDWorkbench/blame/main/pure-data/pdlib/fc_client.pd

    NB : pd files are quite touchy with cosmetics as object move and reorder (delete and recreate or cut/paste) change the text source without change for algorithm.

    posted in technical issues read more
  • FFW

    If you don't need PD for anything else you maybe use something lighter.
    See https://stackoverflow.com/questions/28137559/can-someone-explain-wavwave-file-headers to know your file header size, replace 44 below if needed.
    hexdump --skip 44 --no-squeezing --format '2/2 "%3d "' 'file.wav' show decimal signed int

    posted in technical issues read more
  • FFW

    Some file format description if someone need it:
    https://www.huygens-fokker.org/scala/scl_format.html

    posted in technical issues read more
  • FFW

    Hi,
    combine the message first
    Capture d’écran_2022-06-30_13-42-54.png

    posted in technical issues read more
  • FFW

    Hi,

    sudo apt install gem
    

    do the stuff.

    posted in technical issues read more
  • FFW

    Hi,
    next step is learning abstractions and [send] and [receive] usage.

    Here is your path unknotted.
    adding-together_FJ.pd

    posted in patch~ read more
  • FFW

    @whale-av Thank you.
    I think the GUI has to be created once and saved, it doesn't need dynamic patching. That's why I like python.

    Doesn't exist a python module to parse pd files ?

    posted in Off topic read more
  • FFW

    Hi,
    does anybody know a solution to auto generate an on-parent-gui for abstractions ?

    My first idea is to python-parse the pd file to find the nearest comment for each in/outlets in order to create the gui.

    Capture d’écran_2022-04-19_11-48-01.png

    How can I show creation arguments in the canvas label ?
    Another question is the icon integration : which object to use ? how to deal with size and placement ?

    posted in Off topic read more
Internal error.

Oops! Looks like something went wrong!