Remove use of i18n macros in headers. Prevents our gettext.h being included before...
[ardour.git] / gtk2_ardour / editor_export_audio.cc
index 82b98c76506d383d3c3cf0f0caca65912c09df2b..6aa43c8bcf5975267798d7ea68b517badcd8fdc9 100644 (file)
@@ -19,6 +19,8 @@
 
 /* Note: public Editor methods are documented in public_editor.h */
 
+#define __STDC_FORMAT_MACROS 1
+#include <inttypes.h>
 #include <unistd.h>
 #include <climits>
 
@@ -31,6 +33,7 @@
 #include "time_axis_view.h"
 #include "audio_time_axis.h"
 #include "audio_region_view.h"
+#include "midi_region_view.h"
 
 #include "pbd/pthread_utils.h"
 #include "ardour/types.h"
@@ -43,6 +46,7 @@
 #include "ardour/session_directory.h"
 #include "ardour/source_factory.h"
 #include "ardour/audiofilesource.h"
+#include "ardour/session.h"
 
 #include "i18n.h"
 
@@ -54,8 +58,8 @@ using namespace Gtk;
 void
 Editor::export_audio ()
 {
-       ExportDialog dialog (*this);
-       dialog.set_session (session);
+       ExportDialog dialog (*this, _("Export"));
+       dialog.set_session (_session);
        dialog.run();
 }
 
@@ -63,7 +67,7 @@ void
 Editor::export_selection ()
 {
        ExportSelectionDialog dialog (*this);
-       dialog.set_session (session);
+       dialog.set_session (_session);
        dialog.run();
 }
 
@@ -82,7 +86,7 @@ Editor::export_range ()
 
        if (((l = find_location_from_marker (marker, is_start)) != 0) && (l->end() > l->start())) {
                ExportRangeDialog dialog (*this, l->id().to_s());
-               dialog.set_session (session);
+               dialog.set_session (_session);
                dialog.run();
        }
 }
@@ -103,7 +107,7 @@ Editor::export_region ()
                AudioTrack & track (dynamic_cast<AudioTrack &> (*rtv.route()));
 
                ExportRegionDialog dialog (*this, region, track);
-               dialog.set_session (session);
+               dialog.set_session (_session);
                dialog.run();
 
        } catch (std::bad_cast & e) {
@@ -116,11 +120,16 @@ int
 Editor::write_region_selection (RegionSelection& regions)
 {
        for (RegionSelection::iterator i = regions.begin(); i != regions.end(); ++i) {
-               // FIXME
                AudioRegionView* arv = dynamic_cast<AudioRegionView*>(*i);
-               if (arv)
+               if (arv) {
                        if (write_region ("", arv->audio_region()) == false)
                                return -1;
+               }
+
+               MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*i);
+               if (mrv) {
+                       warning << "MIDI region export not implemented" << endmsg;
+               }
        }
 
        return 0;
@@ -137,10 +146,6 @@ Editor::bounce_region_selection ()
 
                InterThreadInfo itt;
 
-               itt.done = false;
-               itt.cancel = false;
-               itt.progress = 0.0f;
-
                boost::shared_ptr<Region> r = track->bounce_range (region->position(), region->position() + region->length(), itt);
                cerr << "Result of bounce of "
                     << region->name() << " len = " << region->length()
@@ -164,7 +169,7 @@ Editor::write_region (string path, boost::shared_ptr<AudioRegion> region)
        vector<boost::shared_ptr<AudioFileSource> > sources;
        uint32_t nchans;
 
-       const string sound_directory = session->session_directory().sound_path().to_string();
+       const string sound_directory = _session->session_directory().sound_path().to_string();
 
        nchans = region->n_channels();
 
@@ -205,9 +210,9 @@ Editor::write_region (string path, boost::shared_ptr<AudioRegion> region)
 
                        try {
                                fs = boost::dynamic_pointer_cast<AudioFileSource> (
-                                               SourceFactory::createWritable (DataType::AUDIO, *session,
+                                               SourceFactory::createWritable (DataType::AUDIO, *_session,
                                                                path, true,
-                                                               false, session->frame_rate()));
+                                                               false, _session->frame_rate()));
                        }
 
                        catch (failed_constructor& err) {
@@ -288,9 +293,9 @@ Editor::write_audio_selection (TimeSelection& ts)
 
                if (atv->is_audio_track()) {
 
-                       boost::shared_ptr<AudioPlaylist> playlist = boost::dynamic_pointer_cast<AudioPlaylist>(atv->get_diskstream()->playlist());
+                       boost::shared_ptr<AudioPlaylist> playlist = boost::dynamic_pointer_cast<AudioPlaylist>(atv->track()->playlist());
 
-                       if (playlist && write_audio_range (*playlist, atv->get_diskstream()->n_channels(), ts) == 0) {
+                       if (playlist && write_audio_range (*playlist, atv->track()->n_channels(), ts) == 0) {
                                ret = -1;
                                break;
                        }
@@ -314,7 +319,7 @@ Editor::write_audio_range (AudioPlaylist& playlist, const ChanCount& count, list
        string path;
        vector<boost::shared_ptr<AudioFileSource> > sources;
 
-       const string sound_directory = session->session_directory().sound_path().to_string();
+       const string sound_directory = _session->session_directory().sound_path().to_string();
 
        uint32_t channels = count.n_audio();
 
@@ -344,9 +349,9 @@ Editor::write_audio_range (AudioPlaylist& playlist, const ChanCount& count, list
 
                try {
                        fs = boost::dynamic_pointer_cast<AudioFileSource> (
-                                       SourceFactory::createWritable (DataType::AUDIO, *session,
+                                       SourceFactory::createWritable (DataType::AUDIO, *_session,
                                                        path, true,
-                                                       false, session->frame_rate()));
+                                                       false, _session->frame_rate()));
                }
 
                catch (failed_constructor& err) {