Re: PixelPerfectEngine v0.10.0-beta.5 : Now with a synth

2022-02-25 Thread solidstate1991 via Digitalmars-d-announce

On Thursday, 24 February 2022 at 17:36:49 UTC, Salih Dincer wrote:
On Thursday, 24 February 2022 at 13:15:50 UTC, Salih Dincer 
wrote:

Is there anything I can do for this problem?



I solved it using the following commands having two parts:

* sudo apt-get -y install libasound2-dev
* dub build :windowmakerforconcrete --compiler=ldc2 --force


`:test1` will give you access to the synth's tester app 
(currently have a very limited set of features only). Also you 
might want to check out my editor for the engine, called 
"PixelPerfectEditor".


Re: PixelPerfectEngine v0.10.0-beta.5 : Now with a synth

2022-02-24 Thread Salih Dincer via Digitalmars-d-announce

On Thursday, 24 February 2022 at 13:15:50 UTC, Salih Dincer wrote:

Is there anything I can do for this problem?



I solved it using the following commands having two parts:

* sudo apt-get -y install libasound2-dev
* dub build :windowmakerforconcrete --compiler=ldc2 --force




Re: PixelPerfectEngine v0.10.0-beta.5 : Now with a synth

2022-02-24 Thread Salih Dincer via Digitalmars-d-announce

On Wednesday, 23 February 2022 at 21:20:53 UTC, WebFreak001 wrote:
On Wednesday, 23 February 2022 at 21:07:25 UTC, solidstate1991 
wrote:

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.10.0-beta.5

After I created my own IO library that has audio features that 
are easier to interoperate with D code (iota), I decided to 
finish up my phase modulation (often sold as either frequency 
modulation or phase distortion too by some brands, with minor 
tweaks to the underlying math to avoid patent infringement) 
synthesizer for my game engine. This one uses a simplified 
math with fixed-length wavetables (can be user supplied too), 
highly configurable envelops, and has up to 16 voice polyphony 
if 2 operator mode is used for all channels (8 if channels are 
combined). It can even do resonant waveforms with some tricks 
(modulating a sine wave with a triangle wave).


[...]


nice! Any example to play around with?


There are some errors during linking (I think sound related):

My computer configurations:
* Debian GNU 11
* Linux Kernel 5.10.0-11-amd64
* dub-1.22.0
* LLVM D compiler (1.24.0) based on DMD v2.094.1
* gcc (Debian 10.2.1-6) 10.2.1 20210110

pixelperfectengine:windowmakerforconcrete ~master: building 
configuration "application"...

Linking...
/usr/bin/ld.gold: error: cannot find -lasound
device.d:97: error: undefined reference to 'snd_card_next'
[...]
alsa.d:220: error: undefined reference to 'snd_pcm_drain'
linux.d:227: error: undefined reference to 
'snd_lib_error_set_handler'

collect2: error: ld returned 1 exit status
Error: /usr/bin/cc failed with status: 1
ldc2 failed with exit code 1.


Is there anything I can do for this problem?

SDB@79


Re: PixelPerfectEngine v0.10.0-beta.5 : Now with a synth

2022-02-23 Thread WebFreak001 via Digitalmars-d-announce
On Wednesday, 23 February 2022 at 21:07:25 UTC, solidstate1991 
wrote:

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.10.0-beta.5

After I created my own IO library that has audio features that 
are easier to interoperate with D code (iota), I decided to 
finish up my phase modulation (often sold as either frequency 
modulation or phase distortion too by some brands, with minor 
tweaks to the underlying math to avoid patent infringement) 
synthesizer for my game engine. This one uses a simplified math 
with fixed-length wavetables (can be user supplied too), highly 
configurable envelops, and has up to 16 voice polyphony if 2 
operator mode is used for all channels (8 if channels are 
combined). It can even do resonant waveforms with some tricks 
(modulating a sine wave with a triangle wave).


[...]


nice! Any example to play around with?


PixelPerfectEngine v0.10.0-beta.5 : Now with a synth

2022-02-23 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.10.0-beta.5

After I created my own IO library that has audio features that 
are easier to interoperate with D code (iota), I decided to 
finish up my phase modulation (often sold as either frequency 
modulation or phase distortion too by some brands, with minor 
tweaks to the underlying math to avoid patent infringement) 
synthesizer for my game engine. This one uses a simplified math 
with fixed-length wavetables (can be user supplied too), highly 
configurable envelops, and has up to 16 voice polyphony if 2 
operator mode is used for all channels (8 if channels are 
combined). It can even do resonant waveforms with some tricks 
(modulating a sine wave with a triangle wave).


Why write a synth when you can just play MP3 and WAV files?

1) The very same teacher whose class I made the original (and 
very bad) version of the engine for just suggested this to me at 
the time.
2) Seemed like an easy undertaking, and in some ways it was, 
except for the fact I needed to work on multiple things too. 
Hardest was the finetuning of the math with this kind of language.
3) This way, adaptive soundtracks are easier to do if I or 
someone else using this engine decides so.


Future plans include more testing and fixing + implementing 
functions I didn't have time for, and porting it to VST too as I 
don't have the capacity to write a fully-featured DAW (someone 
maybe?) with a real polyphonic mode instead of the current 
1-voice-per-channel solution. Maybe I'll even create a more 
upmarket version that is better suited for musicians if there's 
demand.


Also I'm yet again looking for team members on a gamedev team, 
but now I have some experience and I plan to "go commercial" with 
a coop later on.