Giter VIP home page Giter VIP logo

giada's Introduction

Giada - Your Hardcore Loop Machine

Giada - Your Hardcore Loop Machine | Official website: giadamusic.com | Build status

What is Giada?

Giada is an open source, minimalistic and hardcore music production tool. Designed for DJs, live performers and electronic musicians.

✦✦✦ See Giada in action! ✦✦✦

Giada Loop Machine screenshot

Main features

  • Giada is a loop machine — build your performance in real time by layering audio tracks or MIDI events, driven by the main sequencer;
  • Giada is a sample player — load samples from your crates and play them with a computer keyboard or a MIDI controller;
  • Giada is a song editor — write songs from scratch or edit existing live recordings with the powerful Action Editor, for a fine-tuned control;
  • Giada is a live recorder — record sounds from the real world and MIDI events coming from external devices or other apps;
  • Giada is an FX processor — process samples or audio/MIDI input signals with VST instruments from your plug-ins collection;
  • Giada is a MIDI controller — control other software or synchronize physical MIDI devices by using Giada as a MIDI master sequencer.

And more:

  • Ultra-lightweight internal design;
  • multi-thread/multi-core support;
  • 32-bit floating point audio engine;
  • ALSA, JACK + Transport, CoreAudio, ASIO and DirectSound full support;
  • unlimited number of channels (optionally controllable via computer keyboard);
  • BPM and beat sync with sample-accurate loop engine;
  • MIDI input and output support, featuring custom MIDI lightning messages;
  • super-sleek, built-in Wave Editor for audio samples and Piano Roll editor for MIDI messages;
  • automatic quantizer;
  • portable project storage system, based on super-hackable JSON files;
  • support for all major uncompressed file formats;
  • test-driven development style supported by GitHub Actions and Catch
  • under a constant stage of development;
  • 100% open-source GPL v3.

License

Giada is available under the terms of the GNU General Public License. Take a look at the COPYING file for further information.

Documentation

Documentation is available online in the user guide page.

An ever-growing collection of tutorials (both text and video) and live demos is available in the tutorials & media page.

Found a typo or a terrible mistake? Feel free to clone the website repository and send us your pull requests.

Build Giada from source

We do our best to make the compilation process as simple as possible. You can find all the information in the compiling from source chapter from the user guide.

Bugs, requests and questions for non-developers

Feel free to ask anything in the discussions area.

Copyright

Giada is Copyright (C) 2010-2024 by Giovanni A. Zuliani | Monocasual Laboratories

Giada - Your Hardcore Loopmachine is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Giada - Your Hardcore Loopmachine is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Giada - Your Hardcore Loopmachine. If not, see http://www.gnu.org/licenses/.

giada's People

Contributors

adtb avatar blablack avatar dvzrv avatar gvnnz avatar hfiguiere avatar holmanb avatar horhik avatar jdek avatar joedrew avatar jwhendy avatar keryell avatar luzpaz avatar musicinmybrain avatar nedko avatar orivej avatar rye avatar rzr avatar snd1 avatar tomek-szczesny avatar umlaeute avatar xeonacid avatar yurivict avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

giada's Issues

compilation failed

as reported here:
http://www.giadamusic.com/forum/post291.html?sid=63ffe59a2026b62bba8ae216d099196c#p291

I'm trying to compile under Debian 7 but compilation failed against: gd_about.cpp

edit: from the source code downloaded from giadamusic.com

here some stuffs from the terminal window:

$ ./configure --target=linux --prefix=/opt/Giada --enable-vst
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking for pthread_exit in -lpthread... yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking FL/Fl.H usability... yes
checking FL/Fl.H presence... yes
checking for FL/Fl.H... yes
checking RtMidi.h usability... yes
checking RtMidi.h presence... yes
checking for RtMidi.h... yes
checking sndfile.h usability... yes
checking sndfile.h presence... yes
checking for sndfile.h... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SAMPLERATE... yes
checking X11/xpm.h usability... yes
checking X11/xpm.h presence... yes
checking for X11/xpm.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands

$ make
Making all in src
make[1]: Entering directory `/root/SDK/GIADA/0.7.2/giada-0.7.2-src/src'
g++ -DPACKAGE_NAME=\"giada\" -DPACKAGE_TARNAME=\"giada\" -DPACKAGE_VERSION=\"0.7\" -DPACKAGE_STRING=\"giada\ 0.7\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"giada\" -DVERSION=\"0.7\" -DWITH_VST=1 -DHAVE_LIBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -Wall -pedantic -Werror -g -O2 -MT mixerHandler.o -MD -MP -MF .deps/mixerHandler.Tpo -c -o mixerHandler.o mixerHandler.cpp
mv -f .deps/mixerHandler.Tpo .deps/mixerHandler.Po
g++ -DPACKAGE_NAME=\"giada\" -DPACKAGE_TARNAME=\"giada\" -DPACKAGE_VERSION=\"0.7\" -DPACKAGE_STRING=\"giada\ 0.7\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"giada\" -DVERSION=\"0.7\" -DWITH_VST=1 -DHAVE_LIBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -Wall -pedantic -Werror -g -O2 -MT gd_about.o -MD -MP -MF .deps/gd_about.Tpo -c -o gd_about.o gd_about.cpp
In file included from gd_about.cpp:33:0:
ge_mixed.h: In member function 'void gChoice::show(const char*)':
ge_mixed.h:218:53: error: 'find_index' was not declared in this scope
make[1]: *** [gd_about.o] Error 1
make[1]: Leaving directory `/root/SDK/GIADA/0.7.2/giada-0.7.2-src/src'
make: *** [all-recursive] Error 1

