Browse Source

fix all compiler warnings

carla_vst
Alexandros Theodotou 4 years ago
parent
commit
996fe77842
  1. 1
      .gitignore
  2. 17
      .gitlab-ci.yml
  3. 2
      .gitlab-ci/meson-junit-report.py
  4. 2
      data/meson.build
  5. 21
      inc/audio/chord.h
  6. 42
      inc/audio/position.h
  7. 4
      inc/gui/widgets/marker_track.h
  8. 29
      inc/utils/gtk.h
  9. 9
      meson.build
  10. 38
      scripts/package_win.sh
  11. 38
      src/audio/chord.c
  12. 14
      src/audio/instrument_track.c
  13. 2
      src/audio/marker.c
  14. 4
      src/audio/midi_note.c
  15. 10
      src/audio/port.c
  16. 2
      src/audio/position.c
  17. 16
      src/audio/region.c
  18. 6
      src/audio/routing.c
  19. 49
      src/audio/track.c
  20. 18
      src/gui/backend/timeline_selections.c
  21. 5
      src/gui/widgets/arranger.c
  22. 16
      src/gui/widgets/channel.c
  23. 6
      src/gui/widgets/channel_slot.c
  24. 42
      src/gui/widgets/chord_button.c
  25. 10
      src/gui/widgets/drag_dest_box.c
  26. 1
      src/gui/widgets/marker_track.c
  27. 8
      src/gui/widgets/midi_arranger.c
  28. 4
      src/gui/widgets/midi_arranger_bg.c
  29. 8
      src/gui/widgets/modulator.c
  30. 4
      src/gui/widgets/piano_roll_key_label.c
  31. 17
      src/gui/widgets/timeline_arranger.c
  32. 20
      src/gui/widgets/timeline_bg.c
  33. 121
      src/gui/widgets/track.c
  34. 8
      src/meson.build
  35. 4
      test/meson.build

1
.gitignore vendored

@ -125,7 +125,6 @@ vgcore.* @@ -125,7 +125,6 @@ vgcore.*
project-defs.sh.inc
# Packaging files
scripts/package_win.sh
scripts/package_osx.sh
obs/PKGBUILD
obs/zrythm.dsc

17
.gitlab-ci.yml

@ -5,6 +5,7 @@ image: "alextee12/arch-yaourt" @@ -5,6 +5,7 @@ image: "alextee12/arch-yaourt"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GCOVR_FLAGS: "--exclude-directories='.*dzl-lib.*' --exclude-directories='.*libcyaml.*' --exclude-directories='.*midilib.*' --gcov-exclude='.*dzl-.*'"
stages:
- build_gnu_linux
@ -28,13 +29,10 @@ basic_build_clang_meson: @@ -28,13 +29,10 @@ basic_build_clang_meson:
test_gcc_meson:
stage: test
script:
- meson _build -Denable_tests=true -Denable_coverrage=true
- meson _build -Denable_tests=true -Denable_coverage=true
- .gitlab-ci/run-tests.sh
- gcovr -r . \
--exclude-directories='.*dzl-lib.*' \
--exclude-directories='.*libcyaml.*' \
--exclude-directories='.*midilib.*' \
--gcov-exclude='.*dzl-.*'
- gcovr -r . --html -o _build/${CI_JOB_NAME}-coverage.html --exclude-directories='.*dzl-lib.*' --exclude-directories='.*libcyaml.*' --exclude-directories='.*midilib.*' --gcov-exclude='.*dzl-.*'
- gcovr -r . --exclude-directories='.*dzl-lib.*' --exclude-directories='.*libcyaml.*' --exclude-directories='.*midilib.*' --gcov-exclude='.*dzl-.*'
artifacts:
reports:
junit: "_build/${CI_JOB_NAME}-report.xml"
@ -42,15 +40,16 @@ test_gcc_meson: @@ -42,15 +40,16 @@ test_gcc_meson:
- "_build/config.h"
- "_build/meson-logs"
- "_build/${CI_JOB_NAME}-report.xml"
- "_build/${CI_JOB_NAME}-report.xml"
- "_build/${CI_JOB_NAME}-coverage.html"
coverage: '/^TOTAL.*\s+(\d+\%)$/'
package_win_64:
stage: package
image: "alextee12/arch-yaourt"
script:
- ./autogen.sh
- x86_64-w64-mingw32-configure .
- make -j14
- x86_64-w64-mingw32-meson _build
- ninja -C _build && scripts/package_win.sh /usr/x86_64-w64-mingw32/ $CI_COMMIT_TAG . _win
artifacts:
paths:
- build/win/Install_$CI_COMMIT_TAG.exe

2
.gitlab-ci/meson-junit-report.py

