fluid-work IRC Logs-2013-05-06

[10:41:02 CDT(-0500)] <jessm> fluid-everyone: i lost you all on standup

[10:41:14 CDT(-0500)] <jessm> anastasiac: i'm going to get you feedback today re: tech awards asap

[10:41:25 CDT(-0500)] <jessm> and i'm meeting with cynthia to go over PGA delivs

[10:41:31 CDT(-0500)] <jessm> and i'm writing rec's for tech awards

[10:41:39 CDT(-0500)] <jessm> anastasiac: i'll catch you soon hopefully

[10:43:24 CDT(-0500)] <anastasiac> jessm, whenever you have time. I'm here all day (smile)

[11:49:22 CDT(-0500)] <colinclark> Bosmon, avtar: I have an idea!

[11:49:32 CDT(-0500)] <colinclark> Always dangerous, I know

[11:49:56 CDT(-0500)] <colinclark> Bosmon: Our new Nebula controller has finally been installed and is managing a small cluster of nodes

[11:50:04 CDT(-0500)] <colinclark> and I know you have some EC2 experience

[11:50:24 CDT(-0500)] <colinclark> avtar is in the midst of planning out some performance modelling for the GPII

[11:50:51 CDT(-0500)] <colinclark> And one of the things we'd like to do is explore approaches to load balancing the Preferences Server

[11:51:10 CDT(-0500)] <colinclark> I'm not sure that any of us have experience with CouchDB replication in practice

[11:51:15 CDT(-0500)] <colinclark> I know avtar has done some reading about it

[11:51:39 CDT(-0500)] <colinclark> Bosmon, I'm wondering if you'd be interested in working with avtar to come up with an architecture for this?

[12:01:54 CDT(-0500)] <avtar> Bosmon, colinclark: http://wiki.apache.org/couchdb/Replication#Replicator_database

[12:02:14 CDT(-0500)] <heidiv> arashs what should we formally name this font? infusion?

[12:02:43 CDT(-0500)] <avtar> we're using 1.2

[12:03:19 CDT(-0500)] <arashs> we could, what about UIO? heidiv

[12:03:35 CDT(-0500)] <heidiv> arashs but it's used for more than UIO

[12:03:44 CDT(-0500)] <heidiv> infusion icons maybe

[12:04:00 CDT(-0500)] <arashs> Sounds good (smile)

[12:04:53 CDT(-0500)] <arashs> Should I create a wiki page for it? or maybe a new JIRA?

[12:05:58 CDT(-0500)] <heidiv> arashs no i'm just naming it in my implementation of them, easy peasy, just wondering if you had a name in mind

[12:06:09 CDT(-0500)] <colinclark> heidiv, arashs: What is in the icon font, specifically?

[12:07:16 CDT(-0500)] <heidiv> combo of presentational icons (icons placed before panel headings) and functional icons (indicator arrows, next/prev, eventually media icons like play etc)

[12:08:30 CDT(-0500)] <arashs> we have our own icons (UIO) included in them too

[12:11:49 CDT(-0500)] <heidiv> arashs some are not our own?

[12:12:01 CDT(-0500)] <heidiv> the non UIO ones?

[12:12:48 CDT(-0500)] <arashs> right heidiv some of them are from icomoon

[12:13:44 CDT(-0500)] <heidiv> arashs we'll need to credit that source

[12:14:11 CDT(-0500)] <arashs> heidiv: if you go to http://icomoon.io/app/ you could see some free icon pacs that we could use and add to our icon set

[12:14:11 CDT(-0500)] <heidiv> or perhaps separate them into two diff fonts? you'd know best i think

[12:14:31 CDT(-0500)] <heidiv> what does it say about crediting them

[12:14:41 CDT(-0500)] <colinclark> wait, I'm still confused

[12:14:42 CDT(-0500)] <arashs> http://creativecommons.org/licenses/by/3.0/

[12:14:57 CDT(-0500)] <arashs> Attribution

[12:15:06 CDT(-0500)] <colinclark> We are creating an icon font specifically for our use in either 1) UIO or 2) Infusion

[12:15:10 CDT(-0500)] <colinclark> I'm not sure if it's 1 or 2