rtaudio is missing libpulse & ignores system set CFLAGS

Hi,
I still get this error (Arch Linux x86) from git as well as from release:
/usr/bin/ld: rtaudio/librtaudio.a(RtAudio.o): undefined reference to symbol 'pa_strerror@@PULSE_0'
/usr/bin/ld: note: 'pa_strerror@@PULSE_0' is defined in DSO /usr/lib/libpulse.so.0 so try adding it to the linker command line
/usr/lib/libpulse.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status

A simple fix is:
sed -i 's:-lpulse-simple:-lpulse-simple -lpulse:' src/Makefile.in

A proper fix would probably use 'AC_CHECK_LIB(pulse, pa_strerror...' in configure.ac

A small issue with rtaudio resetting CFLAGS
sed -i 's:CFLAGS = :CFLAGS +=:' src/rtaudio/Makefile.in

Giada could't get to work with jack setup

Hey, I tried the most recent Giada Version and it won't work with Jack Audio Configuration. If I try to choose my Firewire Cards Inputs and Outputs there are no channels to choose. The Dropdown Menue only shows "none". Output Device says: firewire-pcm and System says: Jack but it doesn't assign the cards outputs. Can you help me with this issue?
I tried with the Giada Version in the KX Studio Repos and it worked. But it wasn't running stable, after I added a couple of Samples it crashed every time due to stackoverflow errors...

Thanks alot for your work!

PS: Ubuntu Dreamstudio 12.04, 64bit on a Thinkpad T420 core i5

Multiple Drag&Drop on same column

From the latest git (March 15) branch "midi-lightning"

When dragging-dropping multiple samples on the same column what happend is that the last one will replace the previous one:

  1. Open Giada
  2. Drag&Drop a sample called "Drums_Full" -> new channel is created with "Drums_Full"
  3. Drag&Drop a sample called "Aspect_DirtyBass" on same column -> first channel is now called "Aspect_DirtyBass" and second channel is called "Aspect_DirtyBass-1"

[recorder.cpp:693]: (style) Same expression on both sides of '|'.

Source code is

    int res = getNextAction(cmp.a2.chan, cmp.a2.type | cmp.a2.type, cmp.a2.frame, &act);

Maybe

    int res = getNextAction(cmp.a2.chan, cmp.a1.type | cmp.a2.type, cmp.a2.frame, &act);

would be better code. Problem found by cppcheck, a static analyser for C/C++

Compile error error: template argument for ‘template<class T> class gVector’ uses local type ‘Channel::Channel(int, int, char)::Plugin*’

I'm having this mysterious error while compiling in linux (with pulseaudio and alsa disabled in rtaudio):

g++ -DPACKAGE_NAME="giada" -DPACKAGE_TARNAME="giada" -DPACKAGE_VERSION="0.7" -DPACKAGE_STRING="giada\ 0.7" -DPACKAGE_BUGREPORT="[email protected]" -DPACKAGE_URL="" -DPACKAGE="giada" -DVERSION="0.7" -DHAVE_LIBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -Wall -pedantic -Werror -g -O2 -MT channel.o -MD -MP -MF .deps/channel.Tpo -c -o channel.o channel.cpp
channel.cpp: In constructor ‘Channel::Channel(int, int, char)’:
channel.cpp:67:25: error: template argument for ‘template class gVector’ uses local type ‘Channel::Channel(int, int, char)::Plugin_’
channel.cpp:67:25: error: trying to instantiate ‘template class gVector’
channel.cpp:67:28: error: invalid type in declaration before ‘;’ token
channel.cpp:68:2: error: ‘plugins’ was not declared in this scope
make: *_* [channel.o] Error 1

Any idea what's happening?

GUI corrupted when window maximised

Hello,

In the git version of giada (pulled on 17/01/14), giada's GUI gets corrupted when the screen is maximised.

It is fine if the window is resized manually.

Find a screenshot below of the issue.
screenshot from 2015-01-18 11 17 20

missing Jack includes in Linux

--- giada-0.9.0-src.old/src/kernelAudio.h   2014-08-17 15:35:56.000000000 +0200
+++ giada-0.9.0-src/src/kernelAudio.h   2014-08-18 17:09:40.460708889 +0200
@@ -30,8 +30,11 @@
#ifndef KERNELAUDIO_H
#define KERNELAUDIO_H

+#include <jack/jack.h>
+#include <jack/intclient.h>
+#include <jack/transport.h>

-#include "RtAudio.h"
+#include <RtAudio.h>


