If have commited some changes on the branch command-hash-table. Now in DenemoKeymap commands are stored in a hashmap and no more in a GtkListStore, and bindings are stored in a GList instead of in a GtkListStore. This should reduce a bit the dependency toward Gtk, so it is a first step to make denemo launch without Gtk.
For what I have seen I seems to work. Commands are executed. You can add and remove bindings in command manager etc. Can you please test and tell me if it is mergeable ? 2013/11/3 Éloi Rivard <[email protected]> > One major thing here is that commands are stored in a gtk_list_store in > DenemoKeymap.commands. > Any objection for using a g_hash_table instead ? > It would also improve a bit performance I think. > > > 2013/11/3 Éloi Rivard <[email protected]> > >> There is a comment on generate_sources about this line : >> //define a property "scm" on the action to mean scheme can call the >> action. >> >> >> 2013/11/3 Éloi Rivard <[email protected]> >> >>> Richard, in scheme.h there is a lot of call to g_object_set_data where >>> "scm" field is set to "1" on actions. For example: >>> g_object_set_data(G_OBJECT(lookup_action_from_name("CursorLeft")), >>> "scm", (gpointer)1); >>> This value seem to never be read: >>> >>> ~/dev/denemo [gtk-display|± 2] $ grep -RI g_object_get_data | grep scm >>> 52:src/view.c:9248: //g_print("event button %d, idx %d for %s recording >>> = %d scm = %d\n", event->button, idx, func_name, >>> Denemo.ScriptRecording,g_object_get_data(G_OBJECT(action), "scm") ); >>> ~/dev/denemo [gtk-display|± 2] >>> >>> >>> This line is commented. Do you know what is the use of those calls ? >>> >>> >>> 2013/11/3 Éloi Rivard <[email protected]> >>> >>>> Your tests sound good. For now I am looking at how to launch denemo >>>> without gtk, then I will try to look at GLib testing framework, as it >>>> should not add any dependency. >>>> https://developer.gnome.org/glib/stable/glib-Testing.html >>>> >>>> >>>> 2013/11/1 Richard Shann <[email protected]> >>>> >>>>> On Tue, 2013-10-29 at 17:40 +0100, Éloi Rivard wrote: >>>>> > Since you can access Denemo.gui from everywhere in the code, do you >>>>> > think it is judicious to get rid of "DenemoGUI * gui" parameters in >>>>> > every functions ? Or is it somewhere where you do need this >>>>> > parameter ? >>>>> >>>>> The place where I am aware of DenemoGUI * being passed as a parameter >>>>> is >>>>> in creation; so test scripts to >>>>> >>>>> 1) Open a file >>>>> 2) Add Staffs from a file >>>>> 3) Add Movements from a file >>>>> >>>>> should be in place before trying to do this I think. >>>>> >>>>> There could be other places when switching from one tab to another >>>>> (that >>>>> is when the user has multiple scores open at once - each of these is >>>>> represented by a DenemoGUI* structure kept in a list in >>>>> DenemoRoot.guis). In such code the current musical score Denemo.gui is >>>>> changed to point to another element in Denemo.guis so care would be >>>>> needed not to assume that a parameter DenemoGUI *gui referred to the >>>>> global stored currently in Denemo.gui. >>>>> >>>>> As I mentioned, it is a good idea, but I think we should have some >>>>> basic >>>>> testing set up first. The actual tests will be quite easy to create (I >>>>> can do that easily) but the machinery to run them (create working >>>>> directories, store reference files, update reference files in cases >>>>> where the regression is desired etc) would be more of a challenge for >>>>> me >>>>> just now. (I did, many years ago, set up an over-ambitious testing >>>>> scheme for the actual gui itself, hence the existence of the test >>>>> directory - this was much too early, but now is a good time for simple >>>>> testing, indeed it is long overdue and would save us a lot of >>>>> headaches). >>>>> >>>>> Richard >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Éloi Rivard - [email protected] >>>> >>>> « On perd plus à être indécis qu'à se tromper. » >>>> >>> >>> >>> >>> -- >>> Éloi Rivard - [email protected] >>> >>> « On perd plus à être indécis qu'à se tromper. » >>> >> >> >> >> -- >> Éloi Rivard - [email protected] >> >> « On perd plus à être indécis qu'à se tromper. » >> > > > > -- > Éloi Rivard - [email protected] > > « On perd plus à être indécis qu'à se tromper. » > -- Éloi Rivard - [email protected] « On perd plus à être indécis qu'à se tromper. »
_______________________________________________ Denemo-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/denemo-devel
