+if ($make_accelmap) {
+ print "<BindingSet name=\"" . $bindings_name . "\">\n";
+
+ foreach $owner (keys %owner_bindings) {
+ print " <Bindings name=\"$owner\">\n <Press>\n";
+ $bindings = $owner_bindings{$owner};
+ shift (@$bindings); # remove initial empty element
+ for my $binding (@$bindings) {
+ print ' <Binding key="' . @$binding[1] . '" action="' . @$binding[0] . '" group="' . @$binding[2] . "\"/>\n";
+ }
+ print " </Press>\n </Bindings>\n";
+ }
+
+ # merge in the "fixed" bindings that are not defined by the argument given to this program
+ # this covers things like the step editor, monitor and processor box bindings
+
+ foreach $hardcoded_bindings ("mixer.bindings", "step_editing.bindings", "monitor.bindings", "processor_box.bindings") {
+ $path = File::Spec->catfile (dirname ($ARGV[0]), $hardcoded_bindings);
+ open HARDCODED, "<", $path or die $!;
+ while (<HARDCODED>) {
+ print $_;
+ }
+ close HARDCODED;
+ }
+
+ print "</BindingSet>\n";
+}
+