fluid-work IRC Logs-2012-07-30

[09:13:35 CDT(-0500)] <Justin_o> yura1, anastasiac: either of you ever use a messagekey with args, in an array, with the proto style component tree

[09:14:16 CDT(-0500)] <anastasiac> Justin_o, I have not, but I'd bet money yura1 has (he's tried everything)

[09:18:40 CDT(-0500)] <Justin_o> anastasiac: okay.. i'll see what yura1 says.. so far for me it's not filling in the template at all and just rendering out the template directly with the tokens

[09:20:03 CDT(-0500)] <yura1> Justin_o: can you paste an example of your tree

[09:20:04 CDT(-0500)] <yura1> ?

[09:23:34 CDT(-0500)] <michelled> cindyli, anastasiac: feel like meeting about Floe?

[09:23:44 CDT(-0500)] <cindyli> sure, michelled

[09:23:46 CDT(-0500)] <anastasiac> indeed

[09:23:52 CDT(-0500)] <michelled> let's try the collab room

[09:25:19 CDT(-0500)] <Justin_o> yura1: here's an example http://pastebin.com/1p6BBJvY

[09:27:33 CDT(-0500)] <yura1> Justin_o: i wonder if you need the values in the array be paths within the strings/parentBundle rather than the actual values

[09:29:11 CDT(-0500)]

<Justin_o> yura: you mean instead of "

Unknown macro: {settingVal}

.attrs.min" use "$

Unknown macro: {setting}

.attrs.min"

[09:29:57 CDT(-0500)] <yura> Justin_o: well you mention that even "one" and "two" does not work

[09:30:12 CDT(-0500)] <yura> i would try to sub it first for something that points to one and two in the strings

[09:31:11 CDT(-0500)] <Justin_o> yura: okay.. that was just an example of passing in values directly.. but i'll try to see if a path would work instead

[09:31:32 CDT(-0500)] <yura> ya try passing the elPaths directly first

[09:31:35 CDT(-0500)] <yura> see if that works

[09:35:42 CDT(-0500)] <Justin_o> how would i pass in a path to the strings by the way?

[09:37:15 CDT(-0500)] <Justin_o> yura: ^

[09:42:15 CDT(-0500)] <Justin_o> yura: no sure how to pass in the strings.. so basically i just added a "one" and "two" string option.. but it still doesn't work

[09:49:55 CDT(-0500)] <michelled> cindyli1: I just updated a11y-uio with the new master

[09:50:12 CDT(-0500)] <cindyli1> ok, thx, michelled

[13:33:05 CDT(-0500)] <greggy1> FYI who ever's looking after inclusivedesign.ca the link to idrc is broken at http://inclusivedesign.ca/research/ocadu/

[13:34:48 CDT(-0500)] <colinclark> Hey avtar, greggy1 just pointed out an interesting issue. The link is broken because it points to "idrc.ocadu.ca," but our site only resolves to idrc.ocad.ca." Is this an easy fix?

[13:35:47 CDT(-0500)] <avtar> i should be able to fix that tonight

[13:37:01 CDT(-0500)] <avtar> it will involve changes to the dns servers and the idrc.ocad.ca vhost

[13:39:14 CDT(-0500)] <avtar> brb

[13:53:31 CDT(-0500)] <Justin_o> jhung: finished up the input validation.. it should all be in my bitbucket repo

[13:53:47 CDT(-0500)] <Justin_o> https://bitbucket.org/jobara/decapod-0.6-ui-iteration5

[13:56:33 CDT(-0500)] <jhung> ok. Thanks! I'll check it out probably tomorrow.

[13:57:33 CDT(-0500)] <Justin_o> jhung: sounds good.. i'm going to look at fixing the custom options for type3 pdf export now to remove the DPI option. This should play into setting up type4 pretty well

[14:09:03 CDT(-0500)] <Justin_o> Bosmon: question for you.. if i have a default model that contains an array… for example values into inputs that will get rendered out.. and i try to override it from the parent component.. what is expected to happen.

