X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Futil.cc;h=71b48a520a9d7793a927e27dcdf08ffca58b8886;hb=c0d2b454ea1e8c9b047907343c902d72101ef6dd;hp=d20fd7dc7b0f4d94cb830dfaf6db4d07683d446d;hpb=b81241ce69a689629307832f802ac4faa6ed885f;p=dcpomatic.git diff --git a/src/lib/util.cc b/src/lib/util.cc index d20fd7dc7..71b48a520 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -422,7 +422,7 @@ digest_head_tail (vector files, boost::uintmax_t size) while (i < int64_t (files.size()) && to_do > 0) { FILE* f = fopen_boost (files[i], "rb"); if (!f) { - throw OpenFileError (files[i].string()); + throw OpenFileError (files[i].string(), errno, true); } boost::uintmax_t this_time = min (to_do, boost::filesystem::file_size (files[i])); @@ -442,7 +442,7 @@ digest_head_tail (vector files, boost::uintmax_t size) while (i >= 0 && to_do > 0) { FILE* f = fopen_boost (files[i], "rb"); if (!f) { - throw OpenFileError (files[i].string()); + throw OpenFileError (files[i].string(), errno, true); } boost::uintmax_t this_time = min (to_do, boost::filesystem::file_size (files[i])); @@ -485,8 +485,7 @@ audio_channel_name (int c) DCPOMATIC_ASSERT (MAX_DCP_AUDIO_CHANNELS == 16); /// TRANSLATORS: these are the names of audio channels; Lfe (sub) is the low-frequency - /// enhancement channel (sub-woofer). HI is the hearing-impaired audio track and - /// VI is the visually-impaired audio track (audio describe). + /// enhancement channel (sub-woofer). string const channels[] = { _("Left"), _("Right"), @@ -509,6 +508,37 @@ audio_channel_name (int c) return channels[c]; } +string +short_audio_channel_name (int c) +{ + DCPOMATIC_ASSERT (MAX_DCP_AUDIO_CHANNELS == 16); + + /// TRANSLATORS: these are short names of audio channels; Lfe is the low-frequency + /// enhancement channel (sub-woofer). HI is the hearing-impaired audio track and + /// VI is the visually-impaired audio track (audio describe). + string const channels[] = { + _("L"), + _("R"), + _("C"), + _("Lfe"), + _("Ls"), + _("Rs"), + _("HI"), + _("VI"), + _("Lc"), + _("Rc"), + _("BsL"), + _("BsR"), + _("DBP"), + _("DBPS"), + _(""), + _("") + }; + + return channels[c]; +} + + bool valid_image_file (boost::filesystem::path f) { @@ -619,13 +649,12 @@ video_asset_filename (shared_ptr asset, int reel_index, int r { dcp::NameFormat::Map values; values['t'] = "j2c"; - values['i'] = asset->id(); values['r'] = raw_convert (reel_index + 1); values['n'] = raw_convert (reel_count); if (summary) { values['c'] = summary.get(); } - return Config::instance()->dcp_asset_filename_format().get(values) + ".mxf"; + return Config::instance()->dcp_asset_filename_format().get(values, "_" + asset->id() + ".mxf"); } string @@ -633,13 +662,12 @@ audio_asset_filename (shared_ptr asset, int reel_index, int ree { dcp::NameFormat::Map values; values['t'] = "pcm"; - values['i'] = asset->id(); values['r'] = raw_convert (reel_index + 1); values['n'] = raw_convert (reel_count); if (summary) { values['c'] = summary.get(); } - return Config::instance()->dcp_asset_filename_format().get(values) + ".mxf"; + return Config::instance()->dcp_asset_filename_format().get(values, "_" + asset->id() + ".mxf"); } float