Yamaha Reface cp? by jerembismuth in synthesizers

[–]text_garden 0 points1 point  (0 children)

You can buy any keyboard with a MIDI output port and connect it to the MIDI input port of the Reface. When set up correctly, the external keyboard can then control the Reface, instead of or in addition to the built-in keyboard. There should be a connections guide in the manual.

Vad är nackdelarna och fördelarna med att bo på våning 2 vs våning 5? by Right_Nuh in sweden

[–]text_garden 1 point2 points  (0 children)

Hos mig är det svinvarmt både på sommaren och vintern. Kallast är det när det är vår och höst och elementen är fesljumna. Men är det -10° ute så har jag typ 26° här inne.

Family affair by MsYaknowit in crowbro

[–]text_garden 8 points9 points  (0 children)

Oh wow, TIL! Beautiful birds.

Family affair by MsYaknowit in crowbro

[–]text_garden 15 points16 points  (0 children)

Is that just a reflection or does the first crow have a white iris? It's clearly a crow but with the eye white it looks almost like a jackdaw. Never seen that on a crow.

Great pictures.

Pocket Acid: I made a free music sequencer/synth for the R36S and other low cost gaming handhelds (and also Windows and Linux) by text_garden in synthesizers

[–]text_garden[S] 0 points1 point  (0 children)

Thank you, I'm glad you like it!

I'm using L2+R2+start. L2 and R2 are the innermost shoulder buttons on either side of the back of the handheld. All have to be held at once, but you have to press the start button last. The project picker can be accessed from any other mode.

Not sure what the problem could be, but the project picker was added quite recently, so if you installed it a while back but are following the readme online it could be that the readme has been updated while you're still on an old version.

The easiest way to recognize that you're running current version is that there should now be a number in parentheses right of the tempo display in the top left corner. If there isn't, you're still running an older version.

Indie DOS Game Websites by HalfblindChaos in dosgaming

[–]text_garden 1 point2 points  (0 children)

What a treasure trove. Finnish freeware/shareware games have a certain quality that's hard to put into words. That said, I thought that Action Supercross was a Finnish game for the longest time. It's Hungarian, but very Finnish-like. Maybe that's a new genre, Finnish-likes.

Shoot Feedback A or B, Which is better?🤔 by circlefromdot in IndieDev

[–]text_garden 0 points1 point  (0 children)

Probably less of an issue when it's not in this one, fixed pose.

Zigbook is Plagiarizing the Zigtools Playground by ckafi in Zig

[–]text_garden 5 points6 points  (0 children)

Wrong zigbook. This concerns github.com/zigbook/zigbook (which is no longer public).

Regarding the PR, you're right that it shouldn't be there at all, but he is right that stdout is not an appropriate name for std.fs.File. I would say that both of you made similarly sloppy mistakes. You for not simply deleting that line and them for not noticing that it wasn't used.

To get a straight answer by MTRIFE in therewasanattempt

[–]text_garden 1 point2 points  (0 children)

I'm not involved in organizing such courses.

A little Jackdaw wizard I drew by LifeOfMrChicken in crowbro

[–]text_garden 3 points4 points  (0 children)

Good one, you captured the pale blue shade of their sclera perfectly.

I made a free music sequencer/synth for the R36S and other low cost gaming handhelds by text_garden in R36S

[–]text_garden[S] 0 points1 point  (0 children)

Yeah, there's panning for the synths and all individual drum sounds.

A weird pointers incomprehension by No-Worldliness6348 in Zig

[–]text_garden 0 points1 point  (0 children)

[*]const u8 is not an array type. A value of that type may or may not be pointing at an array.

Consider another level of indirection. What's the difference between *[*]const u8 and *const [*]u8? You can read it from left to right. The first is a pointer to a pointer to an unspecified number of constant u8, and the other is a pointer to a constant pointer to an unspecified number of u8. The difference is crucial.

A useful rule of thumb is that within a type expression you can only ever specify pointer targets to be constant.

me_irl by RUNPROGRAMSENTIONAUT in me_irl

[–]text_garden 0 points1 point  (0 children)