[12:15:16 CDT(-0500)] <colinclark> and I'm not sure, specifically, what's in it

[12:15:25 CDT(-0500)] <colinclark> can someone elaborate?

[12:15:31 CDT(-0500)] <heidiv> hey colinclark here's the jira - both UIO and other components http://issues.fluidproject.org/browse/FLUID-4994

[12:15:58 CDT(-0500)] <colinclark> Ok, the sub issues help a lot

[12:16:00 CDT(-0500)] <heidiv> arashs we'll need to somehow say which are say, font awesome etc. won't we?

[12:16:31 CDT(-0500)] <colinclark> Is there a reason why we're using one big icon font for all the components in Infusion, instead of multiple fonts, one for each module?

[12:16:38 CDT(-0500)] <colinclark> Does anyone know what the performance profile of font loading is like?

[12:16:50 CDT(-0500)] <heidiv> i think arashs was concerned w overlap between components

[12:17:10 CDT(-0500)] <heidiv> i'm wondering about multiple fonts, for each source….. our own, whatever ones we use from icomoon

[12:17:35 CDT(-0500)] <arashs> yes and also the font size (complete) is not that big

[12:17:51 CDT(-0500)] <arashs> thats a good point heidiv

[12:18:00 CDT(-0500)] <arashs> let me look into it

[12:18:04 CDT(-0500)] <colinclark> Which icons are we using from icomoon?

[12:18:17 CDT(-0500)] <colinclark> And specifically, which icons overlap between our components?

[12:18:31 CDT(-0500)] <colinclark> So, from the JIRA, I gather that the font will contain icons for:

[12:18:35 CDT(-0500)] <colinclark> 1. UIO

[12:18:37 CDT(-0500)] <colinclark> 2. Inline Edit

[12:18:40 CDT(-0500)] <colinclark> 3. Uploader

[12:18:46 CDT(-0500)] <colinclark> 4. The FSS

[12:19:06 CDT(-0500)] <colinclark> Are there icons that are used in more than one of these four components?

[12:19:19 CDT(-0500)] <colinclark> And am I missing any other components?

[12:19:55 CDT(-0500)] <heidiv> that sounds right colinclark - arashs can you explain the overlap and also the icomoon sources

[12:20:42 CDT(-0500)] <heidiv> arashs splitting into components makes sense because implementers will sometimes just choose the components they need and therefore not need all icons

[12:20:44 CDT(-0500)] <arashs> colinclark: I can say that most of the icons in what we have are from icomoon, we have added some icons that are specific to UIO

[12:21:16 CDT(-0500)] <arashs> ok I can to that heidiv

[12:21:35 CDT(-0500)] <colinclark> Which icons, specifically, are from icomoon? It might be helpful if you could link to one of jvass' wireframes that include an icomoon icon, just so I'm clear

[12:21:47 CDT(-0500)] <heidiv> arashs icomoon the font or the app (which has a bunch of fonts)

[12:21:48 CDT(-0500)] <heidiv> ?

[12:22:28 CDT(-0500)] <heidiv> arashs maybe we should have a list of the icons in the wiki somewhere - how many are there?

[12:22:37 CDT(-0500)] <arashs> Icomoon has both, they have an app, and also an icon set included

[12:23:07 CDT(-0500)] <heidiv> arashs yes… so we're using the icomoon icon set specifically?

[12:23:39 CDT(-0500)] <arashs> yes, with some of our icons added to it

[12:24:06 CDT(-0500)] <heidiv> i wonder if we'll end up with font files like: IcoMoon-UIOptions.ttf , InfusionIcons-UIOptions.ttf, IcoMoon-InlineEdit.ttf ….

[12:24:16 CDT(-0500)] <colinclark> arashs: Can you point me to a wireframe where we're using an icomoon icon, just so I understand?

[12:24:37 CDT(-0500)] <arashs> sure, Im looking for one colinclark

[12:24:41 CDT(-0500)] <colinclark> thanks!

[12:25:17 CDT(-0500)] <colinclark> heidiv: The only risk with multiple fonts is performance

[12:25:26 CDT(-0500)] <colinclark> I agree with the idea of splitting them up so that implementers can choose

