<div dir="ltr">Your options are:<div><br></div><div>1. Use the NIF wrapper and launch an Erlang node for each session.  You can use distributed Erlang to make this seem like a single system, but I have doubts about this scaling well.</div><div><br></div><div>2. Forget the NIF and write a port process in the language of your choice.  This will scale better.</div><div><br></div><div>3. Can you skip libspotify entirely and consume the spotify Web API?  You could use native Erlang http clients in that case.  This would scale best.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 12, 2015 at 5:45 PM, Leandro Ostera <span dir="ltr"><<a href="mailto:me@leostera.com" target="_blank">me@leostera.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="font-size:13px">Hello there guys,</span><div style="font-size:13px"><br></div><div style="font-size:13px">I've been shoving tons of Erlang content down my information-ingestion-system for the past few days, and I'll continue to do so in the next few weeks while I embark on this strange land.</div><div style="font-size:13px"><br></div><div style="font-size:13px">Anywho, I wanted to say hi and thank everyone who either has spoken at (or is planning to) that appears on the Erlang Solutions vimeo videos –which has been my main source of getting into this besides Fred Hebert's book (got the rocking paperback edition)– or put up an article online somewhere. Kudos for the great material.</div><div style="font-size:13px"><br></div><div style="font-size:13px">And for a beginners question...</div><div style="font-size:13px"><br></div><div style="font-size:13px">I was trying to use a quite old <a href="https://github.com/arjan/espotify" target="_blank">erlang wrapper around libspotify</a>, which seems to be defining a bunch of NIFs, to make an audio streaming server that would keep N web-based clients playing the same audio at (give or take milliseconds) the same time. The problem is that according to <a href="https://github.com/arjan/espotify/blob/master/src/espotify_api.erl#L73-L84" target="_blank">one of the source files</a>, it'd only be able to have one open Spotify session per VM, which of course didn't sound too exciting. Is this a limitation of building the wrapper as a set of NIFs? What'd be a way of not having these sessions attached to the VM but instead maybe to a particular process that would take care of buffering/streaming the audio? If the session was to stick to the VM, what'd be a practical way of making this support 100 sessions (or upwards)? I hope these questions make sense.</div><div style="font-size:13px"><br></div><div style="font-size:13px">Frankly, I've been postponing this day for the past 2 years or so. Hopefully it's the right time now :)</div><div style="font-size:13px"><br></div><div style="font-size:13px">Thanks and cheers!</div><span class="HOEnZb"><font color="#888888"><div>Leandro</div><div><br></div>-- <br><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><span style="font-family:arial">Leandro Ostera</span><div dir="ltr" style="font-family:arial"><div><br></div><div><font size="1"><a href="http://github.com/ostera" style="color:rgb(17,85,204)" target="_blank">Github</a> | <a href="http://linkedin.com/in/leostera" style="color:rgb(17,85,204)" target="_blank">LinkedIn</a> | <a href="http://facebook.com/leostera" style="color:rgb(17,85,204)" target="_blank">Facebook</a> | <a href="http://twitter.com/leostera" style="color:rgb(17,85,204)" target="_blank">@leostera</a></font></div></div></div></div></div></div></div></div>
</font></span></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>