ardour.git
7 years agoprototype polyphonic audio to midi script
Robin Gareus [Fri, 7 Oct 2016 01:45:59 +0000 (03:45 +0200)]
prototype polyphonic audio to midi script

7 years agoLua binding for std::map<>::at()
Robin Gareus [Fri, 7 Oct 2016 01:39:22 +0000 (03:39 +0200)]
Lua binding for std::map<>::at()

7 years agoAdd tempo-map Lua bindings
Robin Gareus [Fri, 7 Oct 2016 00:38:56 +0000 (02:38 +0200)]
Add tempo-map Lua bindings

7 years agoavoid C++11 - fixes OSX/PPC builds
Robin Gareus [Thu, 6 Oct 2016 22:42:36 +0000 (00:42 +0200)]
avoid C++11 - fixes OSX/PPC builds

7 years agoAdd Lua bindings for basic MIDI model editing
Robin Gareus [Thu, 6 Oct 2016 22:23:33 +0000 (00:23 +0200)]
Add Lua bindings for basic MIDI model editing

7 years agoLua Script Example for Audio to Midi Transcription (work in progress)
Robin Gareus [Thu, 6 Oct 2016 16:49:46 +0000 (18:49 +0200)]
Lua Script Example for Audio to Midi Transcription (work in progress)

7 years agoupdate LuaWindow output on-the-go (allow progress print)
Robin Gareus [Thu, 6 Oct 2016 16:35:29 +0000 (18:35 +0200)]
update LuaWindow output on-the-go (allow progress print)

7 years agoAdd Lua snippet to list and describe Vamp Plugins
Robin Gareus [Thu, 6 Oct 2016 15:50:57 +0000 (17:50 +0200)]
Add Lua snippet to list and describe Vamp Plugins

7 years agocont'd work on Vamp/Lua bindings
Robin Gareus [Thu, 6 Oct 2016 15:49:16 +0000 (17:49 +0200)]
cont'd work on Vamp/Lua bindings

7 years agoHold ctrl + click "open" session -> safe mode
Robin Gareus [Thu, 6 Oct 2016 15:42:46 +0000 (17:42 +0200)]
Hold ctrl + click "open" session -> safe mode

This allows to hide the "Safe Mode" checkbox.

7 years agosort instrument list alphabetically
Robin Gareus [Thu, 6 Oct 2016 11:57:58 +0000 (13:57 +0200)]
sort instrument list alphabetically

7 years agoremove more unused qm-dsp code (fixes windows compile no LAPACK)
Robin Gareus [Wed, 5 Oct 2016 23:54:21 +0000 (01:54 +0200)]
remove more unused qm-dsp code (fixes windows compile no LAPACK)

7 years agoThin out qm-dsp code: no threading
Robin Gareus [Wed, 5 Oct 2016 22:51:32 +0000 (00:51 +0200)]
Thin out qm-dsp code: no threading

7 years agoupdate/include Queen Mary Vamp plugin set
Robin Gareus [Wed, 5 Oct 2016 22:40:33 +0000 (00:40 +0200)]
update/include Queen Mary Vamp plugin set

7 years agoupdate OnsetDetector for updated QM-DSP
Robin Gareus [Wed, 5 Oct 2016 22:21:00 +0000 (00:21 +0200)]
update OnsetDetector for updated QM-DSP

7 years agoupdate qm-dsp library
Robin Gareus [Wed, 5 Oct 2016 22:16:44 +0000 (00:16 +0200)]
update qm-dsp library

7 years agoGUI support for type-0/1 SMF import (display channel/track count)
Robin Gareus [Wed, 5 Oct 2016 19:01:21 +0000 (21:01 +0200)]
GUI support for type-0/1 SMF import (display channel/track count)

This needs further work:

Type-1 SMF are always
   "One [Ardour] track per [MIDI] track"

Only type-0 SMF have the option
   "One [Ardour] track per [MIDI] channel"
and
   "One [Ardour] track per [MIDI] file"

This is ambiguous with multi-channel audio or multiple selection,
mixed audio+midi and worse with mixed type0/1 .mid selection.

This calls for a dedicated dropdown to select MIDI Import Disposition
for type-0 SMF.

7 years agoAdd option to separate type-0 SMF channels to tracks
Robin Gareus [Wed, 5 Oct 2016 18:53:22 +0000 (20:53 +0200)]
Add option to separate type-0 SMF channels to tracks

