[Ardour-Dev] Bug in saving and restoring visual state, and fix

Markus Schwarzenberg schwarzb at ipms.fraunhofer.de
Thu Oct 30 17:58:56 PDT 2008


> On Fri, 2008-10-31 at 00:42 +0100, Markus Schwarzenberg wrote:
>> Hi Paul,
>>
>> > On Fri, 2008-10-31 at 00:12 +0100, Markus Schwarzenberg wrote:
>> >> Hi,
>> >>
>> >> saving and restoring visual states didn't work for me (neither in
>> 2.6.1
>> >> nor in 2.5.x) until i applied the fix attached. (diff against
>> >> ardour-2.6.1-4010)
>> >
>> > any chance you could revert and show me the stderr output when
>> pressing
>> > the relevant keys?
>> >
>> nothing happens on stderr/stdout when pressing the keys:
>> (gtk_accel_path "<Actions>/Editor/save-visual-state-2" "<Control>F2")
>> (gtk_accel_path "<Actions>/Editor/save-visual-state-3" "<Control>F3")
>> (gtk_accel_path "<Actions>/Editor/save-visual-state-4" "<Control>F4")
>>
>> (gtk_accel_path "<Actions>/Editor/goto-visual-state-4" "F4")
>> (gtk_accel_path "<Actions>/Editor/goto-visual-state-3" "F3")
>> (gtk_accel_path "<Actions>/Editor/goto-visual-state-2" "F2")
>>
>> All I got in the session on stdout/stderr is in the attachment.
>>
>> For now that's the output resulting from the packman-opensuse-10.3
>> ardour-2.6.1 build.
>>
>> I'll now revert my local build and see if there is more output. Or
>> should
>> i insert any diagnostic printf or something similar or change scons
>> options before doing that?
>
> the old functions should say things like Start/Cancel/queue/dequeue ....
>
indeed. the packman builds seem to have discarded these stderr messages
somehow.

Now i get on save-visual-state (and understand the original binding better):

  Start
          queue

approx. 1 s later (yes, there is a visual feedback in the editor window...):

  deleting prompter

On goto-visual-state however there is only:

  Cancel

nothing more - no "goto", no visual state change.

It looks like visual_state_op_connection.empty() should not
be negated in Editor::cancel_visual_state_op?

  void
  Editor::cancel_visual_state_op (uint32_t n)
  {
	cerr << "Cancel\n";
	if (visual_state_op_connection.empty()) {
		cerr << "\tgoto\n";
                // not needed?
		//visual_state_op_connection.disconnect();
		goto_visual_state (n);
	}
  }

This then works for me (w/o the hack from the my previous mail).

--
Markus




More information about the Ardour-Dev mailing list