From bdc7b8d7b15a03ee8a0e79d756320d567a925fd1 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 26 Mar 2019 18:18:49 +0100 Subject: [PATCH 1/4] Add a note to self --- gtk2_ardour/route_time_axis.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 4d74f0cc7f..90f23c323b 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -2034,6 +2034,7 @@ RouteTimeAxisView::add_existing_processor_automation_curves (boost::weak_ptr al; if ((al = find_processor_automation_curve (processor, param)) != 0) { +#warning NOT REACHED -- bug? al->queue_reset (); } else { add_processor_automation_curve (processor, param); From 952577b4801b6fc3ec2d33fa5f8bc1a692efab35 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 26 Mar 2019 21:05:52 +0100 Subject: [PATCH 2/4] Credit where credit is due. --- gtk2_ardour/about.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk2_ardour/about.cc b/gtk2_ardour/about.cc index f3d6bf56a8..de9ccf927b 100644 --- a/gtk2_ardour/about.cc +++ b/gtk2_ardour/about.cc @@ -167,6 +167,7 @@ static const char* authors[] = { N_("Nick Lanham"), N_("Colin Law"), N_("Joshua Leach"), + N_("Jan Lentfer"), N_("Ben Loftis"), N_("Nick Mainsbridge"), N_("Tim Mayberry"), From 86138d18f9d40d29bf3de0439a5f6be65f69dded Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 26 Mar 2019 22:12:48 +0100 Subject: [PATCH 3/4] Remove extra quotes from meta-data Arguments are passed as argp[] array to execve() and don't need to be enclosed by quotes. --- libs/pbd/system_exec.cc | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/libs/pbd/system_exec.cc b/libs/pbd/system_exec.cc index 29bc11bb3b..0a17cce560 100644 --- a/libs/pbd/system_exec.cc +++ b/libs/pbd/system_exec.cc @@ -249,23 +249,22 @@ SystemExec::format_key_value_parameter (std::string key, std::string value) start_pos += 1; } +#ifdef PLATFORM_WINDOWS + /* SystemExec::make_wargs() adds quotes around the complete argument + * windows uses CreateProcess() with a parameter string + * (and not an array list of separate arguments like Unix) + * so quotes need to be escaped. + */ start_pos = 0; while((start_pos = v1.find("\"", start_pos)) != std::string::npos) { v1.replace(start_pos, 1, "\\\""); start_pos += 2; } - - size_t len = key.length() + v1.length() + 4; - char *mds = (char*) calloc(len, sizeof(char)); -#ifdef PLATFORM_WINDOWS - /* SystemExec::make_wargs() adds quotes around the complete argument - * windows uses CreateProcess() with a parameter string - * (and not an array list of separate arguments) - */ - snprintf(mds, len, "%s=%s", key.c_str(), v1.c_str()); -#else - snprintf(mds, len, "%s=\"%s\"", key.c_str(), v1.c_str()); #endif + + size_t len = key.length() + v1.length() + 2; + char *mds = (char*) calloc(len, sizeof(char)); + snprintf(mds, len, "%s=%s", key.c_str(), v1.c_str()); return mds; } From 572df2c3bd10737b457dd92844fb451633ca7752 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 26 Mar 2019 22:25:20 +0100 Subject: [PATCH 4/4] NO-OP: add comment for cross-reference --- libs/ardour/audiofile_tagger.cc | 2 ++ libs/ardour/session_metadata.cc | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/libs/ardour/audiofile_tagger.cc b/libs/ardour/audiofile_tagger.cc index 0131292680..c8e30e7e49 100644 --- a/libs/ardour/audiofile_tagger.cc +++ b/libs/ardour/audiofile_tagger.cc @@ -42,6 +42,8 @@ namespace ARDOUR bool AudiofileTagger::tag_file (std::string const & filename, SessionMetadata const & metadata) { + /* see also SessionMetadata::av_export_tag () for ffmpeg/liblame */ + TagLib::FileRef file (filename.c_str()); if (file.isNull()) { std::cerr << "TagLib::FileRef is null for file" << filename << std::endl; diff --git a/libs/ardour/session_metadata.cc b/libs/ardour/session_metadata.cc index fbe5222552..c696b6cd22 100644 --- a/libs/ardour/session_metadata.cc +++ b/libs/ardour/session_metadata.cc @@ -651,6 +651,12 @@ SessionMetadata::set_country (const string & v) void SessionMetadata::av_export_tag (MetaDataMap& meta) const { + /* this is used for ffmpeg/liblame -metadata key=value + * (video and mp3 export). + * for flac/ogg's vorbis-comment see: + * AudiofileTagger::tag_generic() + * AudiofileTagger::tag_vorbis_comment() + */ if (year() > 0) { std::ostringstream osstream; osstream << year(); meta["year"] = osstream.str();