Code Monkey home page Code Monkey logo

Comments (3)

AshleyF avatar AshleyF commented on May 15, 2024

The core runtime, along with ROS bridge and (Python) interop is .NET Standard, and so is supported on MacOS X as well as Linux and Windows. The major areas of componentry (e.g. imaging, media, speech, ...) also have cross-plat assemblies at least for standard message types, but then each have platform-specific components (. Sadly, MacOS lags behind here. We've tried to be consistent in the naming of projects with .Windows or .Linux suffixes when things are platform-specific. Projects with no such suffix are cross-plat and should work on Mac.

For example, Microsoft.Psi.Imaging contains the base Image/EncodedImage, PixelFormat, ImagePool and other types, while Microsoft.Psi.Imaging.Linux/.Windows contains encoders for specific platforms. Notice, a MacOS-specific implementation is missing. That's the main limitation of \psi on Mac; gaps in component-level implementations. We welcome contributions here!

FWIW, my personal arrangement is VS Code on a MacBook for development. I run PsiStudio (which is Windows-only) in Parallels which works great. A lot of my work happens to be from recorded stores (gathered from deployed Linux/Windows systems) and so, not having source/sensor components for the Mac itself hasn't been much of an issue. Totally depends on your scenario.

Hope this helps!

from psi.

profwillie avatar profwillie commented on May 15, 2024

This helped a lot. Similar to your setup, we are using a Windows system to record data from sensors to a data store. Then on Macs, we can replay the data just fine.

One thing that took me a little while to figure out was the right types of projects to have in my solution. Here is what I ended up with:

  • .Net Framework project that contains the Windows-specific code and can reference the .Net Standard projects
  • Many .Net Standard projects for the different components that are platform independent
  • 1 .Net Core Console project used to test the .Net Standard projects.

Is this a reasonable setup?

from psi.

AshleyF avatar AshleyF commented on May 15, 2024

That sounds like a totally reasonable setup; very similar to what we do. Glad it’s working for you!

from psi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.