Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Jacob Carlborg via Digitalmars-d-announce

On 2015-11-27 10:53, Guillaume Piolat wrote:


Interesting thanks. That means I should either be using DMD for
everything, or not support OS X 10.6.


I would go with not supporting 10.6. It's a really old version now. BTW, 
would there be a problem of using both DMD and LDC?


--
/Jacob Carlborg


Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Guillaume Piolat via Digitalmars-d-announce

On Friday, 27 November 2015 at 16:29:54 UTC, Jacob Carlborg wrote:

On 2015-11-27 10:53, Guillaume Piolat wrote:


Interesting thanks. That means I should either be using DMD for
everything, or not support OS X 10.6.


I would go with not supporting 10.6. It's a really old version 
now. BTW, would there be a problem of using both DMD and LDC?


Not sure what do you mean.
Past 10.7, you can use any (provided you avoid TLS).
Currently I use LDC for 64-bit, DMD for 32-bit, also because LDC 
used to have a bug in 32-bit codegen (fixed since then).


Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Jonny via Digitalmars-d-announce
On Thursday, 26 November 2015 at 15:48:48 UTC, Guillaume Piolat 
wrote:
OT: Readers of this NG probably know me under the name "ponce", 
however over the year I was made aware that it's an english 
swear word so I'll post under my IRL name from now on.


I'm happy to release my first commercial software, it's a voice 
effect designed for singers, follows the VST 2.x format, and is 
made entirely with D (LDC 0.16.0 for OSX 64-bit, DMD 2.069.0 
for the rest).


http://www.auburnsounds.com/products/Graillon.html

Using D has been an interesting ride, even for a long-time 
user, but it went better than expected.


I don't really have a point to prove, but I'm really tired with 
people arguing that a language with GC can't possibly do 
real-time. It's not like you are unallowed to optimize.


I've only ever worked in real-time systems. All of those, 
except for one with 32kB of RAM, could have afforded a GC.
Actually very, very few development time was allocated to deal 
with the GC, if any.


If you want to make audio effects with D too, this one uses 
"dplug" which was announced already: 
https://github.com/p0nce/dplug


Thanks for reading.


You have no idea what you are talking about! It is mentalities 
like yours that cause headaches for musicians and engineers who 
work with RT audio.


Do you realize that even 5 ms of jitter can be felt by the 
listener and musician as being off? 5 ms of latency can be felt 
and 20ms is unacceptable.


Now lets say you have 10 plugins being used, all with independent 
GC's doing their thing. You think it doesn't matter because you 
did some test in some controlled environment and it "worked" 
given your set of assumptions and hypothesis.


Yet, when your product gets out in the real world, you will cause 
enough grief that instead of helping the community you will hurt 
it.


What if someone wants to use your plugin live? You think it is 
acceptable to have latency and jitter? What about glitches 
because your GC decides to run at the same time as all the other 
GC's?


But keep on dictating how great GC's are for real time audio!

I do commend you for doing a plugin in D, but basically your 
logic is "It's ok to point a gun at people and pull the trigger 
as long as it's not loaded"(and we all know that it turns out in 
the long run).


If you spend 10 hrs a day working in a DAW with thousands of 
VST's you'd have more of an appreciation of RT audio and design.





Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Friday, 27 November 2015 at 16:54:11 UTC, Guillaume Piolat 
wrote:
Exactly, that's like all the talk about "scaling" or "big data" 
on the Internet. Problems we wish we had.


All commercial websites can benefit from automatic scaling, load 
balancing and fully managed systems:


1. You get rid of the maintenance cost.

2. You can survive a DoS attack, or diminish impact of it.

3. You don't have to redesign the entire infrastructure as an 
emergency operation when you cross what you can run on a single 
server/database.


4. Solutions for scaling usually also includes reliability and 
data replication.


"big data" is often about being able to do things you could not 
do before.  Like log analysis. Which is relevant in some trivial 
domains, like multi-user games, where a single participant can 
generate a lot of data... I.e. try to figure out what game 
mechanics/levels works/don't work quantitatively. But yes, "big 
data" is probably overrated, although it can allow new ways of 
figuring out how to improve a system.


Your application looks cool, but I don't quite understand what 
kind of dynamic allocations you need after init?


Seems like you can afford to run all the audio on a OS-level real 
time thread. That is way different than a very computationally 
expensive application where you stream from a regular thread to a 
hard real time thread.




Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Radu via Digitalmars-d-announce

On Friday, 27 November 2015 at 17:12:05 UTC, Jonny wrote:
On Thursday, 26 November 2015 at 15:48:48 UTC, Guillaume Piolat 
wrote:

