a choice between int and float types signed and unsigned without conversion is what you need
Many scripting languages have a single number type. The only "problem" with Pd is that this number type is a float and not a double, so it's easy to run into precision issues. But for bytes, a float is large enough ;-) Yes, you waste some space, but who cares?

Also, you can create multidimensional arrays with data structures, if you really need it (yes, it is awkward, but it is certainly possible). On the other hand, if all subarrays are the same size, it is trivial to embed them in a single flat array...

Apart from that, a MIDI file parser is not something you would typically write in a visual programming language. That's why we have a C external for that ;-)

Christof

On 26.10.2020 13:56, Josh Moore wrote:
I think it comes down to PD's horrible selection of array types. Having arrays with multi dimensions that can be a choice between int and float types signed and unsigned without conversion is what you need otherwise you will run into this wall all over the place and you're looking at a c compiler or interpreted language external to make what exists in almost every other language (ie make 16 arrays with 127 dimensions for each note with byte alignment containing n points or whatever) as three lines of code doable on a system that has only 2d arrays and float types.

On Mon, Oct 26, 2020, 4:12 AM Christof Ressi <[email protected] <mailto:[email protected]>> wrote:

    I agree that we really need a way to read/write binary data. I
    have already thought about doing a PR to add such functionality to
    graphical arrays. It would be as simple as adding a flag to the
    [read( and [write( methods.

    In theory, it would be possible then to implement a MIDI file
    reader/writer as a Pd abstraction. But to be honest, I think only
    a masochist would do that :-)

    On the other hand, mrpeach's [midifile] has always served me well
    and it's one of those things that don't really get obsolete. So I
    don't think that Pd really needs built-in MIDI file support. After
    all, even a kitchen-sink language like Supercollider doesn't come
    with built-in MIDI file support.

    Christof

    On 26.10.2020 11:11, Roman Haefeli wrote:
    On Mon, 2020-10-26 at 03:32 -0300, Alexandre Torres Porres wrote:

    It feels to me Vanilla should be able to read/write MIDI files, but I
    wonder how. Any ideas on how this could work in a "vanilla way"
    (light and simple)?
    To use Miller's words from another thread, I think reading/writing MIDI
    files would be an application for which the infrastructure is still
    missing: reading from/writing to binary files (unless I missed some
    recent development).

    Both would be cool, accessing them from disk directly and load/dump
    them to/from tables.

    Roman

    _______________________________________________
    [email protected]  <mailto:[email protected]>  mailing list
    UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list 
 <https://lists.puredata.info/listinfo/pd-list>
    _______________________________________________
    [email protected] <mailto:[email protected]> mailing list
    UNSUBSCRIBE and account-management ->
    https://lists.puredata.info/listinfo/pd-list
    <https://lists.puredata.info/listinfo/pd-list>

_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to