[14:11:59 CDT(-0500)] <Bosmon> Hi Justin_o - since this is part of the model, the mergePolicy will end up combining the two arrays together

[14:12:08 CDT(-0500)] <Bosmon> This may not be what you want....

[14:12:45 CDT(-0500)] <Bosmon> The algorithm used for combining models is held in fluid.model.mergeModel

[14:13:47 CDT(-0500)] <Bosmon> Which basically makes heavy reliance on jQuery.extend for anything below the root level

[14:14:05 CDT(-0500)] <Bosmon> You could write your own policy, and contribute it to the framework, if you would like a different effect (smile)

[14:14:58 CDT(-0500)] <Bosmon> Although the system for user-defined mergePolicies is still a bit dorky...

[14:15:12 CDT(-0500)] <Bosmon> You can supply a raw function handle

[14:19:50 CDT(-0500)] <Justin_o> Bosmon: yes.. i was hoping to replace the array completely..

[14:20:03 CDT(-0500)] <Justin_o> Bosmon: what do you mean by "You can supply a raw function handle"

[14:20:22 CDT(-0500)] <Bosmon> So a mergePolicy which includes a function as the value will invoke the function

[14:21:28 CDT(-0500)] <Justin_o> Bosmon: okay.. so i could say that when it sees a key called 'x' it will execute this function to handle the merging for the values attached to 'x'

[14:21:29 CDT(-0500)] <Justin_o> ?

[14:23:20 CDT(-0500)] <Bosmon> Justin_o - that's right, yes

[14:24:03 CDT(-0500)] <Bosmon> So, the default policy supplied by the modelComponent grade is at line 1128 of Fluid.js

[14:24:12 CDT(-0500)] <Bosmon> mergePolicy: {

[14:24:12 CDT(-0500)] <Bosmon> model: "preserve",

[14:24:12 CDT(-0500)] <Bosmon> applier: "nomerge"

[14:24:12 CDT(-0500)] <Bosmon> }

[14:24:37 CDT(-0500)] <Bosmon> Especially with the new, bugged framework, you should be able to override this in your own grade, and supply your own policy for merging the model

[14:25:09 CDT(-0500)] <Bosmon> I will be working on a fix for the framework bug today, but this behaviour should remain...

[14:27:10 CDT(-0500)] <Justin_o> Bosmon: okay.. thanks.. can supply a path that drills into the model or does it just work on top level options

[14:28:01 CDT(-0500)] <Bosmon> You'll unfortunately need to merge the entire model wholesale

[14:28:08 CDT(-0500)] <Bosmon> So this is clearly architecturally unsatisfying

[14:28:18 CDT(-0500)] <Bosmon> But it should at least enable you to write a workaround to get the effect you want

[14:28:38 CDT(-0500)] <Justin_o> Bosmon: okay.. thanks..

[14:29:35 CDT(-0500)] <thealphanerd> colinclark: you around?

[14:31:48 CDT(-0500)] <colinclark> I am, yes

[14:32:18 CDT(-0500)] <thealphanerd> so I'm working on the polyphony stuff / aria stuff

[14:32:25 CDT(-0500)] <colinclark> ok

[14:32:31 CDT(-0500)] <thealphanerd> and looking at your notes regarding numVoices

[14:32:54 CDT(-0500)] <Justin_o> Bosmon: i have to run now, but i'll take a look at this tomorrow.. thanks for your help.

[14:32:58 CDT(-0500)] <thealphanerd> is numVoices a current feature in flocking

[14:32:59 CDT(-0500)] <thealphanerd> ?

[14:33:49 CDT(-0500)] <colinclark> no

[14:34:00 CDT(-0500)] <colinclark> Flocking has no concept of "voices"

[14:34:03 CDT(-0500)] <colinclark> Just synths

[14:34:03 CDT(-0500)] <thealphanerd> ok cool

[14:34:13 CDT(-0500)] <colinclark> So you have to make an object that holds an array of them