[...]


You have no idea what you are talking about! It is mentalities 
like yours that cause headaches for musicians and engineers who 
work with RT audio.


[...]


Dude, you missed the point completely. He did all RT stuff 
without a GC, he said that the GC can be made irelevant by using 
some clever optimizations and using the tools the language 
provides.


I also suspect you don't really know how D's GC works.


Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Guillaume Piolat via Digitalmars-d-announce

On Friday, 27 November 2015 at 04:45:18 UTC, deadalnix wrote:


Everybody like to think what they do is so real time sensitive 
they can't possibly afford a GC. Really, that is just self 
importance getting into the way of good judgement.


Yet, some can't afford a GC. But the set of people that can't 
afford a GC is significantly smaller than the set of people 
that think/say they can't afford a GC.


Exactly, that's like all the talk about "scaling" or "big data" 
on the Internet. Problems we wish we had.


Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Adam D. Ruppe via Digitalmars-d-announce

On Friday, 27 November 2015 at 17:12:05 UTC, Jonny wrote:

On Thursday, 26 November 2015 at 15:48:48 UTC, Guillaume Piolat
I don't really have a point to prove, but I'm really tired 
with people arguing that a language with GC can't possibly do 
real-time. It's not like you are unallowed to optimize.


What if someone wants to use your plugin live? You think it is 
acceptable to have latency and jitter? What about glitches 
because your GC decides to run at the same time as all the 
other GC's?


I quoted both things because I think you missed the important 
part that he did, in fact, optimize the real time parts to avoid 
latency.


Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Andre Polykanine via Digitalmars-d-announce
VPvDda> I took this approach with my image processing blog post and it
VPvDda> got quite popular.

Could you post a link to it, please?


Andre.



Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Nemanja Boric via Digitalmars-d-announce
On Friday, 27 November 2015 at 14:25:42 UTC, Andre Polykanine 
wrote:
VPvDda> I took this approach with my image processing blog post 
and it VPvDda> got quite popular.


Could you post a link to it, please?


Andre.


http://blog.thecybershadow.net/2014/03/21/functional-image-processing-in-d/


Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Guillaume Piolat via Digitalmars-d-announce
On Friday, 27 November 2015 at 12:12:42 UTC, Vladimir Panteleev 
wrote:


I took this approach with my image processing blog post and it 
got quite popular.


It's one of my favourite blog post because it works as a 
introduction to ae.utils.graphics, covers interesting material, 
and tells why the building blocks are like they are. it's also 
sort-of DbI.
Much like Andrei's "std::allocator is to allocation", fascinating 
stuff.





Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Vladimir Panteleev via Digitalmars-d-announce
On Thursday, 26 November 2015 at 22:04:18 UTC, Guillaume Piolat 
wrote:

On Thursday, 26 November 2015 at 18:47:29 UTC, tired_eyes wrote:
On Thursday, 26 November 2015 at 15:48:48 UTC, Guillaume 
Piolat wrote:




I've just checked demo songs and want to say that the sound is 
amazing! This is an excellent debunking of "GC is slow" myth. 
And it definitely worth a blog post, as mentioned above.


Ahem. No time to do this properly.

Here the content of that blog post:

"I just used @nogc, unregistered threads, also ensured no 
allocation in UI hot loops. @nogc has become a worthy attribute 
in my views, I used to believe it was not necessary but it is. 
Also a bit of -profile=gc"


I think that would be great. Just expand on what these features 
do and how they helped you, as if the reader is not familiar with 
D. I think such a blog post would be great for people who are 
skeptical about D because of the GC.


I took this approach with my image processing blog post and it 
got quite popular.




Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Guillaume Piolat via Digitalmars-d-announce

On Friday, 27 November 2015 at 17:12:05 UTC, Jonny wrote:


You have no idea what you are talking about! It is mentalities 
like yours that cause headaches for musicians and engineers who 
work with RT audio.


Do you realize that even 5 ms of jitter can be felt by the 
listener and musician as being off? 5 ms of latency can be felt 
and 20ms is unacceptable.


"jitter" is not "latency", you don't have "5 ms" of jitter.

What if someone wants to use your plugin live? You think it is 
acceptable to have latency and jitter?


https://yourlogicalfallacyis.com/strawman

Besides, noone reported anything like that, because there is no 
reason for it to happen (see below).



What about glitches because your GC decides to run at the same 
time as all the other GC's?


Actually the GC never triggers, and if it triggers:
- the heap size is so small it would get scanned super fast
- the audio thread isn't blocked since unregistered

Tell me more how I can bring harm to this world.


