void
RenderSettings::set_entry_filename()
{
- String filename(canvas_interface_->get_canvas()->get_file_name());
-
- // if the basename of the filename has an extension, remove it
- String base = basename(filename);
- if(find(base.begin(),base.end(),'.')!=base.end())
- filename = String(filename.begin(), filename.begin()+filename.find_last_of('.'));
+ String filename(filename_sans_extension(canvas_interface_->get_canvas()->get_file_name()));
// if this isn't the root canvas, append (<canvasname>) to the filename
etl::handle<synfig::Canvas> canvas = canvas_interface_->get_canvas();
{
try
{
- String ext=String(find(filename.begin(),filename.end(),'.')+1,filename.end());
+ String ext(filename_extension(filename));
+ if (ext.size()) ext=ext.substr(1); // skip initial '.'
+ synfig::info("render target filename: '%s'; extension: '%s'", filename.c_str(), ext.c_str());
if(Target::ext_book().count(ext))
+ {
target_name=Target::ext_book()[ext];
+ synfig::info("'%s' is a known extension - using target '%s'", ext.c_str(), target_name.c_str());
+ }
else
+ {
target_name=ext;
+ synfig::info("unknown extension");
+ }
}
catch(std::runtime_error x)
{