[14:34:16 CDT(-0500)] <thealphanerd> so then I would need to register a synth with multiple oscillators

[14:34:24 CDT(-0500)] <colinclark> and allocates them appropriate based on noteOn events

[14:34:34 CDT(-0500)] <colinclark> No, typically you'd make multiple synths

[14:34:47 CDT(-0500)] <thealphanerd> if I make multiple synths

[14:34:54 CDT(-0500)] <thealphanerd> what do I need to do to make sure the mux properly?

[14:35:17 CDT(-0500)] <colinclark> Synths now write correctly to a Flocking bus...

[14:35:22 CDT(-0500)] <colinclark> meaning they add their signals together

[14:35:42 CDT(-0500)] <colinclark> You'll need to ensure that the total amplitude of all your currently-playing Synth instances doesn't go over 1.0

[14:35:48 CDT(-0500)] <colinclark> Which will cause distortion

[14:35:59 CDT(-0500)] <colinclark> So the point of your thing is to make this convenient for users

[14:36:25 CDT(-0500)] <colinclark> And so there are a handful of strategies for doing this

[14:36:30 CDT(-0500)] <colinclark> Sometime people use a Compressor

[14:36:39 CDT(-0500)] <colinclark> There is unfortunately no compressor ugen in Flocking yet

[14:36:50 CDT(-0500)] <thealphanerd> is there a multiplier?

[14:36:51 CDT(-0500)] <colinclark> You could use a normalizer, which would cause some amplitude modulation of the signal

[14:37:16 CDT(-0500)] <colinclark> yes. Every UGen has a "mul" input

[14:37:22 CDT(-0500)] <thealphanerd> in max/msp I always just take all the synths… add them together, then multiply the amplitude

[14:37:41 CDT(-0500)] <colinclark> Yeah, you could do that

[14:37:48 CDT(-0500)] <thealphanerd> so you could intheory update the mul of every voice based on how many are running

[14:37:53 CDT(-0500)] <thealphanerd> seems sloppy though

[14:37:53 CDT(-0500)] <colinclark> yes, that's right

[14:38:04 CDT(-0500)] <thealphanerd> like you would hear the amplitude moving

[14:38:40 CDT(-0500)] <thealphanerd> i'm guessing a limiter or compressor ugen would be a bit out of my scope to create

[14:38:51 CDT(-0500)] <colinclark> Probably not really necessary yet, anyway

[14:39:29 CDT(-0500)] <colinclark> So in general there are four strategies you could take

[14:40:06 CDT(-0500)] <colinclark> 1. Make a normalizer UGen by using the flock.normalize() function--you'll get some distortion there potentially, but it's probably fine for most cases… a "poor man's compressor"

[14:40:28 CDT(-0500)] <colinclark> 2. Implement one of two ways to scale the amplitude of your carrier unit generators

[14:40:53 CDT(-0500)] <colinclark> a. Divide their amplitude by the number of playing synths

[14:41:09 CDT(-0500)] <colinclark> b. Scale them by a fixed value (the same as your "multiplier" in Max)

[14:41:21 CDT(-0500)] <colinclark> 3. Make a compressor unit generator, which you probably don't want to do yet

[14:41:23 CDT(-0500)] <colinclark> it'd be fun

[14:41:26 CDT(-0500)] <colinclark> I guess that's it

[14:41:44 CDT(-0500)] <colinclark> I think the decision between 2a. and 2b. has a lot to do with the nature of the instrument

[14:41:55 CDT(-0500)] <colinclark> e.g. organs get louder as you press more keys

[14:42:32 CDT(-0500)] <thealphanerd> I guess a combination of 1 and 2b might be nice

[14:45:51 CDT(-0500)] <thealphanerd> btw flocking does not appear to work on firefox on windows 7

[14:46:46 CDT(-0500)] <colinclark> Yes

[14:46:57 CDT(-0500)] <colinclark> I was going to chat with you about how to file good open source bug reports. (wink)