namespace kernelAudio {

--- giada-0.9.0-src.old/src/mixerHandler.cpp    2014-08-17 15:35:57.000000000 +0200
+++ giada-0.9.0-src/src/mixerHandler.cpp    2014-08-18 17:18:28.903746378 +0200
@@ -26,6 +26,9 @@



+#include <jack/jack.h>
+#include <jack/intclient.h>
+#include <jack/transport.h>

#include "mixerHandler.h"
#include "kernelMidi.h"

Giada git crashes when reloading patches

Giada from the last git (pull 21st of January 2015) crashes when reloading patches with a Seg Fault.

Here is Giada's output:

blablack@ideaon:~/src/giada/src$ ./giada 
[init] Giada 0.9.3 - Wed Jan 21 19:04:39 2015
[init] configuration file ready
[KA] using system 0x2
[KA] Opening devices 0 (out), -1 (in), f=44100...
[KA] 5 device(s) found
  0) hw:HDA Intel HDMI,3
  1) hw:HDA Intel HDMI,7
  2) hw:HDA Intel HDMI,8

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:2,0), Device or resource busy.

  3) hw:HDA Intel PCH,0
  4) default

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:2,0), Device or resource busy.

[KM] using system 0x0
[KM] 2 output MIDI ports found
  0) Midi Through 14:0
  1) Launchpad S 20:0
[KM] MIDI out port 1 open
[KM] MIDI send (midi_init - Reset) - Event 0xB0000000
[KM] MIDI send (midi_init - Init Blinking) - Event 0xB0002800
[KM] 3 input MIDI ports found
  0) Midi Through 14:0
  1) Launchpad S 20:0
  2) Giada MIDI Output 130:0
[KM] MIDI in port 1 open
[gKeyboard] new column added (index = 0), total count=1, addColumn=404
[gKeyboard] new column added (index = 1), total count=2, addColumn=760
[gKeyboard] new column added (index = 2), total count=3, addColumn=1136
[gKeyboard] new column added (index = 3), total count=4, addColumn=1512
[gKeyboard] new column added (index = 4), total count=5, addColumn=1888
[gKeyboard] new column added (index = 5), total count=6, addColumn=2264
[KA] latency = 0
[gBrowser] init path = ''
[gBrowser] init_path null or invalid, using default
[PATCH] open patch version 0.930000
[gKeyboard] new column added (index = 0), total count=1, addColumn=404
[gKeyboard] new column added (index = 1), total count=2, addColumn=760
[gKeyboard] new column added (index = 2), total count=3, addColumn=1136
[gKeyboard] new column added (index = 3), total count=4, addColumn=1512
[gKeyboard] new column added (index = 4), total count=5, addColumn=1888
[gKeyboard] new column added (index = 5), total count=6, addColumn=2264
Segmentation fault (core dumped)

And the patch file:

# --- Giada patch file --- 
header=GIADAPTC
version=0.9.3
versionf=0.930000
patchname=song3
bpm=130.000000
bars=1
beats=32
quantize=0
outVol=0.167375
inVol=0.230208
metronome=0
lastTakeId=0
samplerate=48000
channels=7
# --- channel 0 --- 
chanType0=1
chanIndex0=1
chanColumn0=0
chanMute0=0
chanMute_s0=0
chanSolo0=0
chanvol0=1.000000
chanPanLeft0=1.000000
chanPanRight0=1.000000
chanMidiIn0=1
chanMidiInKeyPress0=0
chanMidiInKeyRel0=0
chanMidiInKill0=0
chanMidiInVolume0=0
chanMidiInMute0=0
chanMidiInSolo0=0
samplepath0=Drums Loop.wav
chanKey0=0
columnIndex0=1
chanmode0=1
chanBegin0=0
chanend0=708896
chanBoost0=1.000000
chanRecActive0=1
chanPitch0=1.000000
chanMidiInReadActions0=0
chanMidiInPitch0=0
# --- channel 1 --- 
chanType1=1
chanIndex1=2
chanColumn1=1
chanMute1=0
chanMute_s1=0
chanSolo1=0
chanvol1=1.000000
chanPanLeft1=1.000000
chanPanRight1=1.000000
chanMidiIn1=1
chanMidiInKeyPress1=0
chanMidiInKeyRel1=0
chanMidiInKill1=0
chanMidiInVolume1=0
chanMidiInMute1=0
chanMidiInSolo1=0
samplepath1=HiHat Fast Loop.wav
chanKey1=0
columnIndex1=2
chanmode1=1
chanBegin1=0
chanend1=708896
chanBoost1=1.000000
chanRecActive1=1
chanPitch1=1.000000
chanMidiInReadActions1=0
chanMidiInPitch1=0
# --- channel 2 --- 
chanType2=1
chanIndex2=3
chanColumn2=1
chanMute2=0
chanMute_s2=0
chanSolo2=0
chanvol2=1.000000
chanPanLeft2=1.000000
chanPanRight2=1.000000
chanMidiIn2=1
chanMidiInKeyPress2=0
chanMidiInKeyRel2=0
chanMidiInKill2=0
chanMidiInVolume2=0
chanMidiInMute2=0
chanMidiInSolo2=0
samplepath2=HiHat Slow Loop.wav
chanKey2=0
columnIndex2=3
chanmode2=1
chanBegin2=0
chanend2=708896
chanBoost2=1.000000
chanRecActive2=1
chanPitch2=1.000000
chanMidiInReadActions2=0
chanMidiInPitch2=0
# --- channel 3 --- 
chanType3=1
chanIndex3=4
chanColumn3=2
chanMute3=0
chanMute_s3=0
chanSolo3=0
chanvol3=1.000000
chanPanLeft3=1.000000
chanPanRight3=1.000000
chanMidiIn3=1
chanMidiInKeyPress3=0
chanMidiInKeyRel3=0
chanMidiInKill3=0
chanMidiInVolume3=0
chanMidiInMute3=0
chanMidiInSolo3=0
samplepath3=Ingen Loop.wav
chanKey3=0
columnIndex3=4
chanmode3=1
chanBegin3=0
chanend3=1417792
chanBoost3=1.000000
chanRecActive3=1
chanPitch3=1.000000
chanMidiInReadActions3=0
chanMidiInPitch3=0
# --- channel 4 --- 
chanType4=1
chanIndex4=5
chanColumn4=3
chanMute4=0
chanMute_s4=0
chanSolo4=0
chanvol4=1.000000
chanPanLeft4=1.000000
chanPanRight4=1.000000
chanMidiIn4=1
chanMidiInKeyPress4=0
chanMidiInKeyRel4=0
chanMidiInKill4=0
chanMidiInVolume4=0
chanMidiInMute4=0
chanMidiInSolo4=0
samplepath4=Pro Crunch Cut Loop.wav
chanKey4=0
columnIndex4=5
chanmode4=1
chanBegin4=0
chanend4=2835584
chanBoost4=1.000000
chanRecActive4=1
chanPitch4=1.000000
chanMidiInReadActions4=0
chanMidiInPitch4=0
# --- channel 5 --- 
chanType5=1
chanIndex5=6
chanColumn5=3
chanMute5=0
chanMute_s5=0
chanSolo5=0
chanvol5=1.000000
chanPanLeft5=1.000000
chanPanRight5=1.000000
chanMidiIn5=1
chanMidiInKeyPress5=0
chanMidiInKeyRel5=0
chanMidiInKill5=0
chanMidiInVolume5=0
chanMidiInMute5=0
chanMidiInSolo5=0
samplepath5=Pro Crunch.wav
chanKey5=0
columnIndex5=6
chanmode5=1
chanBegin5=0
chanend5=1417792
chanBoost5=1.000000
chanRecActive5=1
chanPitch5=1.000000
chanMidiInReadActions5=0
chanMidiInPitch5=0
# --- channel 6 --- 
chanType6=1
chanIndex6=7
chanColumn6=4
chanMute6=0
chanMute_s6=0
chanSolo6=0
chanvol6=1.000000
chanPanLeft6=1.000000
chanPanRight6=1.000000
chanMidiIn6=1
chanMidiInKeyPress6=0
chanMidiInKeyRel6=0
chanMidiInKill6=0
chanMidiInVolume6=0
chanMidiInMute6=0
chanMidiInSolo6=0
samplepath6=Warning Synth Loop.wav
chanKey6=0
columnIndex6=7
chanmode6=1
chanBegin6=0
chanend6=1417792
chanBoost6=1.000000
chanRecActive6=1
chanPitch6=1.000000
chanMidiInReadActions6=0
chanMidiInPitch6=0
# --- actions --- 
numrecs=0

Blocking Functions Are Reachable From Realtime Functions

Currently callbacks from jack can reach functions which can block and are thus not realtime safe.
This can cause disruptions to the audio output of any program using the jack server.

To see the functions which are not obviously safe, http://github.com/fundamental/stoat was used to analyze the callgraph. The following errors were seen:

Error #1:
gController::updatePlay(int) _ZN11gController10updatePlayEi
##The Deduction Chain:
 - glue_stopSeq(bool) _Z12glue_stopSeqb : Deduced Realtime
 - kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
 - Fl_Button::value(int) _ZN9Fl_Button5valueEi : Assumed Unsafe
 - Fl_Widget::redraw() _ZN9Fl_Widget6redrawEv : Assumed Unsafe


Error #2:
gController::updateRecInput(int) _ZN11gController14updateRecInputEi
##The Deduction Chain:
 - glue_stopSeq(bool) _Z12glue_stopSeqb : Deduced Realtime
 - kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
 - Fl_Button::value(int) _ZN9Fl_Button5valueEi : Assumed Unsafe
 - Fl_Widget::redraw() _ZN9Fl_Widget6redrawEv : Assumed Unsafe


Error #3:
gController::updateRecAction(int) _ZN11gController15updateRecActionEi
##The Deduction Chain:
 - glue_stopSeq(bool) _Z12glue_stopSeqb : Deduced Realtime
 - kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
 - Fl_Button::value(int) _ZN9Fl_Button5valueEi : Assumed Unsafe
 - Fl_Widget::redraw() _ZN9Fl_Widget6redrawEv : Assumed Unsafe