7 years agosplit type-0 SMF files by channel on import
Robin Gareus [Wed, 5 Oct 2016 18:09:36 +0000 (20:09 +0200)]
split type-0 SMF files by channel on import

7 years agoSMF add support for type-0 files (count channels, not tracks)
Robin Gareus [Wed, 5 Oct 2016 18:08:26 +0000 (20:08 +0200)]
SMF add support for type-0 files (count channels, not tracks)

7 years agoRevert "add debug info to a-fluidsynth"
Robin Gareus [Wed, 5 Oct 2016 14:07:10 +0000 (16:07 +0200)]
Revert "add debug info to a-fluidsynth"

This reverts commit 6821f54817e03a55f100f422b6c0bba4328c8fb8.

7 years agoelaborate Lua-Vamp example
Robin Gareus [Wed, 5 Oct 2016 14:07:03 +0000 (16:07 +0200)]
elaborate Lua-Vamp example

7 years agoadd debug info to a-fluidsynth
Robin Gareus [Wed, 5 Oct 2016 13:01:12 +0000 (15:01 +0200)]
add debug info to a-fluidsynth

7 years agoadd API to list Vamp Plugins
Robin Gareus [Wed, 5 Oct 2016 11:23:39 +0000 (13:23 +0200)]
add API to list Vamp Plugins

7 years agorefine Lua doc/doxygen-parser and handle special-cases
Robin Gareus [Wed, 5 Oct 2016 02:21:09 +0000 (04:21 +0200)]
refine Lua doc/doxygen-parser and handle special-cases

7 years agoupdate doxygen doc
Robin Gareus [Wed, 5 Oct 2016 02:19:32 +0000 (04:19 +0200)]
update doxygen doc

7 years agofix interface - proessor_selection is not a Lua C-Function
Robin Gareus [Tue, 4 Oct 2016 23:14:43 +0000 (01:14 +0200)]
fix interface - proessor_selection is not a Lua C-Function

7 years agoMake some functions which are needed for native VST support like snprintf() visible...
Michael Beer [Mon, 5 Sep 2016 18:14:29 +0000 (20:14 +0200)]
Make some functions which are needed for native VST support like snprintf() visible in FreeBSD.

7 years agofix windows bundle after 0aaded53
Robin Gareus [Tue, 4 Oct 2016 20:25:11 +0000 (22:25 +0200)]
fix windows bundle after 0aaded53

7 years agoNetBSD ships with backtrace(3) in libexecinfo
Kamil Rytarowski [Tue, 5 Jul 2016 14:35:31 +0000 (16:35 +0200)]
NetBSD ships with backtrace(3) in libexecinfo

7 years agoNetBSD uses statvfs for the functionality of statfs on Linux
Kamil Rytarowski [Tue, 5 Jul 2016 14:33:51 +0000 (16:33 +0200)]
NetBSD uses statvfs for the functionality of statfs on Linux

7 years agoNetBSD ships with pollts(2) similar to Linux specific ppoll()
Kamil Rytarowski [Tue, 5 Jul 2016 14:31:53 +0000 (16:31 +0200)]
NetBSD ships with pollts(2) similar to Linux specific ppoll()

7 years agoNetBSD ships with <sys/endian.h> not <endian.h>
Kamil Rytarowski [Tue, 5 Jul 2016 14:29:18 +0000 (16:29 +0200)]
NetBSD ships with <sys/endian.h> not <endian.h>

7 years agoDetect free space on NetBSD
Kamil Rytarowski [Tue, 5 Jul 2016 13:22:22 +0000 (15:22 +0200)]
Detect free space on NetBSD

7 years agoFix ldd(1) parsing on NetBSD
Kamil Rytarowski [Tue, 5 Jul 2016 13:16:39 +0000 (15:16 +0200)]
Fix ldd(1) parsing on NetBSD

 * NetBSD

$ ldd /bin/cat
/bin/cat:
        -lc.12 => /lib/libc.so.12

 * Linux

$ ldd /usr/bin/cat
        linux-vdso.so.1 =>  (0x0000726abb373000)
        libc.so.6 => /lib64/libc.so.6 (0x0000726abafa7000)
        /lib64/ld-linux-x86-64.so.2 (0x0000726abb374000)