@ -38,7 +38,7 @@ testsuites.set('timestamp', datetime.datetime.utcnow().isoformat(timespec='minut @@ -38,7 +38,7 @@ testsuites.set('timestamp', datetime.datetime.utcnow().isoformat(timespec='minut
suites = {}
for line in args.infile:
data = json.loads(line)
(full_suite, unit_name) = data['name'].split(' / ')
(full_suite, unit_name) = data['name'].split(' ', 1)
(project_name, suite_name) = full_suite.split(':')
duration = data['duration']

2
data/meson.build

@ -4,3 +4,5 @@ install_data ( @@ -4,3 +4,5 @@ install_data (
install_data (
'zrythm.desktop',
install_dir: join_paths (datadir, 'applications'))
#FIXME add the windows .exe icon

21
inc/audio/chord.h

@ -40,6 +40,14 @@ @@ -40,6 +40,14 @@
* @{
*/
/** Gets the main counterpart of the ZChord. */
#define chord_get_main_chord(r) \
((ZChord *) r->obj_info.main)
/** Gets the transient counterpart of the ZChord. */
#define chord_get_main_trans_chord(r) \
((ZChord *) r->obj_info.main_trans)
typedef enum MusicalNote
{
NOTE_C,
@ -277,6 +285,19 @@ void @@ -277,6 +285,19 @@ void
chord_set_pos (ZChord * self,
Position * pos);
/**
* Moves the Region by the given amount of ticks.
*
* @param use_cached_pos Add the ticks to the cached
* Position instead of its current Position.
* @return Whether moved or not.
*/
int
chord_move (
ZChord * chord,
long ticks,
int use_cached_pos);
void
chord_free (ZChord * self);

42
inc/audio/position.h

@ -76,6 +76,48 @@ @@ -76,6 +76,48 @@
#define position_is_after_or_equal(_pos,_cmp) \
(position_compare (_pos, _cmp) >= 0)
/**
* Sets the Position by the name of pos_name in
* all of the object's linked objects (see
* ArrangerObjectInfo)
*
* It assumes that the object has members called
* *_get_main_trans_*, etc.
*
* @param sc snake_case of object's name (e.g.
* region).
*/
#define POSITION_SET_ARRANGER_OBJ_POS( \
sc, obj, pos_name, pos) \
position_set_to_pos ( \
&sc##_get_main_##sc (obj)-> \
pos_name, pos); \
position_set_to_pos ( \
&sc##_get_main_trans_##sc (obj)-> \
pos_name, pos)
/**
* Sets the Position by the name of pos_name in
* all of the object's linked objects (see
* ArrangerObjectInfo)
*
* It assumes that the object has members called
* *_get_main_trans_*, etc.
*
* @param sc snake_case of object's name (e.g.
* region).
*/
#define POSITION_SET_ARRANGER_OBJ_POS_WITH_LANE( \
sc, obj, pos_name, pos) \
POSITION_SET_ARRANGER_OBJ_POS ( \
sc, obj, pos_name, pos); \
position_set_to_pos ( \
&sc##_get_lane_trans_##sc (obj)-> \
pos_name, pos); \
position_set_to_pos ( \
&sc##_get_lane_##sc (obj)-> \
pos_name, pos)
typedef struct SnapGrid SnapGrid;
typedef struct Track Track;
typedef struct Region Region;

4
inc/gui/widgets/marker_track.h

@ -48,6 +48,10 @@ typedef struct _MarkerTrackWidget @@ -48,6 +48,10 @@ typedef struct _MarkerTrackWidget
MarkerTrackWidget *
marker_track_widget_new (Track * track);
void
marker_track_widget_refresh_buttons (
MarkerTrackWidget * self);
/**
* Updates changes in the backend to the ui
*/

29
inc/utils/gtk.h

@ -251,6 +251,35 @@ z_gtk_widget_add_style_class ( @@ -251,6 +251,35 @@ z_gtk_widget_add_style_class (
GtkWidget *widget,
const gchar *class_name);
/**
* Gets the GdkDevice for a GtkWidget.
*/
static inline GdkDevice *
z_gtk_widget_get_device (
GtkWidget * widget)
{
return (gdk_seat_get_pointer (
gdk_display_get_default_seat (
gtk_widget_get_display (widget))));
}
/**
* Sets the GdkModifierType given for the widget.
*
* Used in eg. drag_motion events to check if
* Ctrl is held.
*/
static inline void
z_gtk_widget_get_mask (
GtkWidget * widget,
GdkModifierType * mask)
{
gdk_window_get_device_position (
gtk_widget_get_window (widget),
z_gtk_widget_get_device (widget),
NULL, NULL, mask);
}
/**
* @}
*/

9
meson.build

@ -9,6 +9,8 @@ project ( @@ -9,6 +9,8 @@ project (
'c_std=gnu11' ],
)
gnome = import('gnome')
prefix = get_option ('prefix')
bindir = join_paths (prefix, get_option('bindir'))
libdir = join_paths (prefix, get_option ('libdir'))
@ -129,6 +131,11 @@ elif cc.get_id() == 'gcc' or cc.get_id() == 'clang' @@ -129,6 +131,11 @@ elif cc.get_id() == 'gcc' or cc.get_id() == 'clang'
'-Werror=format-security',
'-Werror=incompatible-pointer-types',
'-Werror=implicit-int',
'-Werror=multistatement-macros',
'-Werror=deprecated-declarations',
'-Werror=switch',
'-Werror=absolute-value',
'-Werror=parentheses-equality',
]
else
test_cflags = []
@ -288,8 +295,6 @@ run_target ( @@ -288,8 +295,6 @@ run_target (
meson.add_install_script (
join_paths ('scripts', 'meson_post_install.py'))
gnome = import('gnome')
ext_srcs = []
subdir ('po')

38
scripts/package_win.sh.in → scripts/package_win.sh

@ -18,8 +18,14 @@ @@ -18,8 +18,14 @@
# along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
#
# $1 prefix $2 version $3 src dir $4 build dir
PROGRAM_VERSION="$2"
src_dir=`pwd`
BUILD_DIR=build
SRC_DIR=$3
BUILD_DIR=$4
PREFIX=$1
WINDIR=$BUILD_DIR/win
BINDIR=$WINDIR/bin
LIBDIR=$WINDIR/lib
@ -27,6 +33,13 @@ SHAREDIR=$WINDIR/share @@ -27,6 +33,13 @@ SHAREDIR=$WINDIR/share
ETCDIR=$WINDIR/etc
INSTALL_DATA="install -m 644"
mkdir -p $BUILD_DIR/schemas
install -m 644 $SRC_DIR/data/org.zrythm.gschema.xml \
$BUILD_DIR/schemas/
cp $PREFIX/share/glib-2.0/schemas/org.gtk.Settings.* $BUILD_DIR/schemas/
wine $PREFIX/bin/glib-compile-schemas.exe \
$BUILD_DIR/schemas
rm -rf $WINDIR
mkdir -p $BINDIR
mkdir -p $LIBDIR
@ -93,8 +106,8 @@ DLLS=" \ @@ -93,8 +106,8 @@ DLLS=" \
for file in $DLLS; do
echo "copying $file"
cp $1/bin/$file $BINDIR/
cp $1/bin/$file $BUILD_DIR/
cp $PREFIX/bin/$file $BINDIR/
cp $PREFIX/bin/$file $BUILD_DIR/
done
# pixman doesn't work unless the mSYS one is used
@ -122,10 +135,10 @@ cp "$BUILD_DIR/schemas/gschemas.compiled" \ @@ -122,10 +135,10 @@ cp "$BUILD_DIR/schemas/gschemas.compiled" \
echo "packaging Adwaita icons"
ICONS_DIR="$SHAREDIR/icons"
mkdir -p "$ICONS_DIR"
cp -RL "$1/share/icons/Adwaita" "$ICONS_DIR/"
cp -RL "$PREFIX/share/icons/Adwaita" "$ICONS_DIR/"
echo "packaging existing hicolor icons"
cp -RL "$1/share/icons/hicolor" "$ICONS_DIR/"
cp -RL "$PREFIX/share/icons/hicolor" "$ICONS_DIR/"
echo "packaging app icon"
APPICON_DIR1=$ICONS_DIR/hicolor/scalable/apps
@ -148,8 +161,8 @@ for lang in $languages; do @@ -148,8 +161,8 @@ for lang in $languages; do
$(eval "$INSTALL_DATA \
po/$lang/zrythm.mo \
\"$CUR_DIR/\"")
cp $1/share/locale/$lang/LC_MESSAGES/gtk30.mo \
$1/share/locale/$lang/LC_MESSAGES/gtk30-properties.mo \
cp $PREFIX/share/locale/$lang/LC_MESSAGES/gtk30.mo \
$PREFIX/share/locale/$lang/LC_MESSAGES/gtk30-properties.mo \
$CUR_DIR/
done
# ******************************
@ -163,9 +176,9 @@ cp -R resources/fonts "$SHAREDIR/" @@ -163,9 +176,9 @@ cp -R resources/fonts "$SHAREDIR/"
echo "packaging gdk pixbuf loaders"
PIXBUF_DIR="lib/gdk-pixbuf-2.0/2.10.0"
mkdir -p "$WINDIR/$PIXBUF_DIR/loaders"
cp "$1/$PIXBUF_DIR/loaders/"*.dll \
cp "$PREFIX/$PIXBUF_DIR/loaders/"*.dll \
"$WINDIR/$PIXBUF_DIR/loaders/"
cp "$1/$PIXBUF_DIR/loaders.cache" \
cp "$PREFIX/$PIXBUF_DIR/loaders.cache" \
"$WINDIR/$PIXBUF_DIR/"
# ******************************
@ -173,7 +186,7 @@ cp "$1/$PIXBUF_DIR/loaders.cache" \ @@ -173,7 +186,7 @@ cp "$1/$PIXBUF_DIR/loaders.cache" \
#echo "packaging immodules"
#IMMODULES_DIR="lib/gtk-3.0/3.0.0"
#mkdir -p "$WINDIR/$IMMODULES_DIR/immodules"
#cp "$1/$IMMODULES_DIR/immodules/"*.dll \
#cp "$PREFIX/$IMMODULES_DIR/immodules/"*.dll \
#"$WINDIR/$IMMODULES_DIR/immodules/"
#cat /usr/x86_64-w64-mingw32/lib/gtk-3.0/3.0.0/immodules.cache | sed 's/\".*\/lib/lib/g' | sed 's/\/usr\/.*\/share/share/g' | sed 's/\//\\\\/g' > "$WINDIR/$IMMODULES_DIR/immodules.cache"
# ******************************
@ -202,17 +215,16 @@ cd $WINDIR @@ -202,17 +215,16 @@ cd $WINDIR
NSISFILE=zrythm.nsis
PROGRAM_NAME=Zrythm
PROGRAM_KEY=Zrythm
PROGRAM_VERSION="@PACKAGE_VERSION@"
major_version=${PROGRAM_VERSION:0:1}
PRODUCT_ID=${PROGRAM_NAME}
PRODUCT_EXE=zrythm.exe
PRODUCT_ICON=zrythm.ico
OUTFILE=Install_v@PACKAGE_VERSION@.exe
OUTFILE="Install_v$PROGRAM_VERSION.exe"
ZRYTHMDATE=$(date -R)
STATEFILE_SUFFIX=zpr # project file
QUICKZIP=1
if [[ $1 == *"x86_64"* ]]; then
if [[ $PREFIX == *"x86_64"* ]]; then
PGF=PROGRAMFILES64
SFX=
WARCH=w64

38
src/audio/chord.c

@ -21,11 +21,18 @@ @@ -21,11 +21,18 @@
#include "audio/chord.h"
#include "audio/chord_track.h"
#include "audio/position.h"
#include "gui/widgets/chord.h"
#include "project.h"
NOTE_LABELS;
DEFINE_START_POS
#define SET_POS(_c,_pos) \
POSITION_SET_ARRANGER_OBJ_POS ( \
chord, _c, pos, _pos)
void
chord_init_loaded (ZChord * self)
{
@ -127,6 +134,37 @@ chord_find ( @@ -127,6 +134,37 @@ chord_find (
return NULL;
}
/**
* Moves the ZChord by the given amount of ticks.
*
* @param use_cached_pos Add the ticks to the cached
* Position instead of its current Position.
* @return Whether moved or not.
*/
int
chord_move (
ZChord * chord,
long ticks,
int use_cached_pos)
{
Position tmp;
if (use_cached_pos)
position_set_to_pos (
&tmp, &chord->cache_pos);
else
position_set_to_pos (
&tmp, &chord->pos);
position_add_ticks (
&tmp, ticks);
if (position_is_before (
&tmp, START_POS))
return 0;
SET_POS (chord, &tmp);
return 1;
}
/**
* Returns the Track this ZChord is in.
*/

14
src/audio/instrument_track.c

@ -53,9 +53,7 @@ instrument_track_init (Track * track) @@ -53,9 +53,7 @@ instrument_track_init (Track * track)
void
instrument_track_setup (InstrumentTrack * self)
{
ChannelTrack * track = (ChannelTrack *) self;
channel_track_setup (track);
channel_track_setup (self);
}
/**
@ -90,7 +88,7 @@ instrument_track_fill_midi_events ( @@ -90,7 +88,7 @@ instrument_track_fill_midi_events (
{
lane = track->lanes[j];
for (int i = 0; i < lane->num_regions; i++)
for (i = 0; i < lane->num_regions; i++)
{
region = lane->regions[i];
r = (Region *) region;
@ -143,7 +141,7 @@ instrument_track_fill_midi_events ( @@ -143,7 +141,7 @@ instrument_track_fill_midi_events (
&region_end_adjusted,
&local_end_pos) <= 0)
{
for (int i = 0;
for (i = 0;
i < region->num_midi_notes;
i++)
{
@ -192,7 +190,7 @@ instrument_track_fill_midi_events ( @@ -192,7 +190,7 @@ instrument_track_fill_midi_events (
&r->end_pos,
&end_pos) <= 0)
{
for (int i = 0;
for (i = 0;
i < region->num_midi_notes;
i++)
{
@ -264,7 +262,7 @@ instrument_track_fill_midi_events ( @@ -264,7 +262,7 @@ instrument_track_fill_midi_events (
&local_end_pos,
&local_pos) <= 0)
{
for (int i = 0;
for (i = 0;
i < region->num_midi_notes;
i++)
{
@ -311,7 +309,7 @@ instrument_track_fill_midi_events ( @@ -311,7 +309,7 @@ instrument_track_fill_midi_events (
position_add_ticks (
&local_end_pos, - clip_start_ticks);
for (int i = 0;
for (i = 0;
i < region->num_midi_notes;
i++)
{

2
src/audio/marker.c

@ -22,8 +22,6 @@ @@ -22,8 +22,6 @@
#include "gui/widgets/marker.h"
#include "project.h"
NOTE_LABELS;
void
marker_init_loaded (Marker * self)
{

4
src/audio/midi_note.c

@ -295,7 +295,9 @@ midi_note_set_start_pos (MidiNote * midi_note, @@ -295,7 +295,9 @@ midi_note_set_start_pos (MidiNote * midi_note,
{
if (midi_note->end_pos.total_ticks -
pos->total_ticks >= 2)
SET_POS (midi_note, start_pos, pos);
{
SET_POS (midi_note, start_pos, pos);
}
}
/**

10
src/audio/port.c

@ -494,17 +494,17 @@ port_sum_signal_from_inputs (Port * port) @@ -494,17 +494,17 @@ port_sum_signal_from_inputs (Port * port)
{
Port * src_port;
int block_length = AUDIO_ENGINE->block_length;
int k, l;
/* for any output port pointing to it */
for (int k = 0; k < port->num_srcs; k++)
for (k = 0; k < port->num_srcs; k++)
{
src_port = port->srcs[k];
/* sum the signals */
if (port->identifier.type == TYPE_AUDIO)
{
for (int l = 0;
l < block_length; l++)
for (l = 0; l < block_length; l++)
{
port->buf[l] += src_port->buf[l];
}
@ -521,8 +521,8 @@ port_sum_signal_from_inputs (Port * port) @@ -521,8 +521,8 @@ port_sum_signal_from_inputs (Port * port)
/* TODO normalize CV */
float maxf =
port->lv2_port->lv2_control->maxf;
float minf =
port->lv2_port->lv2_control->minf;
/*float minf =*/
/*port->lv2_port->lv2_control->minf;*/
float deff =
port->lv2_port->lv2_control->deff;
port->lv2_port->control =

2
src/audio/position.c

@ -572,7 +572,7 @@ position_get_ticks_diff ( @@ -572,7 +572,7 @@ position_get_ticks_diff (
Position diff_pos;
position_init (&diff_pos);
position_add_ticks (
&diff_pos, abs (ticks_diff));
&diff_pos, labs (ticks_diff));
if (sg && SNAP_GRID_ANY_SNAP(sg))
position_snap (
NULL, &diff_pos, NULL, NULL, sg);

16
src/audio/region.c

@ -46,18 +46,8 @@ @@ -46,18 +46,8 @@
DEFINE_START_POS
#define SET_POS(r,pos_name,pos) \
position_set_to_pos ( \
&region_get_main_trans_region (r)-> \
pos_name, pos); \
position_set_to_pos ( \
&region_get_lane_trans_region (r)-> \
pos_name, pos); \
position_set_to_pos ( \
&region_get_lane_region (r)-> \
pos_name, pos); \
position_set_to_pos ( \
&region_get_main_region (r)-> \
pos_name, pos);
POSITION_SET_ARRANGER_OBJ_POS_WITH_LANE ( \
region, r, pos_name, pos)
/**
* Only to be used by implementing structs.
@ -463,8 +453,6 @@ region_move ( @@ -463,8 +453,6 @@ region_move (
long ticks,
int use_cached_pos)
{
long length_ticks =
region_get_full_length_in_ticks (region);
Position tmp;
if (use_cached_pos)
position_set_to_pos (

6
src/audio/routing.c

@ -273,11 +273,11 @@ node_process ( @@ -273,11 +273,11 @@ node_process (
case TRACK_TYPE_MASTER:
case TRACK_TYPE_BUS:
case TRACK_TYPE_GROUP:
port_sum_signal_from_inputs (
port);
break;
case TRACK_TYPE_INSTRUMENT:
case TRACK_TYPE_CHORD:
case TRACK_TYPE_MARKER:
case TRACK_TYPE_MIDI:
default:
port_sum_signal_from_inputs (port);
break;
}

49
src/audio/track.c

@ -454,6 +454,8 @@ track_setup (Track * track) @@ -454,6 +454,8 @@ track_setup (Track * track)
SETUP_TRACK (BUS, bus);
SETUP_TRACK (GROUP, group);
case TRACK_TYPE_CHORD:
/* TODO */
default:
break;
}
@ -594,46 +596,42 @@ track_free (Track * track) @@ -594,46 +596,42 @@ track_free (Track * track)
{
/* remove regions */
/* FIXME move inside *_track_free */
int i;
for (i = 0; i < track->num_lanes; i++)
track_lane_free (track->lanes[i]);
/* remove chords */
/* FIXME move inside *_track_free */
for (i = 0; i < track->num_chords; i++)
chord_free (track->chords[i]);
/* remove automation points, curves, tracks,
* lanes*/
/* FIXME move inside *_track_free */
automation_tracklist_free_members (
&track->automation_tracklist);
#define _FREE_TRACK(type_caps,sc) \
case TRACK_TYPE_##type_caps: \
sc##_track_free (track); \
break
switch (track->type)
{
case TRACK_TYPE_INSTRUMENT:
instrument_track_free (
(InstrumentTrack *) track);
break;
case TRACK_TYPE_MASTER:
master_track_free (
(MasterTrack *) track);
break;
case TRACK_TYPE_AUDIO:
audio_track_free (
(AudioTrack *) track);
break;
case TRACK_TYPE_CHORD:
chord_track_free (
(ChordTrack *) track);
break;
case TRACK_TYPE_BUS:
bus_track_free (
(BusTrack *) track);
break;
case TRACK_TYPE_GROUP:
group_track_free (track);
_FREE_TRACK (INSTRUMENT, instrument);
_FREE_TRACK (MASTER, master);
_FREE_TRACK (AUDIO, audio);
_FREE_TRACK (CHORD, chord);
_FREE_TRACK (BUS, bus);
_FREE_TRACK (GROUP, group);
default:
/* TODO */
break;
}
#undef _FREE_TRACK
channel_free (track->channel);
if (track->widget && GTK_IS_WIDGET (track->widget))
@ -663,6 +661,9 @@ track_get_automation_tracklist (Track * track) @@ -663,6 +661,9 @@ track_get_automation_tracklist (Track * track)
ChannelTrack * bt = (ChannelTrack *) track;
return &bt->automation_tracklist;
}
default:
/* TODO */
break;
}
return NULL;
@ -689,6 +690,8 @@ track_get_fader_automatable (Track * track) @@ -689,6 +690,8 @@ track_get_fader_automatable (Track * track)
ChannelTrack * bt = (ChannelTrack *) track;
return channel_get_fader_automatable (bt->channel);
}
default:
break;
}
return NULL;
@ -712,6 +715,8 @@ track_get_channel (Track * track) @@ -712,6 +715,8 @@ track_get_channel (Track * track)
case TRACK_TYPE_BUS:
case TRACK_TYPE_GROUP:
return track->channel;
default:
break;
}
return NULL;

18
src/gui/backend/timeline_selections.c

@ -157,6 +157,7 @@ timeline_selections_get_start_pos ( @@ -157,6 +157,7 @@ timeline_selections_get_start_pos (
position_set_to_bar (pos,
TRANSPORT->total_bars);
GtkWidget * widget = NULL;
(void) widget; // avoid unused warnings
int i;
@ -184,6 +185,7 @@ timeline_selections_get_end_pos ( @@ -184,6 +185,7 @@ timeline_selections_get_end_pos (
{
position_init (pos);
GtkWidget * widget = NULL;
(void) widget; // avoid unused warnings
int i;
@ -586,16 +588,13 @@ timeline_selections_add_ticks ( @@ -586,16 +588,13 @@ timeline_selections_add_ticks (
long ticks,
int use_cached_pos)
{
Position tmp;
long length_ticks;
int i, j;
int i;
/* update region positions */
Region * r;
for (i = 0; i < ts->num_regions; i++)
{
r =
ts->regions[i];
r = ts->regions[i];
region_move (r, ticks, use_cached_pos);
}
@ -603,13 +602,8 @@ timeline_selections_add_ticks ( @@ -603,13 +602,8 @@ timeline_selections_add_ticks (
ZChord * c;
for (i = 0; i < ts->num_chords; i++)
{
for (j = 0; j < 2; j++)
{
/*ARRANGER_MOVE_OBJ_BY_TICKS (*/
/*c, chord,*/
/*&c->cache_pos,*/
/*ticks_diff, &tmp);*/
}
c = ts->chords[i];
chord_move (c, ticks, use_cached_pos);
}
/* update ap positions */

5
src/gui/widgets/arranger.c

@ -1069,6 +1069,9 @@ create_item (ArrangerWidget * self, @@ -1069,6 +1069,9 @@ create_item (ArrangerWidget * self,
break;
case TRACK_TYPE_GROUP:
break;
default:
/* TODO */
break;
}
}
}
@ -2068,7 +2071,7 @@ arranger_widget_refresh ( @@ -2068,7 +2071,7 @@ arranger_widget_refresh (
if (midi_arranger)
{
RULER_WIDGET_GET_PRIVATE (MIDI_RULER);
/*RULER_WIDGET_GET_PRIVATE (MIDI_RULER);*/
/*gtk_widget_set_size_request (*/
/*GTK_WIDGET (self),*/
/*rw_prv->total_px,*/

16
src/gui/widgets/channel.c

@ -315,10 +315,8 @@ on_drag_motion ( @@ -315,10 +315,8 @@ on_drag_motion (
ChannelWidget * self)
{
GdkModifierType mask;
gdk_window_get_pointer (
gtk_widget_get_window (widget),
NULL, NULL, &mask);
z_gtk_widget_get_mask (
widget, &mask);
if (mask & GDK_CONTROL_MASK)
gdk_drag_status (context, GDK_ACTION_COPY, time);
else
@ -621,12 +619,12 @@ refresh_name (ChannelWidget * self) @@ -621,12 +619,12 @@ refresh_name (ChannelWidget * self)
/**
* Sets up the icon and name box for drag & move.
*/
static void
setup_drag_move (
ChannelWidget * self)
{
/*static void*/
/*setup_drag_move (*/
/*ChannelWidget * self)*/
/*{*/
}
/*}*/
static void
setup_pan (ChannelWidget * self)

6
src/gui/widgets/channel_slot.c

@ -563,10 +563,8 @@ on_drag_motion (GtkWidget *widget, @@ -563,10 +563,8 @@ on_drag_motion (GtkWidget *widget,
ChannelSlotWidget * self)
{
GdkModifierType mask;
gdk_window_get_pointer (
gtk_widget_get_window (widget),
NULL, NULL, &mask);
z_gtk_widget_get_mask (
widget, &mask);
if (mask & GDK_CONTROL_MASK)
gdk_drag_status (context, GDK_ACTION_COPY, time);
else

42
src/gui/widgets/chord_button.c

@ -23,31 +23,31 @@ G_DEFINE_TYPE (ChordButtonWidget, @@ -23,31 +23,31 @@ G_DEFINE_TYPE (ChordButtonWidget,
chord_button_widget,
GTK_TYPE_OVERLAY)
static gboolean
chord_button_draw_cb (
ChordButtonWidget * self,
cairo_t *cr,
gpointer data)
{
guint width, height;
GtkStyleContext *context;
/*static gboolean*/
/*chord_button_draw_cb (*/
/*ChordButtonWidget * self,*/
/*cairo_t *cr,*/
/*gpointer data)*/
/*{*/
/*guint width, height;*/
/*GtkStyleContext *context;*/
context =
gtk_widget_get_style_context (
GTK_WIDGET (self));
/*context =*/
/*gtk_widget_get_style_context (*/
/*GTK_WIDGET (self));*/
width =
gtk_widget_get_allocated_width (
GTK_WIDGET (self));
height =
gtk_widget_get_allocated_height (
GTK_WIDGET (self));
/*width =*/
/*gtk_widget_get_allocated_width (*/
/*GTK_WIDGET (self));*/
/*height =*/
/*gtk_widget_get_allocated_height (*/
/*GTK_WIDGET (self));*/
gtk_render_background (
context, cr, 0, 0, width, height);
/*gtk_render_background (*/
/*context, cr, 0, 0, width, height);*/
return FALSE;
}
/*return FALSE;*/
/*}*/
ChordButtonWidget *
chord_button_widget_new ()

10
src/gui/widgets/drag_dest_box.c

@ -110,10 +110,8 @@ on_drag_motion (GtkWidget *widget, @@ -110,10 +110,8 @@ on_drag_motion (GtkWidget *widget,
GET_ATOM (TARGET_ENTRY_PLUGIN))
{
GdkModifierType mask;
gtk_drag_highlight (widget);
gdk_window_get_pointer (
gtk_widget_get_window (widget),
NULL, NULL, &mask);
z_gtk_widget_get_mask (
widget, &mask);
if (mask & GDK_CONTROL_MASK)
gdk_drag_status (
context, GDK_ACTION_COPY, time);
@ -163,8 +161,8 @@ on_drag_data_received ( @@ -163,8 +161,8 @@ on_drag_data_received (
undo_manager_perform (UNDO_MANAGER, ua);
}
else if ((target ==
GET_ATOM (TARGET_ENTRY_PLUGIN_DESCR)))
else if (target ==
GET_ATOM (TARGET_ENTRY_PLUGIN_DESCR))
{
PluginDescriptor * pd =
* (gpointer *)

1
src/gui/widgets/marker_track.c

@ -86,7 +86,6 @@ marker_track_widget_refresh ( @@ -86,7 +86,6 @@ marker_track_widget_refresh (
static void
marker_track_widget_init (MarkerTrackWidget * self)
{
GtkStyleContext * context;
TRACK_WIDGET_GET_PRIVATE (self);
/* set icon */

8
src/gui/widgets/midi_arranger.c

@ -536,14 +536,6 @@ midi_arranger_widget_on_drag_begin_note_hit ( @@ -536,14 +536,6 @@ midi_arranger_widget_on_drag_begin_note_hit (
P_TOOL == TOOL_SELECT_NORMAL ||
P_TOOL == TOOL_SELECT_STRETCH)
{
int transients =
arranger_widget_is_in_moving_operation (
Z_ARRANGER_WIDGET (self)) ||
ar_prv->action ==
UI_OVERLAY_ACTION_RESIZING_R ||
ar_prv->action ==
UI_OVERLAY_ACTION_RESIZING_L;
/* if ctrl held & not selected, add to
* selections */
if (ar_prv->ctrl_held &&

4
src/gui/widgets/midi_arranger_bg.c

@ -71,8 +71,8 @@ midi_arranger_draw_cb ( @@ -71,8 +71,8 @@ midi_arranger_draw_cb (
/* px per key adjusted for border width */
double adj_px_per_key =
MW_PIANO_ROLL->px_per_key + 1;
double adj_total_key_px =
MW_PIANO_ROLL->total_key_px + 126;
/*double adj_total_key_px =*/
/*MW_PIANO_ROLL->total_key_px + 126;*/
/*handle horizontal drawing*/
double y_offset;

8
src/gui/widgets/modulator.c

@ -60,8 +60,8 @@ modulator_graph_draw ( @@ -60,8 +60,8 @@ modulator_graph_draw (
Plugin * pl =
self->modulator->plugin;
int num_cv_outs =
pl->descr->num_cv_outs;
/*int num_cv_outs =*/
/*pl->descr->num_cv_outs;*/
Port * port;
float maxf, minf, sizef, normalized_val;
int i, j;
@ -221,8 +221,8 @@ static void @@ -221,8 +221,8 @@ static void
modulator_widget_class_init (
ModulatorWidgetClass * _klass)
{
GtkWidgetClass * klass =
GTK_WIDGET_CLASS (_klass);
/*GtkWidgetClass * klass =*/
/*GTK_WIDGET_CLASS (_klass);*/
}
static void

4
src/gui/widgets/piano_roll_key_label.c

@ -77,7 +77,7 @@ piano_roll_key_label_widget_new ( @@ -77,7 +77,7 @@ piano_roll_key_label_widget_new (
-1);
gtk_label_set_xalign (
self->editable_lbl->label, 0.0);
gtk_widget_set_margin_left (
gtk_widget_set_margin_start (
GTK_WIDGET (self->editable_lbl), 4);
self->lbl =
GTK_LABEL (gtk_label_new (NULL));
@ -87,7 +87,7 @@ piano_roll_key_label_widget_new ( @@ -87,7 +87,7 @@ piano_roll_key_label_widget_new (
gtk_widget_set_halign (
GTK_WIDGET (self->lbl), GTK_ALIGN_START);
gtk_label_set_xalign (self->lbl, 0.0);
gtk_widget_set_margin_left (
gtk_widget_set_margin_start (
GTK_WIDGET (self->lbl), 4);
gtk_widget_set_visible (
GTK_WIDGET (self->lbl), 1);

17
src/gui/widgets/timeline_arranger.c

@ -275,11 +275,11 @@ timeline_arranger_widget_get_cursor ( @@ -275,11 +275,11 @@ timeline_arranger_widget_get_cursor (
self,
ar_prv->hover_x,
ar_prv->hover_y);
ChordWidget * cw =
timeline_arranger_widget_get_hit_chord (
self,
ar_prv->hover_x,
ar_prv->hover_y);
/*ChordWidget * cw =*/
/*timeline_arranger_widget_get_hit_chord (*/
/*self,*/
/*ar_prv->hover_x,*/
/*ar_prv->hover_y);*/
REGION_WIDGET_GET_PRIVATE (rw);
/* TODO chords, aps */
@ -692,10 +692,6 @@ void @@ -692,10 +692,6 @@ void
timeline_arranger_widget_update_visibility (
TimelineArrangerWidget * self)
{
Region * r;
ZChord * c;
AutomationPoint * ap;
ARRANGER_WIDGET_GET_PRIVATE (self);
int _trans_visible = 0;
@ -2211,6 +2207,9 @@ timeline_arranger_widget_refresh_children ( @@ -2211,6 +2207,9 @@ timeline_arranger_widget_refresh_children (
case TRACK_TYPE_GROUP:
/* TODO */
break;
default:
/* TODO */
break;
}
}
}

20
src/gui/widgets/timeline_bg.c

@ -74,14 +74,20 @@ timeline_bg_draw_cb ( @@ -74,14 +74,20 @@ timeline_bg_draw_cb (
gint wx, wy;
Track * track;
TrackWidget * tw;
int line_y;
for (int i = 0; i < TRACKLIST->num_tracks; i++)
int line_y, i, j;
int is_unpinned_timeline =
prv->arranger ==
Z_ARRANGER_WIDGET (MW_TIMELINE);
int is_pinned_timeline =
prv->arranger ==
Z_ARRANGER_WIDGET (MW_PINNED_TIMELINE);
for (i = 0; i < TRACKLIST->num_tracks; i++)
{
track = TRACKLIST->tracks[i];
if (!track->visible ||
(prv->arranger == MW_TIMELINE &&
(is_unpinned_timeline &&
track->pinned) ||
(prv->arranger == MW_PINNED_TIMELINE &&
(is_pinned_timeline &&
!track->pinned))
continue;
@ -96,7 +102,7 @@ timeline_bg_draw_cb ( @@ -96,7 +102,7 @@ timeline_bg_draw_cb (
widget,
0, 0, &wx, &wy);
int line_y =
line_y =
wy +
gtk_widget_get_allocated_height (tw_widget);
@ -110,7 +116,7 @@ timeline_bg_draw_cb ( @@ -110,7 +116,7 @@ timeline_bg_draw_cb (
}
/* draw automation related stuff */
for (int i = 0; i < TRACKLIST->num_tracks; i++)
for (i = 0; i < TRACKLIST->num_tracks; i++)
{
Track * track = TRACKLIST->tracks[i];
@ -118,7 +124,7 @@ timeline_bg_draw_cb ( @@ -118,7 +124,7 @@ timeline_bg_draw_cb (
track_get_automation_tracklist (track);
if (atl)
{
for (int j = 0;
for (j = 0;
j < atl->num_als;
j++)
{

121
src/gui/widgets/track.c

@ -120,6 +120,8 @@ track_widget_select ( @@ -120,6 +120,8 @@ track_widget_select (
break;
case TRACK_TYPE_CHORD:
break;
default:
break;
}
EVENTS_PUSH (ET_TRACK_CHANGED,
@ -172,33 +174,25 @@ track_widget_refresh (TrackWidget * self) @@ -172,33 +174,25 @@ track_widget_refresh (TrackWidget * self)
{
TRACK_WIDGET_GET_PRIVATE (self);
#define REFRESH_TW(caps,sc) \
case TRACK_TYPE_##caps: \
sc##_track_widget_refresh ( \
Z_##caps##_TRACK_WIDGET (self)); \
break
switch (tw_prv->track->type)
{
case TRACK_TYPE_INSTRUMENT:
instrument_track_widget_refresh (
Z_INSTRUMENT_TRACK_WIDGET (self));
break;
case TRACK_TYPE_MASTER:
master_track_widget_refresh (
Z_MASTER_TRACK_WIDGET (self));
break;
case TRACK_TYPE_AUDIO:
audio_track_widget_refresh (
Z_AUDIO_TRACK_WIDGET (self));
break;
case TRACK_TYPE_CHORD:
chord_track_widget_refresh (
Z_CHORD_TRACK_WIDGET (self));
break;
case TRACK_TYPE_BUS:
bus_track_widget_refresh (
Z_BUS_TRACK_WIDGET (self));
break;
case TRACK_TYPE_GROUP:
group_track_widget_refresh (
Z_GROUP_TRACK_WIDGET (self));
REFRESH_TW (INSTRUMENT, instrument);
REFRESH_TW (MASTER, master);
REFRESH_TW (AUDIO, audio);
REFRESH_TW (CHORD, chord);
REFRESH_TW (BUS, bus);
REFRESH_TW (GROUP, group);
REFRESH_TW (MARKER, marker);
default:
break;
}
#undef REFRESH_TW
}
/**
@ -210,34 +204,25 @@ track_widget_refresh_buttons ( @@ -210,34 +204,25 @@ track_widget_refresh_buttons (
{
TRACK_WIDGET_GET_PRIVATE (self);
#define REFRESH_TW_BUTTONS(caps,sc) \
case TRACK_TYPE_##caps: \
sc##_track_widget_refresh_buttons ( \
Z_##caps##_TRACK_WIDGET (self)); \
break
switch (tw_prv->track->type)
{
case TRACK_TYPE_INSTRUMENT:
instrument_track_widget_refresh_buttons (
Z_INSTRUMENT_TRACK_WIDGET (self));
break;
case TRACK_TYPE_MASTER:
master_track_widget_refresh_buttons (
Z_MASTER_TRACK_WIDGET (self));
break;
case TRACK_TYPE_AUDIO:
audio_track_widget_refresh_buttons (
Z_AUDIO_TRACK_WIDGET (self));
break;
case TRACK_TYPE_CHORD:
chord_track_widget_refresh_buttons (
Z_CHORD_TRACK_WIDGET (self));
break;
case TRACK_TYPE_BUS:
bus_track_widget_refresh_buttons (
Z_BUS_TRACK_WIDGET (self));
break;
case TRACK_TYPE_GROUP:
group_track_widget_refresh_buttons (
Z_GROUP_TRACK_WIDGET (self));
REFRESH_TW_BUTTONS (INSTRUMENT, instrument);
REFRESH_TW_BUTTONS (MASTER, master);
REFRESH_TW_BUTTONS (AUDIO, audio);
REFRESH_TW_BUTTONS (CHORD, chord);
REFRESH_TW_BUTTONS (BUS, bus);
REFRESH_TW_BUTTONS (GROUP, group);
REFRESH_TW_BUTTONS (MARKER, marker);
default:
break;
}
#undef REFRESH_TW_BUTTONS
}
/**
@ -586,37 +571,27 @@ track_widget_new (Track * track) @@ -586,37 +571,27 @@ track_widget_new (Track * track)
TrackWidget * self = NULL;
#define NEW_TW(caps,sc) \
case TRACK_TYPE_##caps: \
self = Z_TRACK_WIDGET ( \
sc##_track_widget_new (track)); \
break
switch (track->type)
{
case TRACK_TYPE_CHORD:
self = Z_TRACK_WIDGET (
chord_track_widget_new (track));
break;
case TRACK_TYPE_BUS:
self = Z_TRACK_WIDGET (
bus_track_widget_new (track));
NEW_TW (CHORD, chord);
NEW_TW (BUS, bus);
NEW_TW (GROUP, group);
NEW_TW (INSTRUMENT, instrument);
NEW_TW (MASTER, master);
NEW_TW (AUDIO, audio);
NEW_TW (MARKER, marker);
default:
break;
case TRACK_TYPE_GROUP:
self = Z_TRACK_WIDGET (
group_track_widget_new (track));
break;
case TRACK_TYPE_INSTRUMENT:
self = Z_TRACK_WIDGET (
instrument_track_widget_new (track));
break;
case TRACK_TYPE_MASTER:
self = Z_TRACK_WIDGET (
master_track_widget_new (track));
break;
case TRACK_TYPE_AUDIO:
self = Z_TRACK_WIDGET (
audio_track_widget_new (track));
break;
case TRACK_TYPE_MARKER:
self = Z_TRACK_WIDGET (
marker_track_widget_new (track));
}
#undef NEW_TW
g_warn_if_fail (Z_IS_TRACK_WIDGET (self));
TRACK_WIDGET_GET_PRIVATE (self);

8
src/meson.build

@ -48,6 +48,11 @@ zrythm_lib = static_library ( @@ -48,6 +48,11 @@ zrythm_lib = static_library (
]
)
objects = []
if os_win32
objects += join_paths (libdir, 'libdl.dll.a')
endif
zrythm_exe = executable (
'zrythm',
sources: [
@ -60,5 +65,6 @@ zrythm_exe = executable ( @@ -60,5 +65,6 @@ zrythm_exe = executable (
],
export_dynamic: true,
include_directories: all_inc,
install : true,
objects: objects,
install: true,
)

4
test/meson.build

@ -20,11 +20,11 @@ if get_option ('enable_tests') @@ -20,11 +20,11 @@ if get_option ('enable_tests')
foreach test_name : tests
source = test_name + '.c'
test_name = ' '.join(test_name.split('/'))
test_name = 'zrythm:' + ' '.join(test_name.split('/'))
exe = executable (
test_name, source,
c_args : test_cflags,
c_args : common_cflags,
dependencies : [
zrythm_deps,
],

Loading…
Cancel
Save