Giter Club home page Giter Club logo

msdpfs's Introduction

msdpfs

msdpfs is a Max 7 (Cycling74) external used by Music_SDP (source) for basic file services cp, exists, mkdir, and rm. Environment variables can also be looked up via env. Quickstart below provides step-by-step instructions for MacOS and Windows to compile, link, and install this external for Max 7. It uses Cycling74's max-devkit for C++ and CMake for build automation.

For your convenience, pre-compiled binaries are also available in the project Releases menubar. Add them to your Max 7 file path via the Options, File Preferences... menu.

Using the msdpfs external whether you install the pre-compiled binary or build it via the Quickstart below is simple -- add a [msdpfs] object to your patcher, then connect message objects with the appropriate argument symbols for your desired result. Refer to the project help patcher for examples of each of the behaviors for MacOS and Windows -- here's a screenshot.

msdpfs usage

msdpfs Behaviors/Rules:

Everything supports native MacOS/Windows and Max 7 path-oriented naming conventions.

  • cp - copy a file from source to destination with override
  • env - look up environment variable if defined
  • exists - check to see if a file or directory exists
  • mkdir - create a new directory where it doesn't exist
  • rm - delete file or directory if allowed and it exists

All msdpfs requests respond to message input, sending 1 for success, and 0 for failure as object output, with failure details sent to the Max Console.

Quickstart:

Complete the following steps for your preferred MacOS or Windows platform.

MacOS:

Build and install a MacOS compatible 64-bit external as follows:

  • download and install the latest version of Xcode along with the CLI tools from the Apple App Store
  • download and install CMake binary for MacOS, then run it and click on the Tools menu, then click the How to Install For Command Line Use submenu and follow along to expose from the shell/teminal
  • clone/download Cycling74 max-devkit, untar if downloaded, rename resulting directory to "max-devkit"
  • clone/download Cycling74 max-api subproject, untar if downloaded, rename it as "max-api", and move it to the max-devkit\source directory
  • change directory to max-devkit
  • create build directory: mkdir build
  • add this repo to the source projects directory: cd ../source/projects, clone/download this project, untar if downloaded, rename resulting directory to "msdpfs"
  • return to the build directory and build the external binary: cd ../../build and cmake .. && cmake --build .
  • add max-devkit directory to your Max 7 path via Options, File Preferences... menu
  • test the external with the included msdpfs help patcher msdpfs.maxhelp

Windows:

Build and install a Windows compatible 64-bit external as follows:

  • download and install the latest free version of Visual Studio Community
  • download and install CMake binary for Windows
  • clone/download Cycling74 max-devkit, untar if downloaded, rename resulting directory to "max-devkit"
  • clone/download Cycling74 max-api subproject, untar if downloaded, rename it as "max-api", and move it to the max-devkit\source directory
  • change directory to max-devkit
  • create build directory: mkdir build
  • add this repo to the source projects directory: cd ../source/projects, clone/download this project, unzip if downloaded, rename resulting directory to "msdpfs"
  • return to the build directory and build the external binary:
     cd ../../build
     cmake -G "Visual Studio 15 2017 Win64" -DWIN64:Bool=True  ..
     cmake --build . --config Release
  • add max-devkit directory to your Max 7 path via Options, File Preferences... menu
  • test the external with the included msdpfs help patcher msdpfs.maxhelp

ToDo:

Unprioritized toDo items:

  • security/vulnerability/reliability peer review, and more peer review
  • verify general/edge file I/O behaviors
  • enhance msdpfs help patcher, refactor other UX aspects based on feedback

--

Feel free to submit issues or pull requests for this project through the associated tabs above. Feedback/suggestions is also greatly appreciated.

[[[[Enjoy!]joy!]oy!]!]

msdpfs's People

Contributors

dirkleas avatar

Watchers

 avatar

msdpfs's Issues

example patcher for README.md

Add a screenshot of a sample patch using the msdpfs Max/MSP external like the following from the project help patcher.

image

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.