Error #4:
recorder::rec(int, int, int, unsigned int, float) _ZN8recorder3recEiiijf
##The Deduction Chain:
 - SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
 - SampleChannel$vtable12 : Deduced Realtime
 - Channel$vtable12 : Deduced Realtime
 - Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
 - Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
 - malloc : NonRealtime (Blacklist)


Error #5:
gVector<int>::add(int const&) _ZN7gVectorIiE3addERKi
##The Deduction Chain:
 - recorder::rec(int, int, int, unsigned int, float) _ZN8recorder3recEiiijf : Deduced Realtime
 - SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
 - SampleChannel$vtable12 : Deduced Realtime
 - Channel$vtable12 : Deduced Realtime
 - Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
 - Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
 - operator new[](unsigned int) _Znaj : NonRealtime (Blacklist)
 - operator delete[](void*) _ZdaPv : NonRealtime (Blacklist)


Error #6:
glue_stopSeq(bool) _Z12glue_stopSeqb
##The Deduction Chain:
 - kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
 - Fl::lock() _ZN2Fl4lockEv : Assumed Unsafe
 - Fl::unlock() _ZN2Fl6unlockEv : Assumed Unsafe


Error #7:
glue_startSeq(bool) _Z13glue_startSeqb
##The Deduction Chain:
 - kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
 - Fl::lock() _ZN2Fl4lockEv : Assumed Unsafe
 - Fl::unlock() _ZN2Fl6unlockEv : Assumed Unsafe


Error #8:
Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j
##The Deduction Chain:
 - Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
 - pthread_mutex_lock : NonRealtime (Blacklist)


Error #9:
__gnu_cxx::new_allocator<unsigned char>::allocate(unsigned int, void const*) _ZN9__gnu_cxx13new_allocatorIhE8allocateEjPKv
##The Deduction Chain:
 - std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_allocate(unsigned int) _ZNSt12_Vector_baseIhSaIhEE11_M_allocateEj : Deduced Realtime
 - void std::vector<unsigned char, std::allocator<unsigned char> >::_M_initialize_dispatch<int>(int, int, std::__true_type) _ZNSt6vectorIhSaIhEE22_M_initialize_dispatchIiEEvT_S3_St11__true_type : Deduced Realtime
 - std::vector<unsigned char, std::allocator<unsigned char> >::vector<int>(int, int, std::allocator<unsigned char> const&) _ZNSt6vectorIhSaIhEEC2IiEET_S3_RKS0_ : Deduced Realtime
 - kernelMidi::send(int, int, int) _ZN10kernelMidi4sendEiii : Deduced Realtime
 - Mixer::sendMIDIsync() _ZN5Mixer12sendMIDIsyncEv : Deduced Realtime
 - Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
 - Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
 - operator new(unsigned int) _Znwj : Assumed Unsafe


Error #10:
__gnu_cxx::new_allocator<unsigned char>::deallocate(unsigned char*, unsigned int) _ZN9__gnu_cxx13new_allocatorIhE10deallocateEPhj
##The Deduction Chain:
 - std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_deallocate(unsigned char*, unsigned int) _ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhj : Deduced Realtime
 - std::_Vector_base<unsigned char, std::allocator<unsigned char> >::~_Vector_base() _ZNSt12_Vector_baseIhSaIhEED2Ev : Deduced Realtime
 - std::vector<unsigned char, std::allocator<unsigned char> >::vector<int>(int, int, std::allocator<unsigned char> const&) _ZNSt6vectorIhSaIhEEC2IiEET_S3_RKS0_ : Deduced Realtime
 - kernelMidi::send(int, int, int) _ZN10kernelMidi4sendEiii : Deduced Realtime
 - Mixer::sendMIDIsync() _ZN5Mixer12sendMIDIsyncEv : Deduced Realtime
 - Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
 - Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
 - operator delete(void*) _ZdlPv : NonRealtime (Blacklist)


Error #11:
gVector<gVector<recorder::action*> >::add(gVector<recorder::action*> const&) _ZN7gVectorIS_IPN8recorder6actionEEE3addERKS3_
##The Deduction Chain:
 - recorder::rec(int, int, int, unsigned int, float) _ZN8recorder3recEiiijf : Deduced Realtime
 - SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
 - SampleChannel$vtable12 : Deduced Realtime
 - Channel$vtable12 : Deduced Realtime
 - Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
 - Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
 - operator new[](unsigned int) _Znaj : NonRealtime (Blacklist)
 - operator delete[](void*) _ZdaPv : NonRealtime (Blacklist)


Error #12:
gVector<recorder::action*>::add(recorder::action* const&) _ZN7gVectorIPN8recorder6actionEE3addERKS2_
##The Deduction Chain:
 - recorder::rec(int, int, int, unsigned int, float) _ZN8recorder3recEiiijf : Deduced Realtime
 - SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
 - SampleChannel$vtable12 : Deduced Realtime
 - Channel$vtable12 : Deduced Realtime
 - Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
 - Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
 - operator new[](unsigned int) _Znaj : NonRealtime (Blacklist)
 - operator delete[](void*) _ZdaPv : NonRealtime (Blacklist)