7 years agoallow linking unbundled version of qm-dsp
Nils Philippsen [Sun, 14 Aug 2016 21:49:53 +0000 (23:49 +0200)]
allow linking unbundled version of qm-dsp

In the course, rename the bundled, built version libqm-dsp so it matches
packaged versions.

7 years agoAkai MIDIMix map -- Squashed commit of the following:
eighthkeepa [Tue, 4 Oct 2016 19:58:47 +0000 (21:58 +0200)]
Akai MIDIMix map -- Squashed commit of the following:

commit 6da4554e43180a4147b9dc9e0025c91ffc6fd9af
Author: eighthkeepa <eighthkeepa@gmail.com>
Date:   Fri Aug 19 11:51:27 2016 +0300

    Update AKAI_MIDIMix_EQ_Mode.map

    Fixed incorrect track numbers on lines 41, 42 and 43.

commit 5fb56a2f742f1523a8fa2d7ddceab1a0f0f491e5
Author: eighthkeepa <eighthkeepa@gmail.com>
Date:   Wed Aug 17 22:15:45 2016 +0300

    Update AKAI_MIDIMix_EQ_Mode.map

    Added line that warns user to add "a-EQ" plugin before working with this map.

commit 3d664b877ee5ed0e17e5e43deb963d7a0f98d7d1
Author: eighthkeepa <eighthkeepa@gmail.com>
Date:   Wed Aug 17 15:03:45 2016 +0300

    Create AKAI_MIDIMix_EQ_Mode.map

    My midi map for Akai MIDIMix. This one has volume knobs bindings included, so you can control equalizers of each track.

7 years agoCreate AKAI_MIDIMix_Normal_Mode.map
eighthkeepa [Wed, 17 Aug 2016 12:00:03 +0000 (15:00 +0300)]
Create AKAI_MIDIMix_Normal_Mode.map

My midi map for AKAI Midimix. This one has no volume knobs bindings.

7 years agoNO-OP sort class-keys (for windows builds, luabridge)
Robin Gareus [Tue, 4 Oct 2016 19:50:37 +0000 (21:50 +0200)]
NO-OP sort class-keys (for windows builds, luabridge)

7 years agoVamp::Plugins::process Lua bindings
Robin Gareus [Tue, 4 Oct 2016 19:31:29 +0000 (21:31 +0200)]
Vamp::Plugins::process Lua bindings

7 years agoupdate lua-doc formatting
Robin Gareus [Tue, 4 Oct 2016 02:45:35 +0000 (04:45 +0200)]
update lua-doc formatting

* include Vamp Documentation
* show doxygen doc for class/struct data-members

7 years agouse typedef'ed types (avoid comma in CPP macro)
Robin Gareus [Mon, 3 Oct 2016 22:24:22 +0000 (00:24 +0200)]
use typedef'ed types (avoid comma in CPP macro)

7 years agoadd static ClassKey for windows linking
Robin Gareus [Mon, 3 Oct 2016 21:47:50 +0000 (23:47 +0200)]
add static ClassKey for windows linking

7 years agoadd Lua script example for vamp onset analysis
Robin Gareus [Mon, 3 Oct 2016 16:25:38 +0000 (18:25 +0200)]
add Lua script example for vamp onset analysis

7 years agocont'd work on Lua Vamp-plugin API
Robin Gareus [Mon, 3 Oct 2016 16:10:39 +0000 (18:10 +0200)]
cont'd work on Lua Vamp-plugin API

7 years agoRemove old unused and unmaintained Windows build scripts
Tim Mayberry [Mon, 3 Oct 2016 10:22:34 +0000 (20:22 +1000)]
Remove old unused and unmaintained Windows build scripts

These scripts are no longer used and caused confusion to someone on IRC
recently who thought they were used for the official builds.

7 years agoenable LuaAPI::Vamp::analyze() callback
Robin Gareus [Mon, 3 Oct 2016 03:13:41 +0000 (05:13 +0200)]
enable LuaAPI::Vamp::analyze() callback

7 years agoconsistent VAMP includes
Robin Gareus [Mon, 3 Oct 2016 03:13:12 +0000 (05:13 +0200)]
consistent VAMP includes

This resolves an ambiguity VampHost::Vamp::Plugin and Vamp::Plugin

