Advanced Gtk+ Sequencer - News
Goals of GSequencer 1.3.x
Item posted by Joël Krähemann <jkraehemann> on Wed 27 Dec 2017 01:23:25 AM UTC.
Ok, some goals of 1.2.x were postponed and things changed. At least some ;)
- AgsSoundBox becomes AgsAudiorec machine
- ags-capture recall needs to implemented
- The skeletons of AgsWaveWindow, AgsWaveToolbar, AgsWaveEditor and AgsWaveEdit needs to be implemented
So far, backends like ALSA, OSSv4, Jack Audio Connection Kit and Pulseaudio have got already support for audio input.
This happened as recognizing that all communication need to happen asynchronous to the user interface. Thought, not absolute sure but the strange behavior led me to this decision. The graphical interface "decided" to stop render things. However the backend still was operating, only Gdk events arrived :/
It was probably a dead-lock caused by the direct callback from a different thread than the UI, doing some UI related code.
Prior, I have detected it on Apple Mac OS X and later on GNU+Linux, too.
The solution was obviously an async message delivery. AgsMessageDelivery and AgsMessageQueue in a blueprint like fashion.
More widgets
The automation editor gets a refactoring, yay. It shall be light-weight or at least more intuitive. Some new widgets are available in git, yet.
- AgsScrolledScaleBox
- AgsScaleBox, AgsVScaleBox and AgsHScaleBox
- AgsScale
The scale was used by AgsAutomationEditor and provided by libgsequencer.so, prior. The above widgets are going to be in libags_gui.so.1.
As I have now some experience in creating widgets from scratch, I do so more often. It seems evident to put the AgsWaveEditor related widgets in libags_gui.so.1, too.
- AgsScrolledLevel
- AgsLevel
Machine properties
To extend the settings you can do as machine, would be nice but not mandatory. Another thing would be to allow computation with float within the tree and not signed integers, only.
What's next? Please, let me know.
by Joël
Powered by Savane 3.14-8aba.
Corresponding source code