If you spend 10 hrs a day working in a DAW with thousands of 
VST's you'd have more of an appreciation of RT audio and design.


But you have that understanding, I guess?







Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Marco Leise via Digitalmars-d-announce
We can probably agree that we don't know about the impact on a
large multimedia application written in D. What you can
communicate is: Create a @nogc thread routine and don't
register it with the GC to write real-time VSTs.

Guillaume did a good job, taking the GC out of the real-time
thread. It's D, it is a bit of a hack, it's the correct way to
do it and works. But I don't see it debunking any myths about
GC and real time...
A) It doesn't mix them to begin with.
B) "Realtime GCs" are a thing. D's GC is not optimized for
   such a use case.
C) With a small heap it doesn't matter. (We need more complex
   multimedia projects.)

What I've seen is a program, a non-linear video editor, called
PowerDirector that pauses for seconds every now and then.
These pauses reminded me a lot of GC pauses, but I can't be
sure. Although memory use is less after the pause, it could
also be a cleaning of caches. In any case quite a few of these
applications try to make "good use" of available RAM, causing
constant memory pressure.

Now there has been so much talk about the GC that I don't even
know what the filter does!

-- 
Marco



Re: The D Language Foundation has $5000 to its name

2015-11-27 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 23 November 2015 at 12:35:35 UTC, Dicebot wrote:
Whoa, this must be pretty new. Though subkey used seems to be 
almost 1 year old now.


sub   rsa4096/12BB1939 2015-02-27


Why should I renew the subkey w/o cause?
Then everybody would need to redownload my public keys.
In any case I'd be in favor if more people sign my key, though we 
could do that next time we meet in person ;).


Re: https everywhere!

2015-11-27 Thread Martin Nowak via Digitalmars-d-announce
On Tuesday, 24 November 2015 at 08:48:58 UTC, Vladimir Panteleev 
wrote:
Sorry, I'm not going to pay for my own SSL certificate :) 
You'll either have to share, or wait until Let's Encrypt goes 
live and I get around to setting it up.


You could either get a free startssl certificate 
https://gist.github.com/mgedmin/7124635 or we try to reverse 
proxy through dlang.org/forum or so.




Re: https everywhere!

2015-11-27 Thread Vladimir Panteleev via Digitalmars-d-announce

On Saturday, 28 November 2015 at 04:17:19 UTC, Martin Nowak wrote:
On Tuesday, 24 November 2015 at 08:48:58 UTC, Vladimir 
Panteleev wrote:
Sorry, I'm not going to pay for my own SSL certificate :) 
You'll either have to share, or wait until Let's Encrypt goes 
live and I get around to setting it up.


You could either get a free startssl certificate 
https://gist.github.com/mgedmin/7124635 or we try to reverse 
proxy through dlang.org/forum or so.


Could I send a CSR? Would that make sense?



Re: The D Language Foundation has $5000 to its name

2015-11-27 Thread Dicebot via Digitalmars-d-announce

On Saturday, 28 November 2015 at 04:27:51 UTC, Martin Nowak wrote:

On Monday, 23 November 2015 at 12:35:35 UTC, Dicebot wrote:
Whoa, this must be pretty new. Though subkey used seems to be 
almost 1 year old now.


sub   rsa4096/12BB1939 2015-02-27


Why should I renew the subkey w/o cause?
Then everybody would need to redownload my public keys.
In any case I'd be in favor if more people sign my key, though 
we could do that next time we meet in person ;).


You shouldn't, sorry for confusion - it was simply line of 
thought "haven't noticed before, must be new - but key is 
relatively old, must be blind" :)


Re: https everywhere!

2015-11-27 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 23 November 2015 at 20:55:32 UTC, Walter Bright wrote:
I'm pleased to announce that Jan Knepper has gotten us some 
proper certificates now, and dlang.org and digitalmars.com are 
now fully https!


Glad to hear that as it's a requirement to host installer scipts 
and our gpg keyring with some trust.

https://github.com/D-Programming-Language/installer/pull/162

Guess we'll quickly fix the few non-shema relative urls.


Re: Graillon 1.0, VST effect fully made with D

2015-11-27 Thread Guillaume Piolat via Digitalmars-d-announce

On Friday, 27 November 2015 at 07:47:08 UTC, Jacob Carlborg wrote:


I don't know what the audio industry is using but the 10.4 was 
the first version to get limited support for 64bit. I would say 
that 10.6 is a fully 64bit compatible OS [1]. Even if the 
kernel is running in 32bit mode you can run applications in 
64bit, if the CPU supports that.




Interesting thanks. That means I should either be using DMD for 
everything, or not support OS X 10.6.