7 years agoadd vamp-plugin example lua script
Robin Gareus [Mon, 3 Oct 2016 01:52:35 +0000 (03:52 +0200)]
add vamp-plugin example lua script

7 years agoAdd Vamp-plugin Lua bindings (work in progress)
Robin Gareus [Mon, 3 Oct 2016 01:51:53 +0000 (03:51 +0200)]
Add Vamp-plugin Lua bindings (work in progress)

7 years agoRemove unused methods, add tests to ensure meter divisors don't mess with Beats.
nick_m [Sat, 1 Oct 2016 16:55:18 +0000 (03:55 +1100)]
Remove unused methods, add tests to ensure meter divisors don't mess with Beats.

- TempoMap::framepos_minus_beats() was only used by its test,
  so don't build the test.

7 years agofix_bbtppq: add missing space - no-op 5.4
nick_m [Sat, 1 Oct 2016 01:30:40 +0000 (11:30 +1000)]
fix_bbtppq: add missing space - no-op

7 years agoAdd MidiRegion _start to the list of things we leave alone on session load.
nick_m [Sat, 1 Oct 2016 01:28:09 +0000 (11:28 +1000)]
Add MidiRegion _start to the list of things we leave alone on session load.

7 years agoRegion pulse is no longer a property.
nick_m [Sat, 1 Oct 2016 01:13:41 +0000 (11:13 +1000)]
Region pulse is no longer a property.

7 years agoallow sending OSC from inline display UIs
Robin Gareus [Sat, 1 Oct 2016 00:17:24 +0000 (02:17 +0200)]
allow sending OSC from inline display UIs

7 years agoFix locking bug in tempo map.
nick_m [Sat, 1 Oct 2016 00:19:38 +0000 (10:19 +1000)]
Fix locking bug in tempo map.

7 years agofix_bbtppqn: setting start and length accounts for for multiple tempi,
nick_m [Fri, 30 Sep 2016 23:08:54 +0000 (09:08 +1000)]
fix_bbtppqn: setting start and length accounts for for multiple tempi,

7 years agofix some compiler warnings (from mingw)
Paul Davis [Fri, 30 Sep 2016 17:07:53 +0000 (13:07 -0400)]
fix some compiler warnings (from mingw)

7 years agoattempt to fix windows failed build by including pthread.h to get DEBUG_THREAD_SELF...
Paul Davis [Fri, 30 Sep 2016 16:52:07 +0000 (12:52 -0400)]
attempt to fix windows failed build by including pthread.h to get DEBUG_THREAD_SELF correctly defined

7 years agopush2:small logic fix for destructor, mostly to ensure that the track_mix layout...
Paul Davis [Fri, 30 Sep 2016 16:07:05 +0000 (11:07 -0500)]
push2:small logic fix for destructor, mostly to ensure that the track_mix layout is destroyed

Otherwise it is still connected to the ControlProtocol::StripableSelectionChanged signal, even though the
event loop specified in the connection has been destroyed.

7 years agorevert previous unintended commit
Ben Loftis [Fri, 30 Sep 2016 15:59:14 +0000 (10:59 -0500)]
revert previous unintended commit

7 years agofix: using arrow-keys on selected mixer strips would recursively affect grouped faders
Ben Loftis [Fri, 30 Sep 2016 15:52:46 +0000 (10:52 -0500)]
fix: using arrow-keys on selected mixer strips would recursively affect grouped faders

7 years agoreorganize push 2 code and logic to better handle device arrival after program startup
Paul Davis [Fri, 30 Sep 2016 15:22:30 +0000 (11:22 -0400)]
reorganize push 2 code and logic to better handle device arrival after program startup

Note: we do not handle device departure correctly yet, mostly because the shadow (pad) port has a retained
reference somewhere

7 years agoremove unused member variable
Paul Davis [Fri, 30 Sep 2016 15:21:42 +0000 (11:21 -0400)]
remove unused member variable

7 years agopush2 gui catches port registrations
Paul Davis [Fri, 30 Sep 2016 15:21:21 +0000 (11:21 -0400)]
push2 gui catches port registrations

7 years agoremove useless code from push2 gui dialog
Paul Davis [Fri, 30 Sep 2016 15:21:04 +0000 (11:21 -0400)]
remove useless code from push2 gui dialog

