mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-20 19:41:34 +01:00
multimedia/bombono-dvd: Fix build.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
053714cbb4
commit
9a97e05d11
7 changed files with 462 additions and 2 deletions
|
@ -24,7 +24,7 @@
|
|||
|
||||
PRGNAM=bombono-dvd
|
||||
VERSION=${VERSION:-1.2.2}
|
||||
BUILD=${BUILD:-1}
|
||||
BUILD=${BUILD:-2}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -75,16 +75,28 @@ find -L . \
|
|||
sed -i "s|-O2||" SConstruct
|
||||
# Allow use of cdrtools as an alternative to cdrkit, thanks gentoo
|
||||
patch -p1 < $CWD/patches/bombono-dvd-1.2.0-cdrtools.patch
|
||||
|
||||
# Fix for the newer ffmpeg - thanks ArchLinux
|
||||
patch -p1 < $CWD/patches/fix_ffmpeg_codecid.patch
|
||||
# Fix for ffmpeg-2.6.3 - thanks to Gentoo and John Vogel
|
||||
patch -p1 < $CWD/patches/bombono-dvd-1.2.2-ffmpeg26.patch
|
||||
# Credit to ARCH Linux
|
||||
patch -p1 < $CWD/patches/fix_ptr2bool_cast.patch
|
||||
patch -p1 < $CWD/patches/fix_c++11_literal_warnings.patch
|
||||
patch -p1 < $CWD/patches/fix_crefoftemp_bug.patch
|
||||
patch -p1 < $CWD/patches/autoptr2uniqueptr.patch
|
||||
patch -p1 < $CWD/patches/stream_bool_cast.patch
|
||||
patch -p1 < $CWD/patches/boost.patch
|
||||
|
||||
# Build package
|
||||
|
||||
scons \
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS -Wno-unused-local-typedefs" \
|
||||
CPPFLAGS="-std=c++11 \
|
||||
-DBOOST_SYSTEM_NO_DEPRECATED \
|
||||
-DBOOST_FILESYSTEM_NO_DEPRECATED \
|
||||
-DBOOST_FILESYSTEM_VERSION=3" \
|
||||
USE_EXT_BOOST=1 \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=/usr/lib${LIBDIRSUFFIX} \
|
||||
DIST_TARGET="$TARGET" \
|
||||
|
|
12
multimedia/bombono-dvd/patches/autoptr2uniqueptr.patch
Normal file
12
multimedia/bombono-dvd/patches/autoptr2uniqueptr.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
--- bombono-dvd-1.2.2/libs/boost-logging/boost/logging/detail/tss/tss_impl_pthread.hpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/libs/boost-logging/boost/logging/detail/tss/tss_impl_pthread.hpp 2015-11-26 20:06:48.693423531 +0330
|
||||
@@ -39,7 +39,7 @@
|
||||
slots = static_cast<tss_slots*>( pthread_getspecific(tss_data_native_key()));
|
||||
if (slots == 0)
|
||||
{
|
||||
- std::auto_ptr<tss_slots> temp( new_object_ensure_delete<tss_slots>() );
|
||||
+ std::unique_ptr<tss_slots> temp( new_object_ensure_delete<tss_slots>() );
|
||||
// pre-allocate a few elems, so that we'll be fast
|
||||
temp->resize(BOOST_LOG_TSS_SLOTS_SIZE);
|
||||
|
||||
|
157
multimedia/bombono-dvd/patches/boost.patch
Normal file
157
multimedia/bombono-dvd/patches/boost.patch
Normal file
|
@ -0,0 +1,157 @@
|
|||
diff -ru bombono-dvd-1.2.2/src/mbase/project/table.cpp new/src/mbase/project/table.cpp
|
||||
--- bombono-dvd-1.2.2/src/mbase/project/table.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mbase/project/table.cpp 2016-01-19 13:02:00.117338769 +0330
|
||||
@@ -154,7 +154,7 @@
|
||||
void SerializePath(Archieve& ar, const char* tag_name, std::string& fpath)
|
||||
{
|
||||
//ar & NameValue("Path", mdPath);
|
||||
- fs::path rel_to_dir = fs::path(AData().GetProjectFName()).branch_path();
|
||||
+ fs::path rel_to_dir = fs::path(AData().GetProjectFName()).parent_path();
|
||||
if( ar.IsLoad() )
|
||||
{
|
||||
ar >> NameValue(tag_name, fpath);
|
||||
diff -ru bombono-dvd-1.2.2/src/mgui/author/script.cpp new/src/mgui/author/script.cpp
|
||||
--- bombono-dvd-1.2.2/src/mgui/author/script.cpp 2016-01-19 12:54:07.640700667 +0330
|
||||
+++ new/src/mgui/author/script.cpp 2016-01-19 12:59:52.407346489 +0330
|
||||
@@ -676,7 +676,7 @@
|
||||
if( !fs::exists(font_path) )
|
||||
{
|
||||
std::string err_str;
|
||||
- if( !CreateDirs(font_path.branch_path(), err_str) )
|
||||
+ if( !CreateDirs(font_path.parent_path(), err_str) )
|
||||
Error(err_str.c_str());
|
||||
fs::copy_file(DataDirPath("copy-n-paste/FreeSans.ttf"), font_path);
|
||||
}
|
||||
diff -ru bombono-dvd-1.2.2/src/mgui/mux.cpp new/src/mgui/mux.cpp
|
||||
--- bombono-dvd-1.2.2/src/mgui/mux.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/mux.cpp 2016-01-19 12:58:22.840685236 +0330
|
||||
@@ -162,7 +162,7 @@
|
||||
fs::path pth = GetFilename(v_btn);
|
||||
if( pth.empty() )
|
||||
return;
|
||||
- std::string folder = pth.branch_path().string();
|
||||
+ std::string folder = pth.parent_path().string();
|
||||
|
||||
if( a_btn.get_filename().empty() )
|
||||
a_btn.set_current_folder(folder);
|
||||
diff -ru bombono-dvd-1.2.2/src/mgui/project/add.cpp new/src/mgui/project/add.cpp
|
||||
--- bombono-dvd-1.2.2/src/mgui/project/add.cpp 2016-01-19 12:54:07.634034002 +0330
|
||||
+++ new/src/mgui/project/add.cpp 2016-01-19 13:00:49.220676388 +0330
|
||||
@@ -479,7 +479,7 @@
|
||||
MessageBox(BF_("The file \"%1%\" looks like VOB from DVD.\nRun import?") % leaf % bf::stop,
|
||||
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_OK_CANCEL) == Gtk::RESPONSE_OK )
|
||||
{
|
||||
- DVD::RunImport(*GetTopWindow(brw), pth.branch_path().string());
|
||||
+ DVD::RunImport(*GetTopWindow(brw), pth.parent_path().string());
|
||||
return;
|
||||
}
|
||||
}
|
||||
diff -ru bombono-dvd-1.2.2/src/mgui/project/serialize.cpp new/src/mgui/project/serialize.cpp
|
||||
--- bombono-dvd-1.2.2/src/mgui/project/serialize.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/project/serialize.cpp 2016-01-19 13:00:29.230677594 +0330
|
||||
@@ -73,7 +73,7 @@
|
||||
fs::path full_path(db.GetProjectFName());
|
||||
std::string res_str = fs::name_str(full_path);
|
||||
if( with_path_breakdown )
|
||||
- res_str += " (" + full_path.branch_path().string() + ")";
|
||||
+ res_str += " (" + full_path.parent_path().string() + ")";
|
||||
return res_str;
|
||||
}
|
||||
|
||||
diff -ru bombono-dvd-1.2.2/src/mgui/timeline/select.cpp new/src/mgui/timeline/select.cpp
|
||||
--- bombono-dvd-1.2.2/src/mgui/timeline/select.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/timeline/select.cpp 2016-01-19 12:59:12.187348923 +0330
|
||||
@@ -152,7 +152,7 @@
|
||||
|
||||
mon.FramePixbuf()->save(fnam, ext);
|
||||
|
||||
- SaveFrameDir() = fs::path(fnam).branch_path().string();
|
||||
+ SaveFrameDir() = fs::path(fnam).parent_path().string();
|
||||
if( add_btn.get_active() )
|
||||
Project::TryAddMediaQuiet(fnam, "SaveFrame");
|
||||
}
|
||||
diff -ru bombono-dvd-1.2.2/src/mbase/project/table.cpp new/src/mbase/project/table.cpp
|
||||
--- bombono-dvd-1.2.2/src/mbase/project/table.cpp 2016-01-19 13:11:42.883970202 +0330
|
||||
+++ new/src/mbase/project/table.cpp 2016-01-19 13:42:58.317190146 +0330
|
||||
@@ -162,7 +162,7 @@
|
||||
if( !fpath.empty() )
|
||||
{
|
||||
fs::path pth(fpath);
|
||||
- if( !pth.is_complete() )
|
||||
+ if( !pth.is_absolute() )
|
||||
fpath = (rel_to_dir/fpath).string();
|
||||
}
|
||||
}
|
||||
diff -ru bombono-dvd-1.2.2/src/mbase/project/tests/test_table.cpp new/src/mbase/project/tests/test_table.cpp
|
||||
--- bombono-dvd-1.2.2/src/mbase/project/tests/test_table.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mbase/project/tests/test_table.cpp 2016-01-19 13:42:16.977192649 +0330
|
||||
@@ -129,7 +129,7 @@
|
||||
// проверка чтения/записи путей
|
||||
boost::intrusive_ptr<StillImageMD> pict2 = ptr::dynamic_pointer_cast<StillImageMD>(ml[2]);
|
||||
fs::path pth = pict2->GetPath();
|
||||
- BOOST_CHECK( pth.is_complete() );
|
||||
+ BOOST_CHECK( pth.is_absolute() );
|
||||
BOOST_CHECK( fs::exists(pth) );
|
||||
|
||||
// проверка ссылок
|
||||
diff -ru bombono-dvd-1.2.2/src/mlib/tests/test_utils.cpp new/src/mlib/tests/test_utils.cpp
|
||||
--- bombono-dvd-1.2.2/src/mlib/tests/test_utils.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mlib/tests/test_utils.cpp 2016-01-19 13:23:58.830592369 +0330
|
||||
@@ -139,17 +139,17 @@
|
||||
#endif
|
||||
}
|
||||
|
||||
- // is_complete
|
||||
+ // is_absolute
|
||||
{
|
||||
fs::path pth("../some_file");
|
||||
- BOOST_CHECK( !pth.is_complete() );
|
||||
- BOOST_CHECK( fs::current_path().is_complete() );
|
||||
+ BOOST_CHECK( !pth.is_absolute() );
|
||||
+ BOOST_CHECK( fs::current_path().is_absolute() );
|
||||
|
||||
fs::path apth = Project::MakeAbsolutePath(pth);
|
||||
//LOG_INF << "Making abs path: " << pth.string() << " => " << apth.string() << io::endl;
|
||||
|
||||
- BOOST_CHECK( Project::MakeAbsolutePath(pth, MakeRootComplete("/")).is_complete() );
|
||||
- BOOST_CHECK( !Project::MakeAbsolutePath(pth, "./").is_complete() );
|
||||
+ BOOST_CHECK( Project::MakeAbsolutePath(pth, MakeRootComplete("/")).is_absolute() );
|
||||
+ BOOST_CHECK( !Project::MakeAbsolutePath(pth, "./").is_absolute() );
|
||||
}
|
||||
|
||||
// MakeRelativeToDir
|
||||
diff -ru bombono-dvd-1.2.2/src/mlib/filesystem.cpp new/src/mlib/filesystem.cpp
|
||||
--- bombono-dvd-1.2.2/src/mlib/filesystem.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mlib/filesystem.cpp 2016-01-19 14:02:05.303787474 +0330
|
||||
@@ -161,25 +161,16 @@
|
||||
|
||||
fs::path MakeAbsolutePath(const fs::path& pth, const fs::path& cur_dir)
|
||||
{
|
||||
- fs::path res;
|
||||
-
|
||||
- if( pth.is_complete() )
|
||||
- res = pth;
|
||||
- else
|
||||
- {
|
||||
- fs::path dir = cur_dir.empty() ? fs::current_path() : cur_dir ;
|
||||
- res = dir/pth;
|
||||
- }
|
||||
- return res.normalize();
|
||||
+ return absolute(pth, cur_dir);
|
||||
}
|
||||
|
||||
// оба аргумента должны быть абсолютными путями
|
||||
bool MakeRelativeToDir(fs::path& pth, fs::path dir)
|
||||
{
|
||||
- pth.normalize();
|
||||
- dir.normalize();
|
||||
- ASSERT( pth.is_complete() );
|
||||
- ASSERT( dir.is_complete() );
|
||||
+ pth = canonical(pth);
|
||||
+ dir = canonical(dir);
|
||||
+ ASSERT( pth.is_absolute() );
|
||||
+ ASSERT( dir.is_absolute() );
|
||||
|
||||
fs::path::iterator p_itr = pth.begin(), p_end = pth.end();
|
||||
fs::path::iterator d_itr = dir.begin(), d_end = dir.end();
|
||||
|
168
multimedia/bombono-dvd/patches/fix_c++11_literal_warnings.patch
Normal file
168
multimedia/bombono-dvd/patches/fix_c++11_literal_warnings.patch
Normal file
|
@ -0,0 +1,168 @@
|
|||
--- bombono-dvd-1.2.2/src/mlib/regex.h 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mlib/regex.h 2015-11-20 18:37:26.167057488 +0330
|
||||
@@ -185,7 +185,7 @@
|
||||
#define RG_EW "\\>" // конец слова
|
||||
#define RG_SPS "[[:space:]]*" // пробелы
|
||||
#define RG_NUM "([0-9]+)" // число
|
||||
-#define RG_FLT RG_NUM"([\\.,]"RG_NUM")" // вещ. число, в паре с ExtractDouble()
|
||||
+#define RG_FLT RG_NUM "([\\.,]" RG_NUM ")" // вещ. число, в паре с ExtractDouble()
|
||||
#define RG_CMD_BEG RG_BW // "^"RG_SPS // начало команды
|
||||
|
||||
bool ExtractDouble(double& val, const re::match_results& what, int idx = 1);
|
||||
--- bombono-dvd-1.2.2/src/mgui/author/burn.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/author/burn.cpp 2015-11-20 18:44:47.940364110 +0330
|
||||
@@ -85,7 +85,7 @@
|
||||
return bd;
|
||||
}
|
||||
|
||||
-re::pattern WriteSpeed_RE("Write Speed #"RG_NUM":"RG_SPS RG_NUM"\\."RG_NUM "x1385");
|
||||
+re::pattern WriteSpeed_RE("Write Speed #" RG_NUM ":" RG_SPS RG_NUM "\\." RG_NUM "x1385");
|
||||
|
||||
RefPtr<Gtk::ListStore> sp_store;
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- static re::pattern media_type_re("Mounted Media:"RG_SPS"[0-9A-F]+h, ([^ \n]+)");
|
||||
+ static re::pattern media_type_re("Mounted Media:" RG_SPS "[0-9A-F]+h, ([^ \n]+)");
|
||||
re::match_results what;
|
||||
|
||||
bool is_found = re::search(out_info, what, media_type_re);
|
||||
@@ -277,7 +277,7 @@
|
||||
// isBlank
|
||||
if( res != dvdOTHER )
|
||||
{
|
||||
- static re::pattern media_status_re("Disc status:"RG_SPS"([a-z]+)\n");
|
||||
+ static re::pattern media_status_re("Disc status:" RG_SPS "([a-z]+)\n");
|
||||
bool is_found = re::search(out_info, what, media_status_re);
|
||||
ASSERT_RTL( is_found );
|
||||
|
||||
--- bombono-dvd-1.2.2/src/mgui/author/execute.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/author/execute.cpp 2015-11-20 18:47:25.260354601 +0330
|
||||
@@ -64,9 +64,9 @@
|
||||
tag->property_foreground() = "darkgreen";
|
||||
}
|
||||
|
||||
-re::pattern DVDAuthorRE(RG_CMD_BEG"dvdauthor"RG_EW ".*-x"RG_EW RG_SPS RG_BW"DVDAuthor\\.xml"RG_EW);
|
||||
-re::pattern MkIsoFsRE(RG_CMD_BEG MK_ISO_CMD RG_EW ".*-dvd-video"RG_EW ".*>.*"RG_BW"dvd.iso"RG_EW);
|
||||
-re::pattern GrowIsoFsRE(RG_CMD_BEG"growisofs"RG_EW ".*-dvd-compat"RG_EW ".*-dvd-video"RG_EW);
|
||||
+re::pattern DVDAuthorRE(RG_CMD_BEG"dvdauthor" RG_EW ".*-x" RG_EW RG_SPS RG_BW "DVDAuthor\\.xml" RG_EW);
|
||||
+re::pattern MkIsoFsRE(RG_CMD_BEG MK_ISO_CMD RG_EW ".*-dvd-video" RG_EW ".*>.*" RG_BW "dvd.iso" RG_EW);
|
||||
+re::pattern GrowIsoFsRE(RG_CMD_BEG"growisofs" RG_EW ".*-dvd-compat" RG_EW ".*-dvd-video" RG_EW);
|
||||
|
||||
//static void PrintMatchResults(const re::match_results& what)
|
||||
//{
|
||||
@@ -94,7 +94,7 @@
|
||||
virtual void Filter(const std::string& line);
|
||||
};
|
||||
|
||||
-re::pattern MkIsoFsPercent_RE( RG_FLT"?% done");
|
||||
+re::pattern MkIsoFsPercent_RE( RG_FLT "?% done");
|
||||
|
||||
void MkIsoFsPP::Filter(const std::string& line)
|
||||
{
|
||||
@@ -126,8 +126,8 @@
|
||||
bool fixStage;
|
||||
};
|
||||
|
||||
-re::pattern DVDAuthorVOB_RE( "^STAT: VOBU "RG_NUM" at "RG_NUM"MB");
|
||||
-re::pattern DVDAuthorFix_RE( "^STAT: fixing VOBU at "RG_NUM"MB \\("RG_NUM"/"RG_NUM", "RG_NUM"%\\)");
|
||||
+re::pattern DVDAuthorVOB_RE( "^STAT: VOBU " RG_NUM " at " RG_NUM "MB");
|
||||
+re::pattern DVDAuthorFix_RE( "^STAT: fixing VOBU at " RG_NUM "MB \\(" RG_NUM "/" RG_NUM ", " RG_NUM "%\\)");
|
||||
|
||||
void DVDAuthorPP::Filter(const std::string& line)
|
||||
{
|
||||
@@ -157,7 +157,7 @@
|
||||
if( p )
|
||||
of.SetProgress(p);
|
||||
|
||||
- static re::pattern ch_error_re("ERR:.*Cannot jump to chapter "RG_NUM" of title "RG_NUM", only "RG_NUM" exist");
|
||||
+ static re::pattern ch_error_re("ERR:.*Cannot jump to chapter " RG_NUM " of title " RG_NUM ", only " RG_NUM " exist");
|
||||
if( re::search(line, what, ch_error_re) )
|
||||
{
|
||||
std::string& err_str = of.firstError;
|
||||
--- bombono-dvd-1.2.2/src/mgui/author/render.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/author/render.cpp 2015-11-20 18:50:40.550342794 +0330
|
||||
@@ -866,7 +866,7 @@
|
||||
//
|
||||
// :KLUDGE: (только) в ffmpeg, avformat 53.13.0, поменяли . на : => надо
|
||||
// самим открывать файл и узнавать индекс!
|
||||
- static re::pattern audio_idx("Stream #"RG_NUM"[\\.|:]"RG_NUM".*Audio:");
|
||||
+ static re::pattern audio_idx("Stream #" RG_NUM "[\\.|:]" RG_NUM ".*Audio:");
|
||||
|
||||
re::match_results what;
|
||||
// флаг означает, что перевод строки не может быть точкой
|
||||
@@ -1221,17 +1221,17 @@
|
||||
{
|
||||
CheckNoCodecs(CheckForCodecList(conts));
|
||||
|
||||
- static re::pattern dvd_format("^ .E dvd"RG_EW);
|
||||
+ static re::pattern dvd_format("^ .E dvd" RG_EW);
|
||||
CheckStrippedFFmpeg(dvd_format, conts, "dvd format");
|
||||
|
||||
// :TRICKY: с версии libavcodec 54 при выводе начальный пробел не ставят => поэтому ?
|
||||
// ("спасибо" Anton Khirnov за очередное "улучшение")
|
||||
#define _CPP_ "^ ?"
|
||||
- static re::pattern mpeg2video_codec(_CPP_".EV... mpeg2video"RG_EW);
|
||||
+ static re::pattern mpeg2video_codec(_CPP_ ".EV... mpeg2video" RG_EW);
|
||||
CheckStrippedFFmpeg(mpeg2video_codec, conts, "mpeg2 video encoder");
|
||||
|
||||
// по факту ffmpeg всегда использует ac3, однако mp2 тоже возможен
|
||||
- static re::pattern ac3_codec(_CPP_".EA... ac3"RG_EW);
|
||||
+ static re::pattern ac3_codec(_CPP_ ".EA... ac3" RG_EW);
|
||||
CheckStrippedFFmpeg(ac3_codec, conts, "ac3 audio encoder");
|
||||
#undef _CPP_
|
||||
}
|
||||
@@ -1241,7 +1241,7 @@
|
||||
// * ищем версию libavfilter
|
||||
// пример: " libavfilter 0. 4. 0 / "
|
||||
#define RG_PADNUM RG_SPS RG_NUM
|
||||
- std::string reg_str = boost::format(RG_BW"%1%"RG_PADNUM"\\."RG_PADNUM"\\."RG_PADNUM" / ")
|
||||
+ std::string reg_str = boost::format(RG_BW "%1%" RG_PADNUM "\\." RG_PADNUM "\\." RG_PADNUM " / ")
|
||||
% avlib_name % bf::stop;
|
||||
re::pattern avfilter_version(reg_str.c_str());
|
||||
return FindVersion(conts, avfilter_version, AVCnvBin(), avlib_name);
|
||||
--- bombono-dvd-1.2.2/src/mgui/author/script.cpp 2015-11-20 18:40:35.770379359 +0330
|
||||
+++ new/src/mgui/author/script.cpp 2015-11-20 19:02:42.020299175 +0330
|
||||
@@ -755,9 +755,9 @@
|
||||
// ffmpeg выводит статистику первого создаваемого файла каждые полсекунды,
|
||||
// см. print_report() (при verbose=1, по умолчанию)
|
||||
// Формат размера: "size=%8.0fkB"
|
||||
-re::pattern FFmpegSizePat( "size= *"RG_NUM"kB");
|
||||
+re::pattern FFmpegSizePat( "size= *" RG_NUM "kB");
|
||||
// Формат длительности: "time=%0.2f"
|
||||
-re::pattern FFmpegDurPat( "time="RG_FLT);
|
||||
+re::pattern FFmpegDurPat( "time=" RG_FLT);
|
||||
|
||||
static void OnTranscodePrintParse(const char* dat, int sz, const PercentFunctor& fnr)
|
||||
{
|
||||
@@ -787,7 +787,7 @@
|
||||
|
||||
// Формат длительности для ffmpeg c коммита dd471070: "time=%02d:%02d:%02d.%02d"
|
||||
// Образец: frame= 208 fps= 58 q=2.0 size= 476kB time=00:00:08.44 bitrate= 461.9kbits/s dup=1 drop=0
|
||||
-re::pattern FFmpegNewDurPat( "time="RG_NUM":"RG_NUM":"RG_FLT);
|
||||
+re::pattern FFmpegNewDurPat( "time=" RG_NUM ":" RG_NUM ":" RG_FLT);
|
||||
|
||||
static void OnTranscodeHMSParse(const char* dat, int sz, const PercentFunctor& fnr)
|
||||
{
|
||||
@@ -1136,7 +1136,7 @@
|
||||
// 2) парсер dvdauthor не любит незнакомые ему атрибуты => spumux < 0.7 не работает
|
||||
std::string help_str;
|
||||
PipeOutput("spumux -h", help_str);
|
||||
- static re::pattern spumux_version("DVDAuthor::spumux, version "RG_NUM"\\."RG_NUM"\\."RG_NUM"\\.\n");
|
||||
+ static re::pattern spumux_version("DVDAuthor::spumux, version " RG_NUM "\\." RG_NUM "\\." RG_NUM "\\.\n");
|
||||
if( IsVersionGE(FindVersion(help_str, spumux_version, "spumux"), TripleVersion(0, 7, 0)) )
|
||||
AddFormatAttr(sp);
|
||||
|
||||
--- bombono-dvd-1.2.2/src/mgui/project/browser.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/project/browser.cpp 2015-11-20 19:03:52.983628220 +0330
|
||||
@@ -328,7 +328,7 @@
|
||||
return hb;
|
||||
}
|
||||
|
||||
-std::string MediaItemDnDTVType() { return "DnDTreeView<"DND_MI_NAME">"; }
|
||||
+std::string MediaItemDnDTVType() { return "DnDTreeView<" DND_MI_NAME ">"; }
|
||||
|
||||
void SetupBrowser(ObjectBrowser& brw, int dnd_column, bool is_media_brw)
|
||||
{
|
21
multimedia/bombono-dvd/patches/fix_crefoftemp_bug.patch
Normal file
21
multimedia/bombono-dvd/patches/fix_crefoftemp_bug.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
--- bombono-dvd-1.2.2/src/mgui/project/menu-actions.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/project/menu-actions.cpp 2015-11-20 19:17:23.516912549 +0330
|
||||
@@ -187,7 +187,7 @@
|
||||
txt.MediaItem().ClearLink();
|
||||
}
|
||||
|
||||
-void UpdateMenuRegionObject(Comp::Object* obj, const Point& menu_sz, RectListRgn& lst)
|
||||
+void UpdateMenuRegionObject(Comp::Object* obj, Point menu_sz, RectListRgn& lst)
|
||||
{
|
||||
MenuRegionEraserVis vis(obj, menu_sz, lst);
|
||||
//PrimaryRegionEraserVis vis(obj, false);
|
||||
@@ -198,7 +198,7 @@
|
||||
{
|
||||
CanvasBuf& cb = mp.thRgn.GetCanvasBuf();
|
||||
ForeachLinked(mp.Owner(), bb::bind(&UpdateMenuRegionObject,
|
||||
- _1, boost::cref(cb.Size()),
|
||||
+ _1, cb.Size(),
|
||||
boost::ref(cb.RenderList())));
|
||||
}
|
||||
|
||||
|
77
multimedia/bombono-dvd/patches/fix_ptr2bool_cast.patch
Normal file
77
multimedia/bombono-dvd/patches/fix_ptr2bool_cast.patch
Normal file
|
@ -0,0 +1,77 @@
|
|||
--- bombono-dvd-1.2.2/src/mgui/dvdimport.cpp 2015-11-20 18:22:23.123778752 +0330
|
||||
+++ new/src/mgui/dvdimport.cpp 2015-11-20 18:22:11.813779436 +0330
|
||||
@@ -275,7 +275,7 @@
|
||||
id.errLbl.hide();
|
||||
|
||||
id.reader = rd;
|
||||
- SetCurPageComplete(id.ast, id.reader);
|
||||
+ SetCurPageComplete(id.ast, id.reader != nullptr);
|
||||
|
||||
return rd;
|
||||
}
|
||||
--- bombono-dvd-1.2.2/src/mgui/author/script.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/author/script.cpp 2015-11-20 18:29:40.877085620 +0330
|
||||
@@ -279,7 +279,7 @@
|
||||
|
||||
ASSERT_RTL( vi || mn );
|
||||
// VTS domain
|
||||
- bool is_video = vi;
|
||||
+ bool is_video = vi != nullptr;
|
||||
const PostAction& pa = is_video ? vi->PAction() : mn->MtnData().pAct ;
|
||||
|
||||
std::string jnt_cmd;
|
||||
--- bombono-dvd-1.2.2/src/mgui/project/add.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/project/add.cpp 2015-11-20 18:40:01.493714764 +0330
|
||||
@@ -415,7 +415,7 @@
|
||||
{
|
||||
std::string err_str;
|
||||
Gtk::TreePath pth;
|
||||
- bool res = TryAddMedia(fname.c_str(), pth, err_str);
|
||||
+ bool res = TryAddMedia(fname.c_str(), pth, err_str) != nullptr;
|
||||
if( !res )
|
||||
{
|
||||
LOG_ERR << "TryAddMediaQuiet error (" << desc << "): " << err_str << io::endl;
|
||||
@@ -538,7 +538,7 @@
|
||||
continue;
|
||||
}
|
||||
|
||||
- bool res = TryAddMedia(fpath.c_str(), brw_pth, err_str, insert_after);
|
||||
+ bool res = TryAddMedia(fpath.c_str(), brw_pth, err_str, insert_after) != nullptr;
|
||||
if( res )
|
||||
{
|
||||
insert_after = true; // вставляем друг за другом
|
||||
--- bombono-dvd-1.2.2/src/mgui/project/media-browser.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/project/media-browser.cpp 2015-11-20 19:06:49.926950853 +0330
|
||||
@@ -854,7 +854,7 @@
|
||||
Gtk::MenuItem& ea_itm = AppendMI(mn, NewManaged<Gtk::MenuItem>(_("End Action")));
|
||||
// только видео
|
||||
VideoItem vi = IsVideo(mi);
|
||||
- if( SetEnabled(ea_itm, vi) )
|
||||
+ if( SetEnabled(ea_itm, vi != nullptr) )
|
||||
ea_itm.set_submenu(EndActionMenuBld(vi->PAction(), boost::function_identity,
|
||||
VideoAddConstantChoice).Create());
|
||||
|
||||
@@ -863,10 +863,10 @@
|
||||
// калькулятор
|
||||
AddDialogItem(mn, DialogParams(_("Bitrate Calculator"), bb::bind(&RunBitrateCalc, vi, _1, b::ref(brw)),
|
||||
350, &brw), tr_enabled);
|
||||
- AddEnabledItem(mn, _("Reason For Transcoding"), bb::bind(&ShowDVDCompliantStatus, vi), vi);
|
||||
+ AddEnabledItem(mn, _("Reason For Transcoding"), bb::bind(&ShowDVDCompliantStatus, vi), vi != nullptr);
|
||||
AppendSeparator(mn);
|
||||
|
||||
- AddDialogItem(mn, SubtitlesDialog(vi, &brw), vi);
|
||||
+ AddDialogItem(mn, SubtitlesDialog(vi, &brw), vi != nullptr);
|
||||
|
||||
Popup(mn, event, true);
|
||||
}
|
||||
--- bombono-dvd-1.2.2/src/mgui/project/thumbnail.cpp 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/project/thumbnail.cpp 2015-11-20 19:22:23.963561051 +0330
|
||||
@@ -410,7 +410,7 @@
|
||||
{
|
||||
if( AData().FirstPlayItem() != mi )
|
||||
return;
|
||||
- bool is_menu = IsMenu(mi);
|
||||
+ bool is_menu = IsMenu(mi) != nullptr;
|
||||
RefPtr<Gdk::Pixbuf> emblem = GetCheckEmblem(pix, is_menu
|
||||
? "copy-n-paste/HelixPlayer_Activity-watch-listen/28.png"
|
||||
: "copy-n-paste/HelixPlayer_Activity-watch-listen/16.png");
|
13
multimedia/bombono-dvd/patches/stream_bool_cast.patch
Normal file
13
multimedia/bombono-dvd/patches/stream_bool_cast.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- bombono-dvd-1.2.2/src/mgui/stream_utils.h 2013-03-08 00:50:45.000000000 +0330
|
||||
+++ new/src/mgui/stream_utils.h 2015-11-26 20:37:42.780113771 +0330
|
||||
@@ -42,8 +42,8 @@
|
||||
stream(std::iostream& strm): io_strm(strm) {}
|
||||
|
||||
std::iostream& strm() { return io_strm; }
|
||||
- operator void*() const { return (void*)io_strm; }
|
||||
- bool operator!() const { return !operator void*(); }
|
||||
+ operator bool() const { return static_cast<bool> (io_strm); }
|
||||
+ bool operator!() const { return !operator bool(); }
|
||||
stream& seekg(streamoff off, ios_base::seekdir dir)
|
||||
{ io_strm.seekg(off, dir); return *this; }
|
||||
stream& seekp(streamoff off, ios_base::seekdir dir)
|
Loading…
Reference in a new issue