Error #13:
gVector<recorder::action*>::gVector(gVector<recorder::action*> const&) _ZN7gVectorIPN8recorder6actionEEC2ERKS3_
##The Deduction Chain:
 - gVector<gVector<recorder::action*> >::swap(unsigned int, unsigned int) _ZN7gVectorIS_IPN8recorder6actionEEE4swapEjj : Deduced Realtime
 - recorder::sortActions() _ZN8recorder11sortActionsEv : Deduced Realtime
 - recorder::getNextAction(int, char, int, recorder::action**, unsigned int) _ZN8recorder13getNextActionEiciPPNS_6actionEj : Deduced Realtime
 - recorder::startOverdub(int, char, int) _ZN8recorder12startOverdubEici : Deduced Realtime
 - SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
 - SampleChannel$vtable12 : Deduced Realtime
 - Channel$vtable12 : Deduced Realtime
 - Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
 - Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
 - operator new[](unsigned int) _Znaj : NonRealtime (Blacklist)

This can be seen more clearly with a graphical representation:
Callgraph Hazards

To replicate this the following whitelist was used:

kernelAudio::jackSyncCb
Mixer::masterPlay
src_process
jack_transport_start
jack_transport_stop
MidiOutApi$vtable9

And logging functions were suppressed with the suppression file:

gLog ==> vfprintf
gLog ==> vprintf

Crash on startup on Mac

Giada 0.9.0 crashes on startup on my Macbook Pro 17" (Early 2011) with Mac OS 10.9. Here's the error report:

Process: giada_osx [1412]
Path: /Applications/giada.app/Contents/MacOS/giada_osx
Identifier: giada_osx
Version: ???
Code Type: X86 (Native)
Parent Process: launchd [157]
Responsible: giada_osx [1412]
User ID: 501

Date/Time: 2014-08-23 14:36:58.134 +0200
OS Version: Mac OS X 10.9.4 (13E28)
Report Version: 11
Anonymous UUID: EF1213D3-95B1-8587-3CFF-F7B1DA75F376

Crashed Thread: Unknown

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Backtrace not available

Unknown thread crashed with X86 Thread State (32-bit):
eax: 0x8fe340f8 ebx: 0x8fe04e0e ecx: 0x00000001 edx: 0x8fe5c084
edi: 0x8fe5c084 esi: 0x8fe021e3 ebp: 0xbffff458 esp: 0xbffff43c
ss: 0x00000023 efl: 0x00000202 eip: 0x8fe010b5 cs: 0x0000001b
ds: 0x00000023 es: 0x00000023 fs: 0x00000000 gs: 0x0000000f
cr2: 0x8fe0fae4

Logical CPU: 7
Error Code: 0x00000000
Trap Number: 3

Binary images description not available

External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 2562
thread_create: 0
thread_set_state: 0

Model: MacBookPro8,3, BootROM MBP81.0047.B27, 4 processors, Intel Core i7, 2.2 GHz, 8 GB, SMC 1.70f6
Graphics: Intel HD Graphics 3000, Intel HD Graphics 3000, Built-In, 512 MB
Graphics: AMD Radeon HD 6750M, AMD Radeon HD 6750M, PCIe, 1024 MB
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x0198, 0x393930353432382D3038372E4130304C4620
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xD6), Broadcom BCM43xx 1.0 (5.106.98.100.22)
Bluetooth: Version 4.2.6f1 14216, 3 services, 23 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: Samsung SSD 840 EVO 1TB, 1 TB
Serial ATA Device: MATSHITADVD-R UJ-8A8
USB Device: FaceTime HD Camera (Built-in)
USB Device: Hub
USB Device: BRCM2070 Hub
USB Device: Bluetooth USB Host Controller
USB Device: Apple Internal Keyboard / Trackpad
USB Device: Hub
USB Device: IR Receiver
Thunderbolt Bus: MacBook Pro, Apple Inc., 22.1

Giada fails to compile

Giada's current git (27th of October) fails to compile.

Here is the error I get:

g++ -DPACKAGE_NAME=\"giada\" -DPACKAGE_TARNAME=\"giada\" -DPACKAGE_VERSION=\"0.10\" -DPACKAGE_STRING=\"giada\ 0.10\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"giada\" -DVERSION=\"0.10\" -DHAVE_LIBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I.    -Wno-parentheses -std=c++0x -O2 -pipe -mtune=generic -msse -msse2 -mfpmath=sse -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fPIC -DPIC  -c -o tests/giada_tests-main.o `test -f 'tests/main.cpp' || echo './'`tests/main.cpp
g++ -DPACKAGE_NAME=\"giada\" -DPACKAGE_TARNAME=\"giada\" -DPACKAGE_VERSION=\"0.10\" -DPACKAGE_STRING=\"giada\ 0.10\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"giada\" -DVERSION=\"0.10\" -DHAVE_LIBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I.    -Wno-parentheses -std=c++0x -O2 -pipe -mtune=generic -msse -msse2 -mfpmath=sse -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fPIC -DPIC  -c -o tests/giada_tests-conf.o `test -f 'tests/conf.cpp' || echo './'`tests/conf.cpp
g++ -DPACKAGE_NAME=\"giada\" -DPACKAGE_TARNAME=\"giada\" -DPACKAGE_VERSION=\"0.10\" -DPACKAGE_STRING=\"giada\ 0.10\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"giada\" -DVERSION=\"0.10\" -DHAVE_LIBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I.    -Wno-parentheses -std=c++0x -O2 -pipe -mtune=generic -msse -msse2 -mfpmath=sse -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fPIC -DPIC  -c -o tests/giada_tests-patch.o `test -f 'tests/patch.cpp' || echo './'`tests/patch.cpp
tests/patch.cpp: In function 'void ____C_A_T_C_H____T_E_S_T____6()':
tests/patch.cpp:109:11: error: 'class Patch' has no member named 'masterInPlugins'
     patch.masterInPlugins.add(plugin1);
           ^