7 years agoinsufficient attempt to drop references to a shadow MIDI port
Paul Davis [Fri, 30 Sep 2016 15:16:49 +0000 (11:16 -0400)]
insufficient attempt to drop references to a shadow MIDI port

7 years agoConstrain Samplerate selection when session is loaded
Robin Gareus [Fri, 30 Sep 2016 14:47:57 +0000 (16:47 +0200)]
Constrain Samplerate selection when session is loaded

Ardour does not allow to change the rate of a session itself.

7 years agofix sample-rate display: show active (not desired) rate
Robin Gareus [Fri, 30 Sep 2016 14:24:39 +0000 (16:24 +0200)]
fix sample-rate display: show active (not desired) rate

7 years agoFix finding of splash file and display in About dialog
Tim Mayberry [Fri, 30 Sep 2016 12:28:50 +0000 (22:28 +1000)]
Fix finding of splash file and display in About dialog

7 years ago Accommodate newly introduced source(s) in our MSVC project (libardour)
John Emmas [Fri, 30 Sep 2016 11:21:18 +0000 (12:21 +0100)]
 Accommodate newly introduced source(s) in our MSVC project (libardour)

7 years agoWhen building with MSVC some of the header file stuff is only relevant in early versi...
John Emmas [Fri, 30 Sep 2016 07:24:51 +0000 (08:24 +0100)]
When building with MSVC some of the header file stuff is only relevant in early versions (e.g. VC8)

7 years agoAccommodate a header file that's been moved from gtk2_ardour into libardour
John Emmas [Fri, 30 Sep 2016 07:21:37 +0000 (08:21 +0100)]
Accommodate a header file that's been moved from gtk2_ardour into libardour

7 years agoAccommodate newly introduced source(s) in our MSVC project (cairocanvas)
John Emmas [Fri, 30 Sep 2016 07:20:14 +0000 (08:20 +0100)]
Accommodate newly introduced source(s) in our MSVC project (cairocanvas)

7 years agodon't include session-search paths with templates
Robin Gareus [Thu, 29 Sep 2016 22:11:24 +0000 (00:11 +0200)]
don't include session-search paths with templates

7 years agosome Collaborative Albums from the early 80's
Robin Gareus [Thu, 29 Sep 2016 18:46:04 +0000 (20:46 +0200)]
some Collaborative Albums from the early 80's

7 years agofix crash on OS X el capitan when using command line arguments
Paul Davis [Thu, 29 Sep 2016 17:05:38 +0000 (13:05 -0400)]
fix crash on OS X el capitan when using command line arguments

7 years agomanually revert b9cab93fb116b and remove associated code.
Paul Davis [Thu, 29 Sep 2016 16:00:43 +0000 (12:00 -0400)]
manually revert b9cab93fb116b and remove associated code.

For the last time, because of how GDK works, Keyboard::PrimaryModifier on MacOS MUST include MOD2 ***AND** META

7 years agoenhance -D bindings output
Paul Davis [Thu, 29 Sep 2016 15:59:00 +0000 (11:59 -0400)]
enhance -D bindings output

7 years agofix_bbtppq: fix typo.
nick_m [Thu, 29 Sep 2016 13:45:15 +0000 (23:45 +1000)]
fix_bbtppq: fix typo.

7 years agofix_bbtppq update: format text, remove old sources in region method.
nick_m [Thu, 29 Sep 2016 12:34:32 +0000 (22:34 +1000)]
fix_bbtppq update: format text, remove old sources in region method.

7 years agoRectangle is ambiguous on Windows
Robin Gareus [Thu, 29 Sep 2016 11:56:10 +0000 (13:56 +0200)]
Rectangle is ambiguous on Windows

In file included from /usr/share/mingw-w64/include/windows.h:71:0,
                 from /home/ardour/win-stack-w32/include/pthread.h:198,
                 from /home/ardour/ardour-w32/libs/pbd/pbd/event_loop.h:29,
                 from /home/ardour/ardour-w32/libs/pbd/pbd/signals.h:42,
                 from /home/ardour/ardour-w32/libs/midi++2/midi++/parser.h:26,
                 from ../libs/surfaces/push2/mix.cc:30:

/usr/share/mingw-w64/include/wingdi.h:3049:67: note: candidates are: WINBOOL Rectangle(HDC, int, int, int, int)

