, _dci_name (d)
{}
- /** @return the aspect ratio multiplied by 100
- * (e.g. 239 for Cinemascope 2.39:1)
- */
- virtual int ratio_as_integer (boost::shared_ptr<const Film> f) const = 0;
-
- /** @return the ratio as a floating point number */
- virtual float ratio_as_float (boost::shared_ptr<const Film> f) const = 0;
-
- /** @return the ratio of the container (including any padding) as a floating point number */
- float container_ratio_as_float () const;
+ /** @return the ratio of the container (including any padding) */
+ float container_ratio () const;
int dcp_padding (boost::shared_ptr<const Film> f) const;
static void setup_formats ();
protected:
+ /** @return the ratio */
+ virtual float ratio (boost::shared_ptr<const Film> f) const = 0;
+
/** libdcp::Size in pixels of the images that we should
* put in a DCP for this ratio. This size will not correspond
* to the ratio when we are doing things like 16:9 in a Flat frame.
class FixedFormat : public Format
{
public:
- FixedFormat (int, libdcp::Size, std::string, std::string, std::string);
+ FixedFormat (float, libdcp::Size, std::string, std::string, std::string);
- int ratio_as_integer (boost::shared_ptr<const Film>) const {
+ float ratio (boost::shared_ptr<const Film>) const {
return _ratio;
}
- float ratio_as_float (boost::shared_ptr<const Film>) const {
- return _ratio / 100.0;
- }
-
std::string name () const;
private:
- /** Ratio expressed as the actual ratio multiplied by 100 */
- int _ratio;
+ float _ratio;
};
class VariableFormat : public Format
public:
VariableFormat (libdcp::Size, std::string, std::string, std::string);
- int ratio_as_integer (boost::shared_ptr<const Film> f) const;
- float ratio_as_float (boost::shared_ptr<const Film> f) const;
+ float ratio (boost::shared_ptr<const Film> f) const;
std::string name () const;
};