Commit graph

5432 commits

Author SHA1 Message Date
John Emmas
4a8cd4375d 'libs/panners' - A small test (before going too far) to see if these changes have any detrimental affect on the non-MSVC builds. 2013-08-30 19:51:45 +01:00
John Emmas
909fcf4b2d 'libs/clearlooks-newer' - Clearlooks needs to be buildable as conventional 'C' but many 'C' compilers require that variables be declared at the top of each function. Move declarations as necessary to accommodate this. 2013-08-27 17:07:53 +01:00
John Emmas
060c56cc3f Minor tweaks to MSVC build (hopefully of little consequence) 2013-08-26 17:50:17 +01:00
John Emmas
9482702bdc 'libs/gtkmm2ext' - Compiler specific includes 2013-08-26 17:47:28 +01:00
John Emmas
316b72eb0e 'libs/gtkmm2ext' - Main body of changes required for building with MSVC (mostly #includes and casting) 2013-08-26 17:45:18 +01:00
John Emmas
c1a25550d1 'libs/gtkmm2ext' - Use 'std::vector' instead of dynamically sized arrays (required to be buildable with MSVC) 2013-08-26 17:28:03 +01:00
John Emmas
9a877a54e8 'libs/gtkmm2ext' - Remove "using namespace Gdk;" to avoid confusion (in 'fastmeter.cc') over whether we want namespace ::Cairo or namespace Gdk::Cairo 2013-08-26 15:43:20 +01:00
Paul Davis
b49f7ca38d fix compilation on linux 2013-08-24 12:27:40 -04:00
Paul Davis
ee1b49f87e fix merge conflicts from master 2013-08-24 12:18:06 -04:00
Paul Davis
1421a34e52 pot/po file updates caused by waf i18n 2013-08-24 11:46:45 -04:00
Paul Davis
41f6f5574b fix confusion about whether flip_mode in the Mackie support code is a bool or an enum 2013-08-24 11:46:44 -04:00
Tim Blechmann
a5de2c1067 export: add support for CAF 2013-08-24 14:23:25 +02:00
Paul Davis
3247c5a51c undo the hiding of SR-dependent LV2 ports 2013-08-22 17:46:19 -04:00
Paul Davis
868112bece update czech translations from pavel fric, part 2 2013-08-15 14:55:57 -04:00
Paul Davis
7fe7e7ad4b update czech translations from pavel fric 2013-08-15 14:55:10 -04:00
Paul Davis
04bf9d1e95 fix newly-appearing crash-at-close caused by muddled thinking in pbd/pthread_utils
threads created with this code can now just return a value as they normally would, and the
infrastructure will ensure cleanup. there is no longer any reason to call pthread_exit_pbd()
and so that has been removed.
2013-08-15 11:44:47 -04:00
Paul Davis
588cc3af74 check master sources when determining whether a region uses a source. should fix #5618 2013-08-15 11:43:37 -04:00
Tim Mayberry
63745512bc Call setup_libpbd_enums in PBD::init for portability 2013-08-13 20:15:47 +10:00
Tim Mayberry
1db894f886 Call Gio::init from PBD::init instead of ARDOUR::init
PBD needs Gio for PBD::copy_file and perhaps others
2013-08-13 20:15:47 +10:00
Tim Mayberry
55c6d4f2be Call PBD::init in ARDOUR::init and PBD::cleanup in ARDOUR::cleanup 2013-08-13 20:15:47 +10:00
Tim Mayberry
29193c76cc Add PBD::init and PBD::cleanup
A bit of refactoring to move initialization of libpbd into libpbd
rather than rely on "client" code(ui,libardour,tests etc) to do it
2013-08-13 20:15:47 +10:00
Tim Mayberry
9d340af10d Prevent libardour from being initialized more than once
This is not thread safe of course, it is not intended to be.

This was implemented as at one stage ARDOUR::init was being called multiple
times in the testsuite which was causing a subtle bug that took some
time to track down.
2013-08-13 20:15:47 +10:00
Tim Mayberry
d51eba1162 Change ARDOUR::init return type to bool type for success/failure 2013-08-13 20:15:47 +10:00
Robin Gareus
4c4376d5dd fix thinko in 5dee49e19 2013-08-11 17:26:34 +02:00
Robin Gareus
116694a2cb fix 5dee49e19 (32/64 bit unsigned int compatibility) 2013-08-11 17:19:04 +02:00
Robin Gareus
5dee49e194 make LV2 communication buffers independent from jack-midi buffer-size
fixes issues with plugin communication that are common with
jack1 use due to its very small midi-buffers.
2013-08-11 15:10:41 +02:00
John Emmas
8cd71108c1 Merge branch 'windows' of git.ardour.org:ardour/ardour into windows 2013-08-09 18:04:04 +01:00
John Emmas
5f703f25a9 'libs/ardour' - If the platform is Windows, prevent lengthy caching by flushing imported files on completion of the import 2013-08-09 17:56:14 +01:00
John Emmas
64cc518e72 'libs/ardour' - New files and changes needed for 'msvc_libardour' 2013-08-09 17:53:37 +01:00
John Emmas
dc62ef6123 'libs/ardour' - Correct an invalid buffer address (io.cc) 2013-08-09 17:48:15 +01:00
John Emmas
4a29f1957e 'libs/ardour' - Minor change to an included header file (audiofile_tagger.cc) 2013-08-09 17:46:51 +01:00
Paul Davis
031675f795 changes to allow window branch to build on OS X 2013-08-09 09:17:03 -04:00
Robin Gareus
a1370f83db fix compiler warning 2013-08-07 15:57:29 +02:00
Paul Davis
5e19f0a1ae use std::numeric_limits<float>::infinity() rather than INFINITY to try to get compilers to agree on the type 2013-08-07 08:40:21 -04:00
John Emmas
7169c77cfc Merge branch 'windows' of git.ardour.org:ardour/ardour into windows 2013-08-06 15:18:27 +01:00
ben
2732c64c07 fix taglib header paths so linked headers are not necessary 2013-08-06 08:50:26 -05:00
John Emmas
0dc8806ee4 'libs/ardour' - Platform specific changes and includes 2013-08-04 19:03:32 +01:00
John Emmas
d176cbc804 'libs/ardour' - Compiler specific includes and includes 2013-08-04 17:01:37 +01:00
John Emmas
490311bc08 'libs/ardour' - Main body of changes required for building with MSVC 2013-08-04 15:36:07 +01:00
Robin Gareus
f5c52f500a Timecode: fix subframe rounding
if sub-frames are used, frames are rounded up for the later half of
a sub-frame.  e.g. @48KSPS, 25fps, 100 subframes per frame
audio-samples >=1910 already yield 00:00:00:01
2013-08-04 16:22:00 +02:00
John Emmas
07d94b9b48 'libs/ardour' - Use 'std::vector' instead of dynamically sized arrays (required to be buildable with MSVC) 2013-08-04 15:17:19 +01:00
Robin Gareus
976fc86811 fix no-roll LTC encoder, honor locates when transport is stopped 2013-08-04 16:13:43 +02:00
John Emmas
fa59391f6a 'libs/ardour' - Use 'const_iterator' where appropriate (required to be buildable with MSVC) 2013-08-04 15:06:10 +01:00
Robin Gareus
efc46f1553 make master-meter in toolbar optional 2013-08-04 00:06:29 +02:00
Robin Gareus
91e0e0f9f8 advance track's play-position even if processing is locked
fixes
  * http://tracker.ardour.org/view.php?id=5628
  * http://tracker.ardour.org/view.php?id=5561
2013-08-03 21:35:19 +02:00
Robin Gareus
b14d9a6451 properly handle port removal in route.
bug:
 - add midi track
 - add additional midi port
 - remove additional midi port
 - press play
 -> crash

because..

ARDOUR::MidiTrack::roll's route_buffer still has 2 midi-channels. This is
because processor_max_streams was not updated (no plugins added/removed)
fill_buffers_with_input() eventually asserts when trying to get the 2nd
(nonexistant) midi port via ARDOUR::PortSet::nth_midi_port() in
 ARDOUR::PortSet::port().
2013-08-03 13:44:37 +02:00
Robin Gareus
0eb5b7d1ab Merge branch 'midiclock' of https://github.com/axetota/ardour 2013-08-03 01:37:25 +02:00
Michael Fisher
e82574de05 Send and Read MIDI Positions the right way 2013-08-02 18:23:36 -05:00
Robin Gareus
99fb7346f0 on session-load: skip output-change-handler until IOs are restored
fixes loading a session with tracks that have more input-ports
than output-ports.

the problem:

input -ports are added first, when added, IO::ensure_port() emits
IOChange::ConfigurationChanged which in turn triggers the route to
allocate corresponding output ports.

Due to this callback the output-ports were created before the actual
output-port-configuration and plugin-configuration from the
session-state was parsed and set.
2013-08-03 00:51:08 +02:00
Robin Gareus
23eba1cc39 disallow invalid port-removal
do not allow port-removal if the port would be re-added immediately
after that again because the main-delivery actually needs it.

As a side effect this prevents this crash:

 * create a stereo-track, then remove one output
  -> unhandled exception "AudioEngine::PortRegistrationFailure&"

 The problem:
 - the port is removed from the RCU ports list,
   but Port::drop() (which calls jack_port_unregister) is only called
   from the Port's destructor at some later time.
   (because a reference to the port still exists elsewhere)
 - the jack-port is not yet removed.
 - meanwhile Delivery::configure_io comes along and notices that
   there are more audio-buffers than ports and tries to re-register the port.
 - but the port still exists in jack, so it fails and throws an exception
   ...which is not handled.
2013-08-03 00:51:07 +02:00