In file included from ../libs/surfaces/push2/mix.cc:48:0:

/home/ardour/ardour-w32/libs/canvas/canvas/rectangle.h:30:48: note: class ArdourCanvas::Rectangle

7 years agoFix error: conversion from 'int' to non-scalar type
Robin Gareus [Thu, 29 Sep 2016 11:41:17 +0000 (13:41 +0200)]
Fix error: conversion from 'int' to non-scalar type

7 years agoMacOS [sic] required changes for Rect in Push 2 code
Paul Davis [Wed, 28 Sep 2016 21:24:14 +0000 (17:24 -0400)]
MacOS [sic] required changes for Rect in Push 2 code

7 years agoremove unnecessary method
Paul Davis [Wed, 28 Sep 2016 21:23:52 +0000 (17:23 -0400)]
remove unnecessary method

7 years agoclang on el capitan etc. no longer supports -fstrength-reduce
Paul Davis [Wed, 28 Sep 2016 20:52:16 +0000 (16:52 -0400)]
clang on el capitan etc. no longer supports -fstrength-reduce

7 years agofix errors reported by pixman for meter redraws (and add more comments to help the...
Paul Davis [Wed, 28 Sep 2016 18:37:19 +0000 (13:37 -0500)]
fix errors reported by pixman for meter redraws (and add more comments to help the coordinate challenged

7 years agomake Ben's cool range select hack work with Push 2
Paul Davis [Wed, 28 Sep 2016 16:28:38 +0000 (11:28 -0500)]
make Ben's cool range select hack work with Push 2

7 years agooutput more stuff to the error channel if/when a session fails to load/be created
Paul Davis [Wed, 28 Sep 2016 16:27:47 +0000 (11:27 -0500)]
output more stuff to the error channel if/when a session fails to load/be created

7 years agomake error dump on stderr slightly more obvious
Paul Davis [Wed, 28 Sep 2016 16:27:17 +0000 (11:27 -0500)]
make error dump on stderr slightly more obvious

7 years agoRename headless-chicken utility to fix_bbtppq
nick_m [Wed, 28 Sep 2016 16:26:16 +0000 (02:26 +1000)]
Rename headless-chicken utility to fix_bbtppq

7 years agofix for push2 code on Windows (no random())
Paul Davis [Wed, 28 Sep 2016 15:51:01 +0000 (10:51 -0500)]
fix for push2 code on Windows (no random())

7 years agomove mode/scale/key definitions out of push2 code and into libardour; Aeolian is...
Paul Davis [Wed, 28 Sep 2016 15:47:10 +0000 (10:47 -0500)]
move mode/scale/key definitions out of push2 code and into libardour; Aeolian is the same as Minor

7 years agoheadless-chicken: force setting of region length properties, clean up code.
nick_m [Wed, 28 Sep 2016 13:33:18 +0000 (23:33 +1000)]
headless-chicken: force setting of region length properties, clean up code.

7 years agoPrevent overwriting of MidiRegion length and length_beats during session load.
nick_m [Wed, 28 Sep 2016 13:30:47 +0000 (23:30 +1000)]
Prevent overwriting of MidiRegion length and length_beats during session load.

- .

7 years agoRemove bogus methods from MidiRegion.
nick_m [Wed, 28 Sep 2016 12:48:28 +0000 (22:48 +1000)]
Remove bogus methods from MidiRegion.

7 years agoRemove _length_pulse from MidiSource.
nick_m [Wed, 28 Sep 2016 12:46:52 +0000 (22:46 +1000)]
Remove _length_pulse from MidiSource.

7 years agoheadless-chicken: skip !writable sources, ensure midi path is writable.
nick_m [Mon, 26 Sep 2016 15:56:27 +0000 (01:56 +1000)]
headless-chicken: skip !writable sources, ensure midi path is writable.

7 years agoheadless-chicken: ensure new sources are empty, misc renaming.
nick_m [Mon, 26 Sep 2016 14:59:28 +0000 (00:59 +1000)]
headless-chicken: ensure new sources are empty, misc renaming.

7 years agoheadless-chicken: misc fixes.
nick_m [Mon, 26 Sep 2016 14:34:34 +0000 (00:34 +1000)]
headless-chicken: misc fixes.

-clean up user text, remove double null ptr check,
 we're using namespace std::