[12:25:29 CDT(-0500)] <Bosmon> colinclark, avtar - yes, load balancing sounds like a great mission

[12:25:46 CDT(-0500)] <colinclark> Bosmon: I'm pretty sure that avtar can even give you a self-serve account on the new cloud

[12:25:56 CDT(-0500)] <colinclark> If you're willing and interested in rocking it

[12:26:11 CDT(-0500)] <heidiv> colinclark ya, one font still might be the way to go? or two, IcoMoon and InfusionIcons or something

[12:26:18 CDT(-0500)] <colinclark> I really don't know

[12:26:26 CDT(-0500)] <colinclark> I think we probably have to think about use...

[12:26:33 CDT(-0500)] <Bosmon> Wow, Couch 1.2 has really moved on

[12:26:41 CDT(-0500)] <colinclark> Is it likely that a user will have multiple Infusion components on the same page

[12:26:52 CDT(-0500)] <arashs> colinclark: http://wiki.fluidproject.org/display/fluid/%28Floe%29+UI+Options+Design+High+Fidelity%2C+C.1#%28Floe%29UIOptionsDesignHighFidelity%2CC.1-Size

[12:26:58 CDT(-0500)] <colinclark> and thus would pay a higher network cost in terms of loading multiple fonts

[12:27:03 CDT(-0500)] <heidiv> i think it's likely...

[12:27:15 CDT(-0500)] <colinclark> I was thinking that it's not hugely likely, but you might be right

[12:27:24 CDT(-0500)] <colinclark> This is where our custom builds can be so useful

[12:27:31 CDT(-0500)] <colinclark> but I don't imagine we can do a custom build of an icon font?

[12:27:38 CDT(-0500)] <arashs> we did not use any font icons at that point

[12:27:59 CDT(-0500)] <colinclark> arashs: So is there an icon in this wireframe that is from IcoMoon? If so, which ones?

[12:28:06 CDT(-0500)] <colinclark> We're using the IcoMoon app to build our icon fonts, right?

[12:28:12 CDT(-0500)] <colinclark> I don't suppose it has any kind of API?

[12:29:03 CDT(-0500)] <colinclark> Bosmon: Our timeframe for this performance modelling is end of May

[12:29:08 CDT(-0500)] <colinclark> with a report

[12:29:40 CDT(-0500)] <colinclark> So, once avtar is ready, I imagine you guys can go for it soon

[12:29:52 CDT(-0500)] <arashs> Im not sure colinclark, we can draw all the icons we need and just use Icomoon to create a font, but I think we still have to attribute

[12:30:00 CDT(-0500)] <arashs> I can look into it more

[12:30:04 CDT(-0500)] <colinclark> I don't understand, arashs

[12:30:18 CDT(-0500)] <avtar> Bosmon: i was talking to colinclark earlier about network access

[12:30:38 CDT(-0500)] <colinclark> jvass: In your wireframes, do you ever specify any icons from the IcoMoon set? Or are they all your own designs?

[12:31:10 CDT(-0500)] <avtar> i could set up openvpn on a vm here and provide you with an account if you're open to installing the client software on your computer

[12:31:53 CDT(-0500)] <arashs> colinclark "The IcoMoon app is free and just like any other client side web app, it's open source. You may use the IcoMoon app under the MIT license. The icons provided in the library tab have their own licenses."

[12:32:22 CDT(-0500)] <colinclark> Right

[12:32:34 CDT(-0500)] <colinclark> So that's why I'm asking if we're using an of IcoMoon's icons

[12:32:37 CDT(-0500)] <jvass> colinclark: no, i didn't use any icons from the IcoMoon set and I don't think we should use any when we export the font for consistency

[12:32:42 CDT(-0500)] <colinclark> ok

[12:32:51 CDT(-0500)] <colinclark> jvass: You rule. That answered my question. (smile)

[12:33:23 CDT(-0500)] <colinclark> So, arashs, it sounds like jvass is saying that our icon font should not contain any of IcoMoon's icons

[12:33:55 CDT(-0500)] <arashs> right, ok we can do that.