[14:47:27 CDT(-0500)] <thealphanerd> hahah

[14:47:40 CDT(-0500)] <colinclark> But I'm not surprised--Firefox seems to have really regressed its audio support

[14:47:49 CDT(-0500)] <thealphanerd> that's too bad

[14:47:50 CDT(-0500)] <colinclark> I'll need to do some fairly in-depth triaging to figure out if there's anything we can do

[14:48:03 CDT(-0500)] <thealphanerd> did you see the moog doodle source?

[14:48:05 CDT(-0500)] <colinclark> The alternative, I think, is to introduce a Flash-based polyfill for the Audio Data API

[14:48:11 CDT(-0500)] <colinclark> I did see it, yes

[14:48:39 CDT(-0500)] <thealphanerd> I was just going to mention flash-based

[14:48:44 CDT(-0500)] <colinclark> yeah, it sucks

[14:48:47 CDT(-0500)] <thealphanerd> because that's what they did for the moog doodle

[14:48:52 CDT(-0500)] <colinclark> But I've heard others report problems with Firefox on Windows, too

[14:50:58 CDT(-0500)] <colinclark> If you have a chance to do some testing on Windows 7, I'd appreciate it--whatever you can find out

[14:51:10 CDT(-0500)] <colinclark> even try some of our competitors' sites and see if they suffer similarly

[14:54:45 CDT(-0500)] <thealphanerd> will do

[14:54:51 CDT(-0500)] <thealphanerd> although my only means of testing is in a vm

[14:54:55 CDT(-0500)] <thealphanerd> but its better than nothing

[14:56:24 CDT(-0500)] <michelled> whoa - UIO wordpress plugin - thanks for sending that link colinclark http://wordpress.org/extend/plugins/fluid-accessible-ui-options/

[14:56:46 CDT(-0500)] <colinclark> thealphanerd: Yup, a VM is cool

[14:57:06 CDT(-0500)] <thealphanerd> awesome

[15:01:36 CDT(-0500)] <colinclark> michelled: yeah, interesting, eh?

[15:02:19 CDT(-0500)] <michelled> yes - I think Johnny will find that interesting for sure

[15:13:36 CDT(-0500)] <anastasiac> michelled, do I recall you saying that http://issues.fluidproject.org/browse/FLOE-54 is not high priority?

[15:14:00 CDT(-0500)] <michelled> anastasiac: not as high priority as the other things we'd seen

[15:14:24 CDT(-0500)] <michelled> but maybe we are at that point?

[15:14:44 CDT(-0500)] <anastasiac> ok, I'll have a look

[15:18:54 CDT(-0500)] <thealphanerd> colinclark: have you played with jquery mobile?

[15:23:02 CDT(-0500)] <anastasiac> michelled, I've pushed a fix for FLOE-54 to my github: https://github.com/acheetham/OER-Commons/tree/FLOE-54

[15:26:38 CDT(-0500)] <colinclark> thealphanerd: Not a lot, unfortunately. We do have a project on the horizon that will hopefully let us spend more time with it

[15:27:02 CDT(-0500)] <thealphanerd> trying to get touch events up and running (among other things).. and getting a strange error

[15:27:16 CDT(-0500)] <colinclark> how are you doing it?

[15:27:34 CDT(-0500)] <thealphanerd> well jquery mobile has an extension for jquery to enable a virtual mouse

[15:27:52 CDT(-0500)] <thealphanerd> literally just need to change my current events from mousedown to vmousedown etc

[15:27:54 CDT(-0500)] <thealphanerd> if it would work

[15:28:19 CDT(-0500)] <thealphanerd> but getting "Uncaught ReferenceError: define is not defined "

[15:29:01 CDT(-0500)] <thealphanerd> hmm maybe they are expecting me to be including require.js

[15:29:20 CDT(-0500)] <thealphanerd> but I just want to get this script going https://github.com/jquery/jquery-mobile/blob/master/js/jquery.mobile.vmouse.js

[15:31:08 CDT(-0500)] <colinclark> I suspect you could just remove the call to define() from the file and it would work

[15:31:08 CDT(-0500)] <thealphanerd> I also have added aria roles to the markup that piano.js generates… made the group have a data-role of controlgroup

[15:31:21 CDT(-0500)] <thealphanerd> and each note have a data-role of button

[15:34:22 CDT(-0500)] <colinclark> interesting

[15:34:27 CDT(-0500)] <colinclark> have you committed that code yet?

[15:34:29 CDT(-0500)] <colinclark> i'd be curious to see it

[15:35:25 CDT(-0500)] <thealphanerd> yeah

[15:35:32 CDT(-0500)] <thealphanerd> just pushed it

[15:35:40 CDT(-0500)] <travis_84> hey colin and bosmon

[15:35:48 CDT(-0500)] <colinclark> thealphanerd: What's a controlgroup?

[15:35:53 CDT(-0500)] <colinclark> hey travis_84!

[15:36:27 CDT(-0500)] <thealphanerd> maybe that was something from jquery-mobile

[15:36:29 CDT(-0500)] <thealphanerd> which uses aria

[15:36:32 CDT(-0500)] <travis_84> Houston, we have a problem!

[15:36:39 CDT(-0500)] <thealphanerd> they were saying to use that for groups of buttons that are not inline

[15:38:36 CDT(-0500)] <colinclark> thealphanerd: I think it must be jQM-related, rather than ARIA

[15:38:38 CDT(-0500)] <travis_84> MITs servers for the voice services I have been depending on for the project have been down for two days

[15:38:44 CDT(-0500)] <thealphanerd> I think you are right

[15:39:14 CDT(-0500)] <colinclark> travis_84: uh oh!

[15:40:02 CDT(-0500)] <colinclark> travis_84: They're down for me, too

[15:40:09 CDT(-0500)] <travis_84> I have a temp work around but I need a quick hand

[15:41:08 CDT(-0500)] <colinclark> ok

[15:41:23 CDT(-0500)] <colinclark> thealphanerd: Looks like it's one of these: https://github.com/jquery/jquery-mobile/blob/master/js/jquery.mobile.controlGroup.js

[15:42:02 CDT(-0500)] <thealphanerd> well might not be the worst idea to include it

[15:42:05 CDT(-0500)] <thealphanerd> doesn't break anything

[15:42:38 CDT(-0500)] <travis_84> since we are working with strings I just made a simple input but the onclick returns an 'unknown reference

[15:44:10 CDT(-0500)] <travis_84> error even though the method that is called to fire is referenced in the bootLoader.js file linked

[15:45:22 CDT(-0500)] <colinclark> thealphanerd: It looks like, for testing and casual usage, you can link this file: https://github.com/jquery/jquery-mobile/blob/master/js/jquery.mobile.define.js

[15:45:45 CDT(-0500)] <colinclark> travis_84: Can you point us to some lines of code in your Github repo?

[15:45:46 CDT(-0500)] <thealphanerd> ahhh

[15:45:54 CDT(-0500)] <thealphanerd> I commented out the define bit and it works now

[15:46:36 CDT(-0500)] <thealphanerd> i think

[15:49:11 CDT(-0500)] <travis_84> nothing has changed, except in the index.html. I added <input type="text" id="input" cols="25"/> <button id="submit" value="input" onClick="processResults($('#input').val);"></button>

[15:50:24 CDT(-0500)] <travis_84> processResults() is on line 234 in the linked bootLoader.js

[15:51:28 CDT(-0500)] <colinclark> Can you send me a Github link, travis_84?

[15:53:20 CDT(-0500)] <travis_84> https://github.com/travis-love/Eleuthera/blob/master/assets/js/bootLoader.js

[15:56:02 CDT(-0500)] <colinclark> thanks

[15:58:01 CDT(-0500)] <colinclark> So to start, travis_84, it might be easier to debug your code if you don't put it into an onClick attribute on your but