SynthMaker

support for: cmpps xmm1,xmm2,value ?

Archive · 2005 4 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

TheAudiophileDutchman ·

For playing a sample from start to finish (at fixed standard frequency) I use the following functional code:

polyin samplelength; polyin freq; polyout ind; ind=ind+1-((ind>35320)&1); // 'samplelength' instead of 35320 doesn't work

....the SM SSE assembler yields:

polyin samplelength; polyin freq; polyout ind; float F1P0000000000=1.0000000000; float F35320P0000000000=35320.0000000000; movaps xmm0,ind; addps xmm0,F1P0000000000; movaps xmm1,ind; cmpps xmm1,F35320P0000000000,6; movaps xmm2,xmm1; andps xmm2,F1P0000000000; subps xmm0,xmm2; //Assignment> sLeft=xmm0 movaps ind,xmm0;

Being relatively new to SM, I wonder whether it would be possible to use the variable 'samplelength' (instead of a constant value), automatically generating assembly instructions like these:

movaps xmm3,samplelength; cmpps xmm1,xmm3,6; // valid opcode combination in SM?

This would add some flexibility imho, or am I overlooking something here? For instance, is there a better option than 'polyin' for transferring 'samplelength' to the code module (I already tried 'monoin'). [/url]

TheAudiophileDutchman ·

......and here's the schematic:

[old link]

rl ·

if you connect the "Number of Samples per Channel" of the Wave module to the "polyin length" input of your code module through a Int instead of using the "PolyInt to Poly" it works. Strangely a direct connection without the Int does not work. A bug?

TheAudiophileDutchman ·

Indeed, it looks like a bug.... Thanks for the efficient workaround, rl. 🙂

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.