ardour.git
9 years agomore pre-commit testing
Paul Davis [Sat, 9 May 2015 03:34:54 +0000 (23:34 -0400)]
more pre-commit testing

9 years agotest commit for new style-checking pre-commit
Paul Davis [Sat, 9 May 2015 03:29:02 +0000 (23:29 -0400)]
test commit for new style-checking pre-commit

9 years agoextend save-as dialog to allow crude but functional save-as-to-empty-session
Paul Davis [Fri, 8 May 2015 02:36:32 +0000 (22:36 -0400)]
extend save-as dialog to allow crude but functional save-as-to-empty-session

9 years agofix crash during session deletion as monitor section tries to update
Paul Davis [Fri, 8 May 2015 02:36:07 +0000 (22:36 -0400)]
fix crash during session deletion as monitor section tries to update

9 years agoextend save-as API to allow for new empty sessions based on current
Paul Davis [Fri, 8 May 2015 02:35:35 +0000 (22:35 -0400)]
extend save-as API to allow for new empty sessions based on current

9 years agocopy contents of analysis, plugins, automation and externals folders during save-as
Paul Davis [Thu, 7 May 2015 21:10:14 +0000 (17:10 -0400)]
copy contents of analysis, plugins, automation and externals folders during save-as

9 years agofix Session::rename()
Paul Davis [Thu, 7 May 2015 16:06:49 +0000 (12:06 -0400)]
fix Session::rename()

9 years agodebugging rename/save-as
Paul Davis [Wed, 6 May 2015 01:30:00 +0000 (21:30 -0400)]
debugging rename/save-as

9 years agorename user's customized color file when resetting theme. Fixes #6286
Paul Davis [Wed, 29 Apr 2015 22:23:09 +0000 (18:23 -0400)]
rename user's customized color file when resetting theme. Fixes #6286

9 years agofix some gtk filechooser issues
Robin Gareus [Tue, 5 May 2015 16:35:58 +0000 (18:35 +0200)]
fix some gtk filechooser issues

9 years agooversample meter faceplate image surfaces
Robin Gareus [Tue, 5 May 2015 01:02:09 +0000 (03:02 +0200)]
oversample meter faceplate image surfaces

Works around issues with pango on windows,
fixes crude text on OSX/retina and can provide sub-pixel
rendering on GNU/Linux/X11.

9 years agoNSM preparation for OSX and windows
Robin Gareus [Mon, 4 May 2015 22:25:06 +0000 (00:25 +0200)]
NSM preparation for OSX and windows

Note that on those platforms the application name
is a full path. This is permitted by the specs:

“executable_name MUST be the executable name that the program was launched with. For C programs, this is simply the value of argv[0]” [http://non.tuxfamily.org/nsm/API.html#n:1.2.1.1.]

but the current implementation of nsm expects the basename
only and searched $PATH.

9 years agoadd plugin parameter reset button - closes #6297
Robin Gareus [Mon, 4 May 2015 18:52:48 +0000 (20:52 +0200)]
add plugin parameter reset button - closes #6297

9 years agoprepare plugin reset (#6297)
Robin Gareus [Mon, 4 May 2015 18:48:41 +0000 (20:48 +0200)]
prepare plugin reset (#6297)

9 years agoAPI to reset plugin parameters to default
Robin Gareus [Mon, 4 May 2015 18:22:50 +0000 (20:22 +0200)]
API to reset plugin parameters to default

9 years agoadd signal for automation state changes per plugin
Robin Gareus [Mon, 4 May 2015 18:22:13 +0000 (20:22 +0200)]
add signal for automation state changes per plugin

9 years agoupdate startup scripts for NSM
Robin Gareus [Mon, 4 May 2015 17:09:37 +0000 (19:09 +0200)]
update startup scripts for NSM

fixes #6265 for GNU/Linux.

9 years agofurther preparations for NSM (#6265)
Robin Gareus [Mon, 4 May 2015 17:08:48 +0000 (19:08 +0200)]
further preparations for NSM (#6265)

9 years agoclear port-list before query.
Robin Gareus [Mon, 4 May 2015 00:06:59 +0000 (02:06 +0200)]
clear port-list before query.

fixes crash in PortManager::silence_outputs()

9 years agofix thinko in 2e4428b
Robin Gareus [Sun, 3 May 2015 22:29:15 +0000 (00:29 +0200)]
fix thinko in 2e4428b

perspective of Ardour: signal sinks are outputs

9 years agofix -Wsign-compare
Robin Gareus [Sun, 3 May 2015 21:36:20 +0000 (23:36 +0200)]
fix -Wsign-compare

9 years agoright-click in mixer’s group box: show context menu.
Robin Gareus [Sun, 3 May 2015 21:33:05 +0000 (23:33 +0200)]
right-click in mixer’s group box: show context menu.

9 years agono more noise during startup.
Robin Gareus [Sun, 3 May 2015 21:17:15 +0000 (23:17 +0200)]
no more noise during startup.

9 years agoadd an API to silence buffers (without session)
Robin Gareus [Sun, 3 May 2015 21:06:21 +0000 (23:06 +0200)]
add an API to silence buffers (without session)

9 years agofix portengin get_ports() flags API
Robin Gareus [Sun, 3 May 2015 20:34:52 +0000 (22:34 +0200)]
fix portengin get_ports() flags API

require all flags to be present (same as jack)

9 years agode-select other strips when re-selecting a strip
Robin Gareus [Sun, 3 May 2015 19:34:17 +0000 (21:34 +0200)]
de-select other strips when re-selecting a strip

9 years agoFix mixed spaces/tabs in wscripts
Christopher Arndt [Fri, 1 May 2015 13:45:27 +0000 (15:45 +0200)]
Fix mixed spaces/tabs in wscripts

9 years agodon't install static library libsmf.a
Nils Philippsen [Thu, 30 Apr 2015 22:19:53 +0000 (00:19 +0200)]
don't install static library libsmf.a

9 years agoAllow to delete PC using <Del>
Robin Gareus [Sun, 3 May 2015 00:18:40 +0000 (02:18 +0200)]
Allow to delete PC using <Del>

It currently only works if there’s no prior selection of notes
in which case the MRV handles the event.

9 years agoimplement scroll wheel support for ardour-dropdown
Robin Gareus [Sat, 2 May 2015 22:58:54 +0000 (00:58 +0200)]
implement scroll wheel support for ardour-dropdown

9 years agogfx-card & performance testing
Robin Gareus [Sat, 2 May 2015 02:54:59 +0000 (04:54 +0200)]
gfx-card & performance testing

9 years agolog(0) - who would have guessed.
Robin Gareus [Sat, 2 May 2015 02:16:32 +0000 (04:16 +0200)]
log(0) - who would have guessed.

marginal improvement on x86_64 for zero, 5-10% for tiny numbers;
100% time improvement (half the time) on i686 with zero.

#/bin/sh
g++ -x c++ -O3 -ffast-math -o /tmp/a.out - << EOF

#include <stdio.h>
#include <stdlib.h>
#include <cmath>
#include <limits>

static inline float accurate_coefficient_to_dB (float coeff) {
#if 1 // try me
  if (coeff < 1e-15) return  -std::numeric_limits<float>::infinity();
#endif
  return 20.0f * log10f (coeff);
}

int main (int argc, char **argv) {
  long long int i;
  float f = 0;
  if (argc  < 3) return -1;
  long long int end = atoll (argv[1]);
  for (i = 0; i < end; ++i) {
    f += accurate_coefficient_to_dB (atof (argv[2]));
  }
  printf ("%f\n",f);
  return 0;
}
EOF

time /tmp/a.out 100000000000 0.0
time /tmp/a.out 100000000000 0.0
time /tmp/a.out 100000000000 0.0

9 years agoprofessionalize peak-meters
Robin Gareus [Sat, 2 May 2015 00:36:53 +0000 (02:36 +0200)]
professionalize peak-meters

The peak meter needs to withstand various test-signals
without visual jitter (in particular 1kHz sine) regardless
of settings (period-size, sample-rate, custom fall-off).

This needs to be done in sync (and not by a random non-rt
‘smoothing’ thread).

On the downside this voids the ‘visual smoothing’ particularly
with large buffersizes - but then again exactly this “always
fall-off no matter what [the next real data will be]” is the
problem.

One the upside, there’s one less high-frequency (100Hz) thread
(Yay!) PS. it probably never worked on windows, anyway.

Only peak-meters are affected by his change.
K-meters, IEC I/II and VU were never visually smoothed.

9 years agodummy: ignore first cycle timing.
Robin Gareus [Fri, 1 May 2015 13:58:17 +0000 (15:58 +0200)]
dummy: ignore first cycle timing.

9 years agotweak Midi/DIN icon (proper notch)
Robin Gareus [Fri, 1 May 2015 13:16:32 +0000 (15:16 +0200)]
tweak Midi/DIN icon (proper notch)

9 years agoconstrain initial custom meter positions.
Robin Gareus [Fri, 1 May 2015 12:45:45 +0000 (14:45 +0200)]
constrain initial custom meter positions.

The processor-box GUI only allows to move the
custom meter position between trim and main_out/panner.

Previously an initial switch from In -> custom or Out -> Custom
left the meter at a position that can otherwise not be reached
by manually repositioning the custom meter.

9 years agofix thinko with region-gain time offset.
Robin Gareus [Fri, 1 May 2015 12:30:49 +0000 (14:30 +0200)]
fix thinko with region-gain time offset.

9 years agodon’t count silent [x]runs if there’s no session.
Robin Gareus [Thu, 30 Apr 2015 20:55:42 +0000 (22:55 +0200)]
don’t count silent [x]runs if there’s no session.

9 years agoupdate region-gain-line time-converter. fixes #6293
Robin Gareus [Thu, 30 Apr 2015 20:54:18 +0000 (22:54 +0200)]
update region-gain-line time-converter. fixes #6293

9 years agoadd a sanity check
Robin Gareus [Thu, 30 Apr 2015 19:15:35 +0000 (21:15 +0200)]
add a sanity check

9 years agomore meter-change UI optimization
Robin Gareus [Thu, 30 Apr 2015 17:11:55 +0000 (19:11 +0200)]
more meter-change UI optimization

the meter widgets keep track of configuration
and type. There is no more need to force an update.

9 years agoskip [duplicate] meter re-packing.
Robin Gareus [Thu, 30 Apr 2015 17:06:26 +0000 (19:06 +0200)]
skip [duplicate] meter re-packing.

9 years agocleanup display suspend.
Robin Gareus [Thu, 30 Apr 2015 16:52:56 +0000 (18:52 +0200)]
cleanup display suspend.

9 years agoCorrectly dereference 'fxbuf' when building with MSVC
John Emmas [Thu, 30 Apr 2015 17:14:27 +0000 (18:14 +0100)]
Correctly dereference 'fxbuf' when building with MSVC

9 years agoWhen testing for x86 / x64 architecture, don't forget the symbols that MSVC can under...
John Emmas [Thu, 30 Apr 2015 16:44:28 +0000 (17:44 +0100)]
When testing for x86 / x64 architecture, don't forget the symbols that MSVC can understand

9 years agofix over-optimzation in e3375c3.
Robin Gareus [Thu, 30 Apr 2015 16:28:27 +0000 (18:28 +0200)]
fix over-optimzation in e3375c3.

Some users of DisplaySuspender expect an implicit redisplay.

9 years agosuspend editor redisplay during batch changes
Robin Gareus [Thu, 30 Apr 2015 16:01:30 +0000 (18:01 +0200)]
suspend editor redisplay during batch changes

(major speed-up when changing all meters)

9 years agosession: add signal to indicate batch updates
Robin Gareus [Thu, 30 Apr 2015 15:58:33 +0000 (17:58 +0200)]
session: add signal to indicate batch updates

…to tell the UI to not redraw.

9 years agometer-change: don’t update track-headers if not needed
Robin Gareus [Thu, 30 Apr 2015 14:58:53 +0000 (16:58 +0200)]
meter-change: don’t update track-headers if not needed

9 years agox-fade pixel hunt
Robin Gareus [Thu, 30 Apr 2015 00:32:42 +0000 (02:32 +0200)]
x-fade pixel hunt

9 years agoclamp DSP load displsy 100% & relax LPF.
Robin Gareus [Thu, 30 Apr 2015 00:00:50 +0000 (02:00 +0200)]
clamp DSP load displsy 100% & relax LPF.

9 years agoDSP load calculation: favor peak over average.
Robin Gareus [Wed, 29 Apr 2015 19:27:03 +0000 (21:27 +0200)]
DSP load calculation: favor peak over average.

9 years agono need to close a file that will not be removed (and has no name)
Paul Davis [Wed, 29 Apr 2015 19:01:28 +0000 (15:01 -0400)]
no need to close a file that will not be removed (and has no name)

9 years agofix double precision abs value computation
Robin Gareus [Wed, 29 Apr 2015 17:56:35 +0000 (19:56 +0200)]
fix double precision abs value computation

9 years agoenable fade-out display by default in A4.
Robin Gareus [Wed, 29 Apr 2015 17:55:53 +0000 (19:55 +0200)]
enable fade-out display by default in A4.

..because fade outs are implicit in A4.
Eventually the GUI needs to set_show_background_fade() as needed.

9 years agoremove AU crashlog assert.
Robin Gareus [Wed, 29 Apr 2015 16:43:32 +0000 (18:43 +0200)]
remove AU crashlog assert.

in case $HOME/Library/Caches/Ardour4/au_crashlog.txt
is not writeable, just log to stderr.

9 years agox-run counter reset & typo
Robin Gareus [Wed, 29 Apr 2015 13:45:04 +0000 (15:45 +0200)]
x-run counter reset & typo

9 years agoNOOP: fix indentation
Paul Davis [Wed, 29 Apr 2015 13:05:15 +0000 (09:05 -0400)]
NOOP: fix indentation

9 years ago[Summary] Should have been committed with previous: made background fade optional...
GZharun [Fri, 26 Sep 2014 20:43:18 +0000 (23:43 +0300)]
[Summary] Should have been committed with previous: made background fade optional and not shown by default

9 years agofix issue with manual merge conflict
Paul Davis [Wed, 29 Apr 2015 12:23:13 +0000 (08:23 -0400)]
fix issue with manual merge conflict

9 years agomake computation of OS X pango text width correction less intrusive/more efficient.
Paul Davis [Fri, 19 Sep 2014 17:17:45 +0000 (13:17 -0400)]
make computation of OS X pango text width correction less intrusive/more efficient.

Compute the correction only once after each font specification setting.

Conflicts:
libs/canvas/canvas/text.h

9 years agomanually apply grygorii's API to manage a correction for pango errors in text size...
Paul Davis [Wed, 29 Apr 2015 12:19:22 +0000 (08:19 -0400)]
manually apply grygorii's API to manage a correction for pango errors in text size computation on OS X

9 years agomanually apply grygorii's waveform amplitude implementation
Paul Davis [Wed, 29 Apr 2015 11:54:21 +0000 (07:54 -0400)]
manually apply grygorii's waveform amplitude implementation

9 years ago[Summary] Fixed issue when width request from Cavas text returned old width value
GZharun [Mon, 15 Dec 2014 11:17:44 +0000 (13:17 +0200)]
[Summary] Fixed issue when width request from Cavas text returned old width value
[Reviewed by] Paul Davis

Conflicts:
libs/canvas/canvas/text.h

9 years agochange placement of ruler divider so that the lower line is at the specified height...
Paul Davis [Wed, 26 Nov 2014 11:53:33 +0000 (13:53 +0200)]
change placement of ruler divider so that the lower line is at the specified height, rather than the upper

9 years agodo the right thing when TrackingText::offset is changed
Paul Davis [Tue, 25 Nov 2014 18:44:26 +0000 (20:44 +0200)]
do the right thing when TrackingText::offset is changed

9 years agoFix method hiding in Canvas::Text
Paul Davis [Tue, 25 Nov 2014 18:44:01 +0000 (20:44 +0200)]
Fix method hiding in Canvas::Text

9 years agochange ruler rendering to change tick heights and move text down
Paul Davis [Tue, 25 Nov 2014 13:31:41 +0000 (15:31 +0200)]
change ruler rendering to change tick heights and move text down

9 years agoadd missing API
Paul Davis [Mon, 24 Nov 2014 12:40:16 +0000 (14:40 +0200)]
add missing API

9 years agoadd API to Ruler to optionally draw a divider (2 single pixel horizontal lines) at...
Paul Davis [Mon, 24 Nov 2014 12:29:37 +0000 (14:29 +0200)]
add API to Ruler to optionally draw a divider (2 single pixel horizontal lines) at some position within the vertical extent of the ruler

9 years agocorrect implementation for Rectangle::vertical_fraction()
Paul Davis [Mon, 24 Nov 2014 11:30:58 +0000 (13:30 +0200)]
correct implementation for Rectangle::vertical_fraction()

9 years agoadd Rectangle::vertical_fraction() as a convenience method
Paul Davis [Mon, 24 Nov 2014 11:09:09 +0000 (13:09 +0200)]
add Rectangle::vertical_fraction() as a convenience method

Conflicts:
libs/canvas/rectangle.cc

9 years agoadd xrun counter to status-bar (currently no reset)
Robin Gareus [Wed, 29 Apr 2015 01:10:27 +0000 (03:10 +0200)]
add xrun counter to status-bar (currently no reset)

9 years agoadd xrun counter API to session
Robin Gareus [Wed, 29 Apr 2015 01:09:17 +0000 (03:09 +0200)]
add xrun counter API to session

9 years agoemit an xrun if the process_lock is taken
Robin Gareus [Tue, 28 Apr 2015 23:32:48 +0000 (01:32 +0200)]
emit an xrun if the process_lock is taken

9 years agodelegate signal emission to dedicated thread.
Robin Gareus [Tue, 28 Apr 2015 20:18:30 +0000 (22:18 +0200)]
delegate signal emission to dedicated thread.

This works around abysmal performance (~.15ms) of
boost::function and boost::bind (in PBD::Signal).

The overall load is probably higher but the realtime
thread remains unaffected.

9 years agomissing keybinding: zoom to session. needs testing on Mac and Windows
Ben Loftis [Tue, 28 Apr 2015 21:34:46 +0000 (16:34 -0500)]
missing keybinding:  zoom to session.  needs testing on Mac and Windows

9 years agomake tape tracks draw something.
Robin Gareus [Tue, 28 Apr 2015 14:07:57 +0000 (16:07 +0200)]
make tape tracks draw something.

9 years agotape-track diskstream fixes
Robin Gareus [Tue, 28 Apr 2015 14:00:35 +0000 (16:00 +0200)]
tape-track diskstream fixes

Due to the change to use a 64bit timeline (int64 as opposed
to previously [unsigned] pframes_t) many cases special to tape-tracks
no longer work.
e.g. region->length() can returns -1, rather than INT64_MAX.
which breaks ‘overlap’ in Evoral::Coverage. which in turn
breaks tape track’s use of ::find_next_region().

This commits begins the slow process to move away from relying
on integer overflow to wrap negative numbers for tape tracks and
restores basic functionality.

Still various edge cases pertaining tape tracks remain. particularly
when changing the session start-time and moving destructive regions.

9 years agoTrack mode needs to be set before loading Track state
Robin Gareus [Tue, 28 Apr 2015 10:57:45 +0000 (12:57 +0200)]
Track mode needs to be set before loading Track state

parent Track::set_state() sets the diskstream
and ::set_diskstream() depends on the track mode.

fixes Tape tracks on session load

9 years agoprefer explicit cast over terseness.
Robin Gareus [Tue, 28 Apr 2015 12:32:59 +0000 (14:32 +0200)]
prefer explicit cast over terseness.

9 years agoprevent live loops (format negative BBT)
Robin Gareus [Tue, 28 Apr 2015 00:53:20 +0000 (02:53 +0200)]
prevent live loops (format negative BBT)

can happen with empty tape-tracks

9 years agonew actions: allow user to set session start and end to playhead location
Ben Loftis [Mon, 27 Apr 2015 20:58:50 +0000 (15:58 -0500)]
new actions: allow user to set session start and end to playhead location

9 years agocase insensitive VST plugin file extension - fixes #6285
Robin Gareus [Mon, 27 Apr 2015 16:23:51 +0000 (18:23 +0200)]
case insensitive VST plugin file extension - fixes #6285

2nd attempt.

9 years agoremove a dead assignment
Robin Gareus [Mon, 27 Apr 2015 15:45:25 +0000 (17:45 +0200)]
remove a dead assignment

9 years agoallow to compile PBD::Signals w/o connection debugging
Robin Gareus [Mon, 27 Apr 2015 02:58:53 +0000 (04:58 +0200)]
allow to compile PBD::Signals w/o connection debugging

9 years agoconst iterators
Robin Gareus [Mon, 27 Apr 2015 02:57:28 +0000 (04:57 +0200)]
const iterators

9 years agospecial case [optimize] RT processor reorder.
Robin Gareus [Mon, 27 Apr 2015 03:01:07 +0000 (05:01 +0200)]
special case [optimize] RT processor reorder.

realtime processor re-ordering does not require
a route resort nor latency compensation update.
(which were done as callback in same thread)

9 years agoclick-less processor re-ordering.
Robin Gareus [Mon, 27 Apr 2015 02:52:14 +0000 (04:52 +0200)]
click-less processor re-ordering.

9 years agoenable trim on master bus
Ben Loftis [Mon, 27 Apr 2015 15:03:43 +0000 (10:03 -0500)]
enable trim on master bus

9 years agoRevert "case insensitive ".dll" for VST plugins - fixes #6285"
Robin Gareus [Sun, 26 Apr 2015 22:40:07 +0000 (00:40 +0200)]
Revert "case insensitive ".dll" for VST plugins - fixes #6285"

This reverts commit c2f84af73d4812a7099ba1339ae92f2cd0536eae.

strcasestr() is not compatible with mingw nor MSVC.
different approach is needed.

9 years agocase insensitive ".dll" for VST plugins - fixes #6285
Robin Gareus [Sun, 26 Apr 2015 19:26:12 +0000 (21:26 +0200)]
case insensitive ".dll" for VST plugins - fixes #6285

TODO: check portability of strcasestr()

9 years agoExpose “/route/trim” midi binding.
Robin Gareus [Sun, 26 Apr 2015 17:07:45 +0000 (19:07 +0200)]
Expose “/route/trim” midi binding.

9 years agoCzech translation update (#6279)
Pavel Fric [Sun, 26 Apr 2015 16:14:18 +0000 (18:14 +0200)]
Czech translation update (#6279)

9 years agoallow to update meter position w/o engine
Robin Gareus [Sun, 26 Apr 2015 04:24:57 +0000 (06:24 +0200)]
allow to update meter position w/o engine

9 years agoclickless meter-point changes
Robin Gareus [Sun, 26 Apr 2015 04:00:08 +0000 (06:00 +0200)]
clickless meter-point changes

9 years agowrap midi negative gain for midi-velocity
Robin Gareus [Sun, 26 Apr 2015 00:51:40 +0000 (02:51 +0200)]
wrap midi negative gain for midi-velocity

ignore polarity invert,
scale_velocity() otherwise claps the factor to zero.

9 years agodon’t assume compilers cast the way we want.
Robin Gareus [Sun, 26 Apr 2015 00:33:17 +0000 (02:33 +0200)]
don’t assume compilers cast the way we want.

9 years agorelax gain LPF to 25Hz.
Robin Gareus [Sun, 26 Apr 2015 00:31:21 +0000 (02:31 +0200)]
relax gain LPF to 25Hz.

9 years agoupdate amp for negative (polarity-invert) gain
Robin Gareus [Sun, 26 Apr 2015 00:30:06 +0000 (02:30 +0200)]
update amp for negative (polarity-invert) gain

fixes monitor-section “inv”