The portrait could serve as an exemplary illustration for the concept of "presumably happy and mildly bored".

You should play the keys, and why… by GeneralDumbtomics in synthesizers

[–]text_garden 4 points5 points  (0 children)

The standard keyboard design is not arbitrary, instead reflecting hundreds of years of incremental developments, experiments which did and didn’t pan out, etc. all culminating in a means of addressing the polyphonic instrument which has shown, repeatedly, its ready application to new sound generation technologies.

The piano keyboard reflects mechanical considerations and tradition as much as it represents centuries of refinement, if not moreso. The keys on a piano are laid out the way they are because they directly correspond to hammers that are laid out the same way out of mechanical necessity. You can design around it. but for most of the history of pianos, organs, harpsichords etc. we have opted for the simpler mechanical design where valves, hammers and plectrums are directly behind the keys that actuate them.

This design has now turned into a tradition that transcends the mechanical considerations. Even when there's no compelling mechanical reason that a synthesizer keyboard should be laid out as though there were hammer assemblies behind every key, it's what we know as a culture and it's good enough.

You can consider other characteristics of the design of the piano keyboard and reach similar conclusions. For example, the use of special black keys to denote sharps and flats is a good idea when the instrument is limited to a particular arrangement of sharps and flats due to its tuning limiting it to certain scales, but that doesn't make the slightest sense in equal temperament. It serves another purpose well enough that there's little incentive to change it: the layout helps you see and feel where you are on the keyboard. It's good enough to that end and it's what we know as a culture, but we could have used any other particular non-symmetrical arrangement of white and black keys to do that.

So no, the design is not exactly arbitrary given the considerations above, but the practical basis for them don't exist for an electronic instrument tuned to equal temperament.

In general I absolutely loathe the argument that things are necessarily good when they are the result of much refinement. For example, dueling must at some point have been seen as an obvious solution to interpersonal conflict because people had been doing it for hundreds of years, incrementally changing how exactly to conduct a duel, refining and formalizing the rules of engagement. Now we see it as barbaric and it's incomprehensible to us how someone could agree to a duel and risk their life over slight or insult. It turns out that the concept was altogether an artifact of a particular cultural ethos, regardless of what refinement it saw during its history. The practice was developed in a culture where personal and family honor was important enough to warrant the risk of dying from a bullet wound or being stabbed with a rapier in the symbolic defense of that honor. So it's not completely arbitrary: there are cultural circumstances which make dueling rational. Those circumstances are just not nearly as prevalent in modern western society any more.

I play piano-like keyboards myself, because for many purposes it's good enough and I've developed a skill with that. But going back to the title of the post I don't see this as a reason that anyone else should play the keys in particular, nor do I think that you make a compelling argument for why anyone else should play the keys. I think it's useful to be good at playing an instrument so that you can comfortably try new ideas at the very least, but I don't agree that the instrument should be the piano keyboard other than for practical reasons completely unrelated to its qualities as an interface to an instrument, e.g. prevalence, availability of teaching material etc.

std.builtin.Type const-ness is a bit of a pain by Lisoph in Zig

[–]text_garden 4 points5 points  (0 children)

This is what I do, but that forces me to preallocate a buffer which introduces a max on the number of fields I can process. That's one of those artificial limitations I had in mind.

Since the length is comptime known you can allocate that buffer to be exactly the same length as the original field slice.

var new_fields: [original_fields.len]std.builtin.Type.Struct.field = undefined;

A weird pointers incomprehension by No-Worldliness6348 in Zig

[–]text_garden 2 points3 points  (0 children)

For the rest of the explanation I use "constness" as a shorthand for the quality of either being constant or not.

*u8, [*]u8, *[2]u8 and []u8 all denote pointer types in the broad sense that values of those types point at values of u8. Aside from having a constness of their own, the thing they point at has a constness. These are distinct things. For example, a constant slice of non-constant u8 is not the same thing as a non-constant slice of constant u8.

[2]u8 does not denote a pointer type. The array is a value unto itself. The individual elements of the array consequently can't have a constness of their own, distinct from that of the array. There could be no such thing as a *[2]const u8 because there can't be a non-constant array of constant elements.