tests/patch.cpp:109:31: error: 'plugin1' was not declared in this scope
     patch.masterInPlugins.add(plugin1);
                               ^
tests/patch.cpp:110:11: error: 'class Patch' has no member named 'masterOutPlugins'
     patch.masterOutPlugins.add(plugin2);
           ^
tests/patch.cpp:110:32: error: 'plugin2' was not declared in this scope
     patch.masterOutPlugins.add(plugin2);
                                ^
Makefile:2072: recipe for target 'tests/giada_tests-patch.o' failed

0.8.4 crashes various ways on OSX 10.9.2

Clicking the 'fx' button, opening the config dialog, opening the about dialog... all cause a crash with "Bus error: 10"

$ ./giada.app/Contents/MacOS/giada_osx 
Giada 0.8.4 setup...
[INIT] loading configuration file...
[Conf::openFile] unable to open conf file for reading.
[Conf] unreadable .conf file, using default parameters
[KA] using system 0x10
[KA] Opening devices 0 (out), -1 (in), f=44100...
[KA] 2 device(s) found
  0) Apple Inc.: Built-in Microphone
  1) Apple Inc.: Built-in Output
[KM] using system 0x0
[KM] 0 output MIDI ports found
[KM] 0 input MIDI ports found
2014-04-30 20:13:57.118 giada_osx[2084:507] CoreText performance note: Client called CTFontCreateWithName() using name "Arial" and got font with PostScript name "ArialMT". For best performance, only use PostScript names when calling this API.
2014-04-30 20:13:57.118 giada_osx[2084:507] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.
[KA] latency = 47
[pluginHost] buffers allocated, buffersize = 2048
Bus error: 10

Compiling error - missing rtmidi

I'm not shure if my edit of the closed issue will be noticed, so I repeat it here:

Once again, I have the same issue with the latest *.deb version. I only get Giada to work via Pulseaudio which isn't very useful (high latency). I also tried to compile the Program from source, but there the rtmidi lib seems to be missing. Can you tell me, where I can get this? Is there any PPA which includes the newest rtmidi lib?
Thanks a lot...

~/Downloads/giada-0.7.2-src$ ./configure --target=linuxchecking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking for pthread_exit in -lpthread... yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking FL/Fl.H usability... yes
checking FL/Fl.H presence... yes
checking for FL/Fl.H... yes
checking RtMidi.h usability... no
checking RtMidi.h presence... no
checking for RtMidi.h... no
configure: error: library 'rtMidi' not found!

How to compile for Linux without PulseAudio?

Hello! I am building this on a live performance performance machine that does not use PulseAudio or have it available. How can I compile Giada with only jack support?

Thanks, I can't wait to use it!

No audio with JACK1

I'm trying to start Giada with system set to JACK and I can not get audio. This is a bug I believe. I'm getting a start stream error in the terminal when trying to start it from there.

autoconf gives a deprecation warning

When using autoconf, it gives a deprecation warning:

$ autoreconf 
configure.ac:9: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.  For more info, see:
configure.ac:9: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation

Compilation error on Windows due to rtAudio

configure seems unable to find rtAudio

configure: WARNING: RtAudio.h: present but cannot be compiled
configure: WARNING: RtAudio.h:     check for missing prerequisite headers?
configure: WARNING: RtAudio.h: see the Autoconf documentation
configure: WARNING: RtAudio.h:     section "Present But Cannot Be Compiled"
configure: WARNING: RtAudio.h: proceeding with the compiler's result
configure: WARNING:     ## ---------------------------------- ##
configure: WARNING:     ## Report this to [email protected] ##
configure: WARNING:     ## ---------------------------------- ##
checking for RtAudio.h... no
configure: error: library 'rtAudio' not found!

Segmentation Fault on add New L/R Channel

I installed Giada today, as per the compilation instructions, and it spat out no errors.

I opened it and it works as far as that's concerned, but it doesn't work with opening channels.
Upon executing it in the terminal, I got a few error messages, but I've got a glaring segmentation fault that shows up.

Here's the output that gets spat out in GDB:

(gdb) run
Starting program: /usr/local/bin/giada 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Giada 0.7.0 setup...
[INIT] loading configuration file...
[Conf::openFile] unable to open conf file for reading.
[Conf] unreadable .conf file, using default parameters
[KA] using system 0x2
[KA] Opening devices -1 (out), -1 (in), f=44100...
[KA] 2 device(s) found
  0) hw:HD-Audio Generic,3
  1) hw:HD-Audio Generic,0
[New Thread 0x7ffff782d700 (LWP 30724)]
XOpenIM() failed
[New Thread 0x7ffff0b8f700 (LWP 30725)]
[KA] latency = 0
[mixer] channel index=0 added, total=1

Program received signal SIGSEGV, Segmentation fault.
gChannel::gChannel (this=0x685a20, X=<optimized out>, Y=<optimized out>, W=<optimized out>, H=<optimized out>, L=<optimized out>, 
    ch=0x685970) at gg_keyboard.cpp:91
91      solo->type(FL_TOGGLE_BUTTON);

Localization

Could be the localization support available? I would contribute that translators way.

Borders around widgets and frozen sequencer

So functionally, everything is normal. However, there are odd black lines around most of the widgets, a scrollbar in the channel area, and when I click play to start the sequencer, the metronome clicks can be heard but the sequencer bar is frozen.

System:

  • Archlinux kernel 3.14.3-2-ARCH
  • Jack2 w/ ALSA
  • FLTK 1.3

Giada was compiled from current git sources.

Screenshot

deb package issues on Ubuntu 12.10 / KXStudio

Lintian check results for /home/kxstudio/.cache/.fr-w7DLM7/giada_0.5.6_0_i386.deb:
E: Giada: control-file-has-bad-permissions postinst 0775 != 0755
E: Giada: control-file-has-bad-owner postinst monocasual/monocasual != root/root
E: Giada: control-file-has-bad-permissions prerm 0775 != 0755
E: Giada: control-file-has-bad-owner prerm monocasual/monocasual != root/root
E: Giada: bad-package-name
E: Giada: package-not-lowercase
E: Giada: wrong-file-owner-uid-or-gid usr/ 1000/1000
E: Giada: wrong-file-owner-uid-or-gid usr/bin/ 1000/1000
E: Giada: wrong-file-owner-uid-or-gid usr/bin/giada_lin 1000/1000
E: Giada: wrong-file-owner-uid-or-gid usr/share/ 1000/1000
E: Giada: wrong-file-owner-uid-or-gid usr/share/applications/ 1000/1000
E: Giada: wrong-file-owner-uid-or-gid usr/share/applications/giada.desktop 1000/1000
E: Giada: wrong-file-owner-uid-or-gid usr/share/pixmaps/ 1000/1000
E: Giada: wrong-file-owner-uid-or-gid usr/share/pixmaps/giada.ico 1000/1000

Need to keep pressing pad on Novation Launchpad S

I noticed something with the Novation Launchpad S.

In a Sample Channel, I can set the 'key press' in the Midi Setup to learn the first button of my Novation Launchpad S - this works.

But, if I now want to trigger the sample to start, I need to keep pressing the pad on the Launchpad.
It would be handy to have the option to just toggle the 'Key Press' by pressing the button once only.

Light up pad of Novation Launchpad S

It would be great if I could set up Giada to midi output the status of devices like the Novation Launchpad S to show the status of a channel, especially wait/waiting, off and playing (in the novation launchpad, it would correspond to blinking, off, on).

Alternate Sound Format Support?

Is it possible to implement MP3 support as Giada is now? Is there something which could possibly make it difficult, or was Waveform just used as default? Also, could FLAC support be implemented? I find it a tad annoying to have to export everything as a WAV through Audacity or something.

Or, are there plugins which allow this?

Latest merge of master branch into midi-lightning

The latest merge of master branch into midi-lightning (made a few minutes ago) was a little painful because ge_channel.* is now split into ge_sampleChannel.* and ge_midiChannel.*.

@blablack is midi-lightning ok to you? No missing pieces or strange bugs?

Suggested desktop file for Linux

Hello,

thank for producing this software. We'll have it packaged for Fedora real soon now.

here's a suggested desktop file for Linux. [Es] transaltion provided by Ismael Olea
https://bugzilla.redhat.com/show_bug.cgi?id=866156#c14

We also created a PNG icon using icotool

icotool -x giada.ico

[Desktop Entry]
Name=Giada
Name[es]=Giada
GenericName=Drum machine and loop sequencer
GenericName[es]=Caja de ritmos y sequenciador de loops
Icon=giada
Type=Application
Exec=giada
Terminal=false
Categories=AudioVideo;Audio;X-Digital_Processing;X-Jack;X-MIDI;Midi;

Latest Giada GIT doesn't compile

I get the following error when compiling the latest giada GIT:
glue.cpp: In function ‘void glue_setBeginEndChannel(gdEditor_, int, int, int, bool, bool)’:
glue.cpp:511:40: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
glue.cpp:515:40: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
glue.cpp:517:45: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
glue.cpp:519:47: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1plus: all warnings being treated as errors
make[1]: *_* [glue.o] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.