summaryrefslogtreecommitdiff
path: root/libs/ardour/audiofilesource.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audiofilesource.cc')
-rw-r--r--libs/ardour/audiofilesource.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc
index 3bf252af3d..2edd06282b 100644
--- a/libs/ardour/audiofilesource.cc
+++ b/libs/ardour/audiofilesource.cc
@@ -207,11 +207,14 @@ AudioFileSource::get_soundfile_info (const string& path, SoundFileInfo& _info, s
XMLNode&
AudioFileSource::get_state ()
{
+ LocaleGuard lg;
XMLNode& root (AudioSource::get_state());
char buf[32];
snprintf (buf, sizeof (buf), "%u", _channel);
root.add_property (X_("channel"), buf);
- root.add_property (X_("origin"), _origin);
+ root.add_property (X_("origin"), _origin);
+ snprintf (buf, sizeof (buf), "%f", _gain);
+ root.add_property (X_("gain"), buf);
return root;
}
@@ -283,6 +286,20 @@ AudioFileSource::setup_peakfile ()
}
}
+void
+AudioFileSource::set_gain (float g, bool temporarily)
+{
+ if (_gain == g) {
+ return;
+ }
+ _gain = g;
+ if (temporarily) {
+ return;
+ }
+ close_peakfile();
+ setup_peakfile ();
+}
+
bool
AudioFileSource::safe_audio_file_extension(const string& file)
{