5c58ff262bf128f78c2ec77d8462ecccab3d6c6a
larrym
  Mon Feb 13 11:06:08 2012 -0800
add trackDbAddSetting
diff --git src/hg/lib/trackDbCustom.c src/hg/lib/trackDbCustom.c
index 12013af..1cf03b0 100644
--- src/hg/lib/trackDbCustom.c
+++ src/hg/lib/trackDbCustom.c
@@ -782,30 +782,36 @@
 
 char *trackDbSetting(struct trackDb *tdb, char *name)
 /* Look for a trackDb setting from lowest level on up chain of parents. */
 {
 struct trackDb *generation;
 char *trackSetting = NULL;
 for (generation = tdb; generation != NULL; generation = generation->parent)
     {
     trackSetting = trackDbLocalSetting(generation,name);
     if (trackSetting != NULL)
         break;
     }
 return trackSetting;
 }
 
+void trackDbAddSetting(struct trackDb *bt, char *name, char *val)
+{
+/* Add a setting to a trackDb rec */
+hashAdd(trackDbHashSettings(bt), name, cloneString(val));
+}
+
 char *trackDbSettingByView(struct trackDb *tdb, char *name)
 /* For a subtrack of a multiview composite, get a setting stored in the view or any other
  * ancestor. */
 {
 if (tdb->parent == NULL)
     return NULL;
 return trackDbSetting(tdb->parent, name);
 }
 
 
 char *trackDbSettingClosestToHomeOrDefault(struct trackDb *tdb, char *name, char *defaultVal)
 /* Look for a trackDb setting (or default) from lowest level on up chain of parents. */
 {
 char *trackSetting = trackDbSetting(tdb,name);
 if(trackSetting == NULL)