Clive Wright kirjoitti: > Yair K. wrote: > >> On Sunday 03 February 2008 03:58:56 Yair K. wrote: >> >>> On Sunday 03 February 2008 03:36:29 Clive Wright wrote: >>> >>>> Re. 4.B >>>> No need to create an extra variable (aval) just move set_value function >>>> call between val assignments. >>>> >>> The problem is that set_values can detect a mixer structure change, so it >>> calls reload_gui (). After that, we don't know that srec exists, so ossxmix >>> could crash. >>> >> To be more accurate, we can be almost certain that srec doesn't exist, since >> reload_gui () frees all these variables and creates new records. Even if >> srec >> accidently matches something, srec->left/right probably don't match a slider. >> >> >>> (That's why set_value was moved to be always after >>> gtk_adjustment_... in the previous patch, and why ossxmix now checks for -1 >>> return value of get_value). >>> >>> >> Another option would be to let set_value return -1 and check for that as in >> get_value, but I found that to be mostly unneccesary since moving set_value >> to be after gtk_adjustment_.. was an easy solution. >> >> > Thats ok. Leave it as it is. I had identified a problem with the > gang_change function and proposed a patch which Hannu did not implement > fully as he preferred max level to mean level. I had assumed that the > call to set_value had moved as a consequence of partial implementation > of my patch. I had not taken your change to reload the gui instead of > restarting ossxmix into account. > Perhaps it's time to move all development of ossxmix directly to the hg tree. I have tried to do some changes both to 4.0 and 4.1 while some other only to 4.1. However this causes some problems because diffs don't apply cleanly between 4.0 and 4.1 versions of ossxmix any more. > Slightly off topic, why does vmix0-vol mono-slider not get updated in > ossxmix when its value gets changed as a result of an external event? > Is it because widgets that have their parent equal to zero get handled > differently to other widgets? If so is there a good reason for this as > it also appears to effect the width of gtkvu widgets? > This may be one reason. However it's also possible that the vmix core doesn't update mixer_devs[]->modify_counter properly when the external app changes the level.
ossxmix calls SNDCTL_MIXERINFO periodically to see if the modify counter value has changed. A change triggers refresh cycle for the sliders. Best regards, Hannu _______________________________________________ oss-devel mailing list oss-devel@mailman.opensound.com http://mailman.opensound.com/mailman/listinfo/oss-devel