diff options
author | Taybin Rutkin <taybin@taybin.com> | 2005-09-24 19:13:41 +0000 |
---|---|---|
committer | Taybin Rutkin <taybin@taybin.com> | 2005-09-24 19:13:41 +0000 |
commit | 8af0757b61990767f2a85e68f535a5af9976fd79 (patch) | |
tree | f9e06fe12cac866d658a2e7074a61aa74d12f68f /libs/ardour/playlist_factory.cc | |
parent | f9546e5c76afa101e9dbe8a057e72463b03430e5 (diff) |
libardour added.
git-svn-id: svn://localhost/trunk/ardour2@17 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/playlist_factory.cc')
-rw-r--r-- | libs/ardour/playlist_factory.cc | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/libs/ardour/playlist_factory.cc b/libs/ardour/playlist_factory.cc new file mode 100644 index 0000000000..fc4618d1dc --- /dev/null +++ b/libs/ardour/playlist_factory.cc @@ -0,0 +1,68 @@ +#include <ardour/session.h> + +#include <ardour/playlist.h> +#include <ardour/audioplaylist.h> + +#include <ardour/region_factory.h> +#include <ardour/region.h> +#include <ardour/audioregion.h> + +#include "i18n.h" + +using namespace ARDOUR; + +Region* +ARDOUR::createRegion (const Region& region, jack_nframes_t start, + jack_nframes_t length, std::string name, + layer_t layer, Region::Flag flags) +{ + const AudioRegion* ar; + + if ((ar = dynamic_cast<const AudioRegion*>(®ion)) != 0) { + AudioRegion* ret; + ret = new AudioRegion (*ar, start, length, name, layer, flags); + return ret; + } else { + fatal << _("programming error: Playlist::createRegion called with unknown Region type") + << endmsg; + /*NOTREACHED*/ + return 0; + } +} + +Region* +ARDOUR::createRegion (const Region& region) +{ + const AudioRegion* ar; + + if ((ar = dynamic_cast<const AudioRegion*>(®ion)) != 0) { + return new AudioRegion (*ar); + } else { + fatal << _("programming error: Playlist::createRegion called with unknown Region type") + << endmsg; + /*NOTREACHED*/ + return 0; + } +} + +Region* +ARDOUR::createRegion (Session& session, XMLNode& node, bool yn) +{ + return session.XMLRegionFactory (node, yn); +} + +Playlist* +Playlist::copyPlaylist (const Playlist& playlist, jack_nframes_t start, jack_nframes_t length, + string name, bool result_is_hidden) +{ + const AudioPlaylist* apl; + + if ((apl = dynamic_cast<const AudioPlaylist*> (&playlist)) != 0) { + return new AudioPlaylist (*apl, start, length, name, result_is_hidden); + } else { + fatal << _("programming error: Playlist::copyPlaylist called with unknown Playlist type") + << endmsg; + /*NOTREACHED*/ + return 0; + } +} |