[12:33:58 CDT(-0500)] <colinclark> And thus our font icons should only contain the icons we use for components in Infusion

[12:34:20 CDT(-0500)] <colinclark> I'd suggest that we go ahead and take heidiv's approach to start, and have separate fonts for each of those four components I listed

[12:34:30 CDT(-0500)] <arashs> we just have to import all of the icons that we are going to use and create a new font

[12:34:34 CDT(-0500)] <colinclark> right

[12:34:46 CDT(-0500)] <colinclark> Seem reasonable, heidiv and arashs?

[12:34:49 CDT(-0500)] <arashs> right

[12:35:09 CDT(-0500)] <heidiv> ok

[12:35:15 CDT(-0500)] <arashs> yes

[12:36:26 CDT(-0500)] <heidiv> arashs what was the concern with overlap before? are some icons repeated throughout?

[12:38:28 CDT(-0500)] <arashs> yes heidiv some common icons like the magnifier could end up in multiple packs

[12:56:50 CDT(-0500)] <colinclark> arashs: Sorry, just got back from grabbing lunch. Which components is the magnifier icon used in, currently?

[13:11:40 CDT(-0500)] <arashs> jvass: has mockups that have an magnifying glass in them, as an example, (http://wiki.fluidproject.org/display/fluid/%28Floe%29+UI+Options+Design+High+Fidelity%2C+C.1#%28Floe%29UIOptionsDesignHighFidelity%2CC.1-Size) has one in the middle of the page beside a lock icon

[13:12:27 CDT(-0500)] <arashs> it could be used in multiple places, and for different purposes

[13:12:38 CDT(-0500)] <arashs> colinclark: ^

[13:12:56 CDT(-0500)] <colinclark> arashs: Right, but is it actually used in multiple places, currently?

[13:13:11 CDT(-0500)] <arashs> not that I know of

[13:13:45 CDT(-0500)] <colinclark> ok

[13:14:17 CDT(-0500)] <colinclark> Do we imagine that we'd want a magnifying glass with a letter A inside it in any of Infusion's current components?

[13:15:42 CDT(-0500)] <arashs> Isn't that our icon for "text size"?

[13:16:36 CDT(-0500)] <colinclark> right

[13:16:45 CDT(-0500)] <colinclark> are there other magnifying glasses?

[13:17:28 CDT(-0500)] <arashs> I don't think so colinclark

[13:17:48 CDT(-0500)] <colinclark> I guess there is one in the page there, too

[13:17:52 CDT(-0500)] <colinclark> but presumably that's just a mockup

[13:17:57 CDT(-0500)] <colinclark> the icon equivalent of "greeking"

[13:17:59 CDT(-0500)] <arashs> yes

[13:18:13 CDT(-0500)] <colinclark> So it doesn't sound like we really have a problem with overlap

[13:18:32 CDT(-0500)] <colinclark> Since we don't have any components that currently share the same icons

[13:18:38 CDT(-0500)] <colinclark> and we don't have any obvious examples of components that are likely to do so

[13:18:44 CDT(-0500)] <colinclark> it's not that it might not happen in the future

[13:18:47 CDT(-0500)] <arashs> right

[13:18:52 CDT(-0500)] <colinclark> but more than we needn't let it slow us down right now

[13:20:07 CDT(-0500)] <arashs> I can meet with jvass and go over that we want to be included in our fonts

[13:20:30 CDT(-0500)] <cindyli> hi Bosmon

[13:20:52 CDT(-0500)] <Bosmon> QI LI!

[13:34:57 CDT(-0500)] <cindyli> Bosmon: do you have a chance to start on our task - Remove manual options mapping code?

[13:35:11 CDT(-0500)] <Bosmon> cindyli, I may, yes

[13:35:38 CDT(-0500)] <jhung> arashs: I'm working on a 3rd scenario for Sam. Maybe we can talk about the use cases tomorrow. I think the first two scenarios can be updated as well. But if you're looking for stuff to do now, we can chat now, although I'm not done the 3rd scenario.

[13:36:01 CDT(-0500)] <cindyli> Bosmon: I mean, if you haven't started, I'm starting on it. If you did, what can i help with?

[13:36:16 CDT(-0500)] <arashs> sure jhung

[13:36:20 CDT(-0500)] <arashs> Skype?

[13:36:25 CDT(-0500)] <jhung> Sure

[13:41:22 CDT(-0500)] <Bosmon> Ah hi cindy - yes, I have not started it yet

[13:41:27 CDT(-0500)] <Bosmon> I am excited that you are starting (smile)

[13:41:39 CDT(-0500)] <cindyli> cool (smile)

[13:42:00 CDT(-0500)] <Bosmon> Can you tell me the Chinese characters for your name again? : P

[13:42:09 CDT(-0500)] <cindyli> 李琦

[13:42:26 CDT(-0500)] <cindyli> let me know your research result on my name, Bosmon (wink)

[13:43:56 CDT(-0500)] <Bosmon> "valuable stone" : P

[13:46:39 CDT(-0500)] <cindyli> bingo

[16:01:46 CDT(-0500)] <Bosmon> michelled - I notice that a lot of the recent UIO work that has been committed has incorrect file permissions for many of the new files

[16:02:02 CDT(-0500)] <Bosmon> It's not that vital but it's something we should be careful of when merging in future work

[16:02:18 CDT(-0500)] <Bosmon> create mode 100755 src/webapp/components/uiOptions/images/bw/uio_icon_button.png

[16:02:19 CDT(-0500)] <Bosmon> create mode 100755 src/webapp/components/uiOptions/images/bw/uio_icon_contrast.png

[16:02:19 CDT(-0500)] <Bosmon> create mode 100755 src/webapp/components/uiOptions/images/bw/uio_icon_indicator.png

[16:02:40 CDT(-0500)] <michelled> good point Bosmon - I never remember to check that when I'm reviewing stuff

[16:06:58 CDT(-0500)] <Bosmon> michelled - I just issued a PUL request for correcting them...

[16:09:51 CDT(-0500)] <michelled> thanks Bosmon

[17:34:26 CDT(-0500)] <thealphanerd> colinclark: !!!!!!

[17:34:38 CDT(-0500)] <thealphanerd> got a first iteration of faust compiled to asm.js

[17:34:50 CDT(-0500)] <thealphanerd> http://cl.ly/code/0D3W0K29440u

[17:35:44 CDT(-0500)] <colinclark> Where did this come from?

[17:35:58 CDT(-0500)] <thealphanerd> one sec… I'll make a gist

[17:36:00 CDT(-0500)] <thealphanerd> started with faust code

[17:36:07 CDT(-0500)] <thealphanerd> compiled to c++ with faust

[17:36:19 CDT(-0500)] <thealphanerd> then compiled to asm.js with emscripten

[17:36:23 CDT(-0500)] <thealphanerd> compiled with no errors

[17:36:36 CDT(-0500)] <thealphanerd> next step will be writing bindings and seeing what comes out of the functions

[17:36:58 CDT(-0500)] <thealphanerd> and how to use it to drive web audio api

[17:38:20 CDT(-0500)] <colinclark> What does your Faust dsp file look like/

[17:38:33 CDT(-0500)] <colinclark> and what were the commands you ran?

[17:41:01 CDT(-0500)] <colinclark> in case I forgot to say it, thealphanerd, cool (smile)

[17:41:07 CDT(-0500)] <thealphanerd> hahahha

[17:41:11 CDT(-0500)] <colinclark> I'm curious to see it all! (smile)

[17:41:14 CDT(-0500)] <thealphanerd> https://gist.github.com/TheAlphaNerd/5528850

[17:41:16 CDT(-0500)] <thealphanerd> there ya go

[17:41:19 CDT(-0500)] <thealphanerd> all the commands

[17:41:20 CDT(-0500)] <thealphanerd> and the source

[17:43:23 CDT(-0500)] <thealphanerd> the .dsp file is at the bottom for some reason

[17:44:19 CDT(-0500)] <colinclark> The C++ code that Faust generates is quite conceptually similar to a Flocking unit generator

[17:44:27 CDT(-0500)] <colinclark> that is, the compute() method

[17:44:32 CDT(-0500)] <colinclark> everything else, not so much

[17:44:36 CDT(-0500)] <colinclark> with the UI/dsp all mixed up

[17:45:06 CDT(-0500)] <thealphanerd> yeah I have to suss all that out… as far as how to deal with that

[17:45:22 CDT(-0500)] <colinclark> Do you know what the input parameter to compute() is?

[17:45:38 CDT(-0500)] <colinclark> I was thinking, thealphanerd, that you might find things to be way simpler if you use a .dsp file that doesn't have a GUI

[17:45:43 CDT(-0500)] <colinclark> start with just the basics

[17:46:01 CDT(-0500)] <colinclark> Maybe you could make a Faust dsp file that, say, just outputs a sine wave at 440 or something?

[17:46:11 CDT(-0500)] <thealphanerd> colinclark: it would be super easy to modify the noise to not use gui

[17:46:18 CDT(-0500)] <colinclark> I would

[17:46:20 CDT(-0500)] <thealphanerd> just need to change the one line to remove slider

[17:46:31 CDT(-0500)] <colinclark> and perhaps use a fixed parameter whatever the slider is controlling

[17:46:34 CDT(-0500)] <thealphanerd> and I very likely will for an early iteration

[17:46:40 CDT(-0500)] <colinclark> frequency, I guess

[17:46:41 CDT(-0500)] <thealphanerd> exactly what I was thinking

[17:46:43 CDT(-0500)] <colinclark> now that you know that it compiles cleanly

[17:46:58 CDT(-0500)] <colinclark> you'll get both C++ and asm.js code that is actually vaguely comprehensible, that way

[17:47:13 CDT(-0500)] <thealphanerd> btw i think compute takes a count of how manny buffers

[17:47:27 CDT(-0500)] <colinclark> First argument seems to be the sample count

[17:47:30 CDT(-0500)] <thealphanerd> and then a buffer to take as input

[17:47:33 CDT(-0500)] <colinclark> i.e. the number of samples to generator

[17:47:35 CDT(-0500)] <colinclark> but what is that input/

[17:47:45 CDT(-0500)] <thealphanerd> probably audio input

[17:48:10 CDT(-0500)] <colinclark> But don't most ugens have multiple inputs?

[17:49:13 CDT(-0500)] <colinclark> slider, I guess, is the amplitude

[17:49:15 CDT(-0500)] <thealphanerd> this one has none

[17:49:27 CDT(-0500)] <colinclark> right; it never uses that parameter

[17:49:32 CDT(-0500)] <colinclark> so that makes sense

[17:49:45 CDT(-0500)] <thealphanerd> pointer to array of inputs

[17:49:52 CDT(-0500)] <colinclark> but what would it generate for, say, a sine tone oscillator that has both a frequency and an amplitude parameter?

[17:49:54 CDT(-0500)] <colinclark> do you know?

[17:50:04 CDT(-0500)] <thealphanerd> line 278

[17:50:04 CDT(-0500)] <thealphanerd> virtual void compute(int len, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) = 0;

[17:50:26 CDT(-0500)] <thealphanerd> ** leads me to believe we are dealing with an array

[17:50:47 CDT(-0500)] <colinclark> ah, that's right

[17:51:04 CDT(-0500)] <thealphanerd> yay I know pointers now

[17:51:05 CDT(-0500)] <thealphanerd> hehehe

[17:51:07 CDT(-0500)] <colinclark> (wink)

[17:51:59 CDT(-0500)] <thealphanerd> but so this is really cool

[17:52:00 CDT(-0500)] <colinclark> I guess that's probably the biggest difference between this particular code and Flocking...

[17:52:06 CDT(-0500)] <colinclark> inputs are named

[17:52:18 CDT(-0500)] <colinclark> So I guess there will have to be some kind of a map that gets generated

[17:52:19 CDT(-0500)] <thealphanerd> well I wonder exactly how we will deal with that compute function

[17:52:25 CDT(-0500)] <thealphanerd> as it appears to expect pointers

[17:52:36 CDT(-0500)] <thealphanerd> and not return anything

[17:52:40 CDT(-0500)] <thealphanerd> wonder how that translates

[17:52:43 CDT(-0500)] <colinclark> Let's see how it ended up getting generated

[17:53:14 CDT(-0500)] <colinclark> It doesn't actually appear in your JavaScript output

[17:53:27 CDT(-0500)] <thealphanerd> nope

[17:54:04 CDT(-0500)] <colinclark> Presumably the Web Audio generator represents this as an array of input arrays in JavaScript

[17:54:51 CDT(-0500)] <colinclark> And so, too, will Emscripten

[17:54:54 CDT(-0500)] <thealphanerd> not sure where any of the code is

[17:55:03 CDT(-0500)] <thealphanerd> which is strange

[17:55:15 CDT(-0500)] <colinclark> I wonder why your dsp class didn't get generated

[17:55:37 CDT(-0500)] <thealphanerd> that's what I am wondering too

[17:56:11 CDT(-0500)] <thealphanerd> OH SHIT

[17:56:13 CDT(-0500)] <thealphanerd> there is no main method

[17:56:14 CDT(-0500)] <colinclark> (smile)

[17:56:19 CDT(-0500)] <thealphanerd> in the c++

[17:56:48 CDT(-0500)] <colinclark> What kind of output did you choose from Faust? Does it have some "straight C++" mode?

[17:56:48 CDT(-0500)] <thealphanerd> oh wait in c++ they are not called methods are they

[17:56:59 CDT(-0500)] <thealphanerd> I chose minimal.cpp

[17:57:00 CDT(-0500)] <colinclark> Intended for wrapping yourself?

[17:57:03 CDT(-0500)] <colinclark> ok

[17:57:05 CDT(-0500)] <colinclark> that's probably it

[17:57:29 CDT(-0500)] <colinclark> In C++, methods defined on a class are called methods

[17:57:37 CDT(-0500)] <colinclark> but of course there are also just plain functions

[17:57:46 CDT(-0500)] <colinclark> So main is a function

[17:57:47 CDT(-0500)] <thealphanerd> I thought there was another clever word

[17:57:53 CDT(-0500)] <thealphanerd> like unit functions

[17:57:55 CDT(-0500)] <thealphanerd> or something

[17:57:57 CDT(-0500)] <thealphanerd> I don't remember

[17:58:01 CDT(-0500)] <colinclark> In JavaScript, there's nothing but functions

[17:58:14 CDT(-0500)] <thealphanerd> (big grin)

[17:58:20 CDT(-0500)] <colinclark> it's only in context of how they're used that they become "methods"

[17:58:23 CDT(-0500)] <thealphanerd> so I guess all the code got optimized out

[17:58:26 CDT(-0500)] <thealphanerd> as they are unused

[17:58:40 CDT(-0500)] <colinclark> You'll have to write your own little wrapper...

[17:58:47 CDT(-0500)] <colinclark> that actually uses your code, I guess

[17:59:08 CDT(-0500)] <thealphanerd> I'll look up and see if there is anything on compiling libraries

[17:59:14 CDT(-0500)] <thealphanerd> rather than "programs"

[17:59:27 CDT(-0500)] <colinclark> makes sense

[18:02:50 CDT(-0500)] <thealphanerd> https://github.com/kripken/emscripten/wiki/Interacting-with-code

[18:02:59 CDT(-0500)] <thealphanerd> looks like you need to use "EXPORTED_FUNCTIONS"

[18:11:27 CDT(-0500)] <colinclark> How does it interact with classes in C++?

[18:12:09 CDT(-0500)] <colinclark> I'm going to bike home but i'll be back on in 20 minutes or so

[18:57:22 CDT(-0500)] <thealphanerd> hey colinclark

[18:57:35 CDT(-0500)] <colinclark> hey

[18:57:40 CDT(-0500)] <colinclark> how'd it go while I was biking?

[18:57:48 CDT(-0500)] <thealphanerd> I've been in class the whole time anyways

[18:57:56 CDT(-0500)] <thealphanerd> so pretty good (this is when I get my best work done sadly)

[18:57:57 CDT(-0500)] <thealphanerd> lol

[18:58:01 CDT(-0500)] <colinclark> ha!

[18:58:10 CDT(-0500)] <thealphanerd> but in all seriousness, I didn't get much done

[18:58:23 CDT(-0500)] <thealphanerd> i have some other c++ compilations with specific architectures to compare

[18:58:25 CDT(-0500)] <colinclark> what's the class about?

[18:58:30 CDT(-0500)] <thealphanerd> Robert Henke's class

[18:58:38 CDT(-0500)] <thealphanerd> he's talking about filtering / eq today

[18:59:07 CDT(-0500)] <colinclark> nice

[18:59:17 CDT(-0500)] <thealphanerd> so when compiled with other architectures

[18:59:22 CDT(-0500)] <thealphanerd> there is indeed a main method

[18:59:56 CDT(-0500)] <colinclark> but presumably unsatisfied dependencies?

[19:00:21 CDT(-0500)] <thealphanerd> well this main method is based on compiling to core audio with a qt front end

[19:00:27 CDT(-0500)] <thealphanerd> so all sorts of unnecessary junk

[19:00:48 CDT(-0500)] <thealphanerd> they have some docs on wrapping the js code within the c++

[19:01:01 CDT(-0500)] <thealphanerd> so perhaps there is a way to write the main that might do the necessary web audio stuff

[19:01:46 CDT(-0500)] <colinclark> I guess to start you could just write a main method that instantiates a dsp instance

[19:02:14 CDT(-0500)] <colinclark> from there, presumably you should be able to poke at it

[19:02:17 CDT(-0500)] <colinclark> i.e. call calculate on it

[19:02:21 CDT(-0500)] <colinclark> but I'll have to read the documentation

[19:03:36 CDT(-0500)] <thealphanerd> yeah.. I'm going to go through it as well

[19:03:51 CDT(-0500)] <thealphanerd> seems weird that you can't just import a library

[19:03:55 CDT(-0500)] <thealphanerd> that doesn't have a main method

[19:04:23 CDT(-0500)] <thealphanerd> seems unintuitive to have to always write some sort of wrapper function

[19:07:10 CDT(-0500)] <thealphanerd> colinclark: I have to run for now

[19:07:23 CDT(-0500)] <thealphanerd> hopefully I get some more stuff done and we can recap soon

[20:41:03 CDT(-0500)] <colinclark> thealphanerd: I'm getting really good latency and performance out of the new Firefox implementation of Web Audio

[20:41:16 CDT(-0500)] <colinclark> things are going to be so much smoother and stable when this thing ships

[20:42:32 CDT(-0500)] <thealphanerd> awesome!

[20:42:37 CDT(-0500)] <thealphanerd> is this in the nightly?

[20:42:41 CDT(-0500)] <thealphanerd> wit ha particular flag set?

[20:42:43 CDT(-0500)] <colinclark> The guy from Mozilla sent a post to the W3C mailing list tonight which clearly articulates why Web Audio is a mess from the perspective of JS developers: http://lists.w3.org/Archives/Public/public-audio/2013AprJun/0305.html

[20:42:45 CDT(-0500)] <colinclark> yeah, just in nightly

[20:43:19 CDT(-0500)] <colinclark> looks like they don't even hide it behind a flag in nightly, though I expect it will be hidden again when it hits Aurora

[20:43:33 CDT(-0500)] <thealphanerd> opened it in a browser will read through soon

[20:43:37 CDT(-0500)] <colinclark> But the performance is really good

[20:43:40 CDT(-0500)] <thealphanerd> so wait a second

[20:43:42 CDT(-0500)] <thealphanerd> I'm confused

[20:43:48 CDT(-0500)] <thealphanerd> is aurora different from nightly

[20:43:51 CDT(-0500)] <colinclark> yes

[20:44:02 CDT(-0500)] <colinclark> Nightly > Aurora > Beta > Release

[20:44:22 CDT(-0500)] <colinclark> Features graduate to the new channel every six weeks if they succeed

[20:44:39 CDT(-0500)] <colinclark> Chrome is a little lighter on CPU usage, Firefox has better latency

[20:44:47 CDT(-0500)] <colinclark> And Node.js is the lightest of them all from a CPU perspective

[20:47:44 CDT(-0500)] <thealphanerd> that's amazing