On Thu, Feb 14, 2013 at 6:44 PM, Justin Rosander <justinrosan...@gmail.com> wrote: > Thanks for the reply, Arvind. Okay, so I have that working, and I > understand by passing the addresses of the array to my callback, I am > interacting with specific sliders. If the type is void, then how would I > specify that the values of a specific slider is supposed to be related to a > specific integer? In dealing with the callback, my understanding is I am > passing on the address of the array, but I cannot increment the array > directly in the callback like in a for loop: > > static void > _changed_cb(void *data, Evas_Object *obj, void *event_info) > { Generally, data is your private struct. initialised with references to all your operational data. obj would be the source of the event. You should be able to do anything you want here. > double val = elm_slider_value_get(obj); > printf("Changed to %1.0f\n", val); > printf("slider is %d", *(int*)data); //test what is passed to *data > snd_seq_event_t ev; > snd_seq_ev_clear(&ev); > snd_seq_ev_set_source(&ev, out_port); > snd_seq_ev_set_subs(&ev); > > snd_seq_ev_set_controller(&ev, 0, 0, (int)val); //second and third > args need to relate to the specific widget that is being interacted with, > i.e. "1" for "slider 1" > > snd_seq_ev_set_direct(&ev); > snd_seq_event_output_direct(seq_handle, &ev); > snd_seq_drain_output(seq_handle); > } > > My goal here is to have the specific slider relate to specific integers > such as in the second and third arguments of > snd_seq_ev_set_controller(&ev, 0, 0, (int)val); > so that when the specific slider is interacted with, I can pass to another > function that I am dealing with a specific channel number or controller > number. > > > On Wed, Feb 13, 2013 at 8:51 PM, Arvind R <arvin...@gmail.com> wrote: > >> On Thu, Feb 14, 2013 at 6:51 AM, Justin Rosander >> <justinrosan...@gmail.com> wrote: >> > Hi there, >> > >> > I'm trying to put together a midi controller featuring faders that would >> be >> > assigned to different channels. In exploring the use of an array to >> make a >> > window full of sliders, I put the following together: >> > >> > for(x = 0; x < 12; x++) { >> > >> > //add slider >> > sl[x] = elm_slider_add(win); >> > >> > elm_slider_horizontal_set(sl[x], EINA_FALSE); >> > //pack at the end of the box >> > elm_box_pack_end(box, sl[x]); >> > evas_object_show(sl[x]); >> > //callback to function returning value >> > evas_object_smart_callback_add(sl[x], "changed", _changed_cb, NULL); >> > } >> Replace the NULL in the callback_add with a pointer to data. It will >> be available as the first argument in the callback funcion as a void * >> . If you don't need to reference any other data in the cb, you can >> pass &sl[x]. Also, the second arg. in the cb is the first arg. in the >> callback_add(). >> > >> > What I'm trying to figure out is how I would differentiate one slider >> from >> > another in a callback function? For instance, when I move, say, "slider >> 1" >> > as opposed to "slider 2". >> > >> > Any input is appreciated. >> > >> > Justin >> > >> ------------------------------------------------------------------------------ >> > Free Next-Gen Firewall Hardware Offer >> > Buy your Sophos next-gen firewall before the end March 2013 >> > and get the hardware for free! Learn more. >> > http://p.sf.net/sfu/sophos-d2d-feb >> > _______________________________________________ >> > enlightenment-users mailing list >> > enlightenment-users@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/enlightenment-users >> >> >> ------------------------------------------------------------------------------ >> Free Next-Gen Firewall Hardware Offer >> Buy your Sophos next-gen firewall before the end March 2013 >> and get the hardware for free! Learn more. >> http://p.sf.net/sfu/sophos-d2d-feb >> _______________________________________________ >> enlightenment-users mailing list >> enlightenment-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-users >> > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > enlightenment-users mailing list > enlightenment-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-users
------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ enlightenment-users mailing list enlightenment-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-users