E
ebai101

  • Nov 2, 2020
  • Joined Jun 11, 2019
  • 7 discussions
  • 26 posts
  • OMG yes! Thank you so much 🙂
    I was looking in all the wrong places, but your answer helped me shift my focus to the actual problem:
    It wasn't really a problem with the serial connection as I had assumed but with the ttymidi.service..
    I had used @ebai101 's build.sh script before. Compiling manually did the Trick!

  • I don' think there's anything newer. You would need to change the submodule used in the repo to something newer. I just rebased that on the most recent dev, and can be found here https://github.com/giuliomoro/Bela/tree/ethan-dev . HOWEVER, this is not what I recommend. What I recommend instead is to use the latest master or dev (i.e.: pointing the submodule to https://github.com/BelaPlatform/Bela/ and then perform the additions detailed in this comment: https://github.com/BelaPlatform/Bela/pull/626#issuecomment-1078907054

    @ebai101 : I cherry-picked some of your commits to dev and then simplified the remaining ones a bit ( you had some additions that were later reverted) and so https://github.com/giuliomoro/Bela/tree/ethan-dev is essentially the upstream dev branch with on top those commits of yours that have not been cherry-picked.

  • Hi Gang,
    I have been using this nice work by @ebai101 [https://github.com/ebai101/Bela] to enable cross compilation in a docker container with VSCode. Been out of the loop for a bit, are there any new tools for cross compilation? This container references an older version of Bela, I suppose there's a way to update that reference if there are no other starting points for cross compilation.

  • @ebai101 ?

    For my part I can say that libbelafull was never a part of the official Bela repo (see here) and if you need it you may need to add something to CustomMakefileTop.in and/or CustomMakefileBottom.in on the board.

    I also recently learned that it's not a good idea to have "regular" C++ classes exposed across a shared library, as different compilers (or different versions of the same compiler) may get confused (see here), so a lot of this stuff is working out of coincidence (or at least luck) at the moment.

  • Hi,
    I have managed to get cross compile working from Win10 using VS-code/Docker according to instructions from @ebai101 here . I'm using the referenced bootstrap from here which uses a clang/llvm toolchain, which originally came from @thetechnobear in his cross-compilation guide here . There is not really any mention of debugging anywhere here.

    So...do I need to use LLDBserver (debugger) to work with the clang/llvm toolchain? has anyone been able to do that? Info seems scarce. Can gdbserver be used with clang/llvm? Or do I need to change the toolchain to gcc so that I can use gdbserver which I have been able to get working before. Any advice on running a remote debug appreciated, thanks.

    • thetechnobear , but I guess those are no more than copying files and launching.

      Actually Pd projects are all built (linked-only, because all the .o files will already be ready), though - unless the provide a custom C++ file - the binaries are all the same. Either way, Bela/scripts/build_project.sh can take care of those.

      ebai101 However, I don't imagine that it's in the Bela dev's best interest to devote a lot of time to supporting a relatively small high-end community, so I think the more community-driven work that can be done in that field, the better.

      yup. The IDE is the pain-free way to getting started. More advanced users can use the scripts, make or any solution they come up with. The existence of the pre-built library is a way to encourage integration in different workflows (see, e.g.: here).
      @ebai101 do you want to add a wiki entry for your VS workflow?

      FWIW: I use vim on the board and make from the command line most of the times.

      thetechnobear (e.g. the fact the make field on the IDE is only 20 chars wide... thats not even enough for an include path 😉 )

      I know right, I just reopened this, which got closed for unclear reasons https://github.com/BelaPlatform/Bela/issues/362

      As always, there is much more to do than there is time available, so ... we do what we can and we very much welcome community contributions 🙂

      • ebai101 However, I don't imagine that it's in the Bela dev's best interest to devote a lot of time to supporting a relatively small high-end community,

        yeah, I totally agree.... I think 'hooks' and a recognition is all we could wish for.
        (e.g. the fact the make field on the IDE is only 20 chars wide... thats not even enough for an include path 😉 )

        BUT... I do agree, perhaps the IDE is not really the right tool for my purpose...

        cross-compiling - yeah, this is something Ive been seriously considered a few time, and recently was thinking about it again - i don't need an ide, but it would I could use my favourite code editor.
        I also like the idea of not having bela running 'extra code' (ide)

        of course bela is open source, so I could be tackling these issues myself and contributing back, but unfortunately it seems whenever I bring out bela... its due to wanting to get something done, so I never invest the time I really should do to make it better (for me and others)

        hmm... will see if I can invest some time in this....
        very tempted with the cross-compiler route (I'm reasonably familiar with this due to axoloti),
        if i do it, I could document the process for others.

        one thing id like to also consider is if/how the new UI (and old 'scope') aspects could be used in this environment...
        perhaps node could run on the local machine?

        anyway, thanks @ebai101 , nice to hear others thoughts and ideas on this topic.

        • @ebai101 virmidi is available on the Bela image, it is part of the kernel as a loadable module, so you should be able to load it with modprobe snd-virmidi, or adding it to /etc/modules.conf, and then you should see the devices when doing amidi -l. Some more documentation can be found here, namely:

          Module snd-virmidi
            ------------------
          
              Module for virtual rawmidi devices.
              This module creates virtual rawmidi devices which communicate
              to the corresponding ALSA sequencer ports.
          
              midi_devs	- MIDI devices # (1-4, default=4)
              
              This module supports multiple cards.