Skip to content

Commit

Permalink
disable runtime features via cli args (issue #34)
Browse files Browse the repository at this point in the history
  * recovers gracefully from audio device init failures
  * fixed testaudio caps
  * added Controls->audioToggle
  * added AvCaster::HandleCliParamsTerminating()
  * merged AvCaster::HandleCliParamsPreInit() and AvCaster::HandleCliParamsPostInit()
into AvCaster::ProcessCliParams()
  * added Gstreamer::RemoveElement() , Gstreamer::IsInBin()
  * added AvCaster::GetIsChatEnabled() , AvCaster::IsInitialized ,
AvCaster::GetIsInitialized()
  * removed AvCaster::GetGuiXwinHandle()
  * renamed AvCasterStore->toogleControl() to AvCasterStore->revertControl()
  * renamed Gstreamer::PreviewSink to Gstreamer::PreviewRealSink
  * added Gstreamer::PreviewQueue , Gstreamer::PreviewFauxSink
  * added Gstreamer::AudioAlsaSource , Gstreamer::AudioPulseSource ,
Gstreamer::AudioJackSource ,
          Gstreamer::AudioTestSource , Gstreamer::AudioCaps
  * added Gstreamer::PreviewXwin
  * added Gstreamer::ReloadConfig()
  * renamed all Gstreamer::Configure*Bin() to Gstreamer::Build*Bin()
  * renamed Gstreamer::ConfigureFauxVideo() to Gstreamer::ConfigureTestVideo()
  * renamed Gstreamer::ConfigureFauxAudio() to Gstreamer::ConfigureFauxSource()
  * removed Gstreamer::ConfigurePipeline() , Gstreamer::ReconfigureBin() ,
Gstreamer::RecreateBin()
  * added Gstreamer::SetMessageHandler() , Gstreamer::HandleMessage() ,
Gstreamer::HandleErrorMessage()
  * added Gstreamer::ConfigurePreview() , Gstreamer::ConfigureAudio()
  * removed Gstreamer::DeleteElement() , Gstreamer::DestroyBin() ,
Gstreamer::RecreateBin()
  * added Gstreamer::RemoveElement() , Gstreamer::DestroyElement()
  * added Gstreamer::GetElementId() , Gstreamer::GetPadId() , Gstreamer::IsInBin()
  * removed Gstreamer::GetVersionMajor() , Gstreamer::GetVersionMinor()
  • Loading branch information
bill-auger committed Dec 26, 2015
1 parent c412ee0 commit ea074c6
Show file tree
Hide file tree
Showing 42 changed files with 2,472 additions and 2,088 deletions.
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ script:
- wget $LIBIRCCLIENT_MIRROR/$LIBIRCCLIENTDEV
- sudo dpkg -i $LIBIRCCLIENT
- sudo dpkg -i $LIBIRCCLIENTDEV
- mkdir libircclient
- cp /usr/include/libirc* libircclient/
- sudo mv libircclient/ /usr/include/
- make CONFIG=Release # TARGET_ARCH='-march=x86-64'
- # $BUILD_DIR/build/$PROJECT_NAME --version

Expand Down
2 changes: 1 addition & 1 deletion AvCaster.jucer
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>

<JUCERPROJECT id="N9TdTc" name="AvCaster" projectType="guiapp" version="0.16.002"
<JUCERPROJECT id="N9TdTc" name="AvCaster" projectType="guiapp" version="0.16.003"
bundleIdentifier="com.bill-auger.AvCaster" includeBinaryInAppConfig="1"
jucerVersion="3.1.1">
<MAINGROUP id="EzgwIT" name="AvCaster">
Expand Down
8 changes: 4 additions & 4 deletions Builds/MacOSX/AvCaster.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1446,8 +1446,8 @@
"_DEBUG=1",
"DEBUG=1",
"JUCER_XCODE_MAC_F6D2F4CF=1",
"JUCE_APP_VERSION=0.16.002",
"JUCE_APP_VERSION_HEX=0x1002", );
"JUCE_APP_VERSION=0.16.003",
"JUCE_APP_VERSION_HEX=0x1003", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "$(inherited)");
INFOPLIST_FILE = Info.plist;
Expand All @@ -1466,8 +1466,8 @@
"_NDEBUG=1",
"NDEBUG=1",
"JUCER_XCODE_MAC_F6D2F4CF=1",
"JUCE_APP_VERSION=0.16.002",
"JUCE_APP_VERSION_HEX=0x1002", );
"JUCE_APP_VERSION=0.16.003",
"JUCE_APP_VERSION_HEX=0x1003", );
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "$(inherited)");
Expand Down
4 changes: 2 additions & 2 deletions Builds/MacOSX/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>0.16.002</string>
<string>0.16.003</string>
<key>CFBundleVersion</key>
<string>0.16.002</string>
<string>0.16.003</string>
<key>NSHumanReadableCopyright</key>
<string></string>
<key>NSHighResolutionCapable</key>
Expand Down
8 changes: 4 additions & 4 deletions Builds/Makefile/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ ifeq ($(CONFIG),Debug)
TARGET_ARCH := -march=native
endif

CPPFLAGS := $(DEPFLAGS) -std=c++11 -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_9CCEB774=1" -D "JUCE_APP_VERSION=0.16.002" -D "JUCE_APP_VERSION_HEX=0x1002" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules
CPPFLAGS := $(DEPFLAGS) -std=c++11 -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_9CCEB774=1" -D "JUCE_APP_VERSION=0.16.003" -D "JUCE_APP_VERSION_HEX=0x1003" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 `pkg-config --cflags gstreamer-1.0`
CXXFLAGS += $(CFLAGS)
LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt -lircclient `pkg-config --libs gstreamer-1.0` `pkg-config --libs gstreamer-video-1.0`
LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_9CCEB774=1" -D "JUCE_APP_VERSION=0.16.002" -D "JUCE_APP_VERSION_HEX=0x1002" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_9CCEB774=1" -D "JUCE_APP_VERSION=0.16.003" -D "JUCE_APP_VERSION_HEX=0x1003" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules
TARGET := av-caster-dbg
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR)
Expand All @@ -39,12 +39,12 @@ ifeq ($(CONFIG),Release)
TARGET_ARCH := -march=native
endif

CPPFLAGS := $(DEPFLAGS) -std=c++11 -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_9CCEB774=1" -D "JUCE_APP_VERSION=0.16.002" -D "JUCE_APP_VERSION_HEX=0x1002" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules
CPPFLAGS := $(DEPFLAGS) -std=c++11 -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_9CCEB774=1" -D "JUCE_APP_VERSION=0.16.003" -D "JUCE_APP_VERSION_HEX=0x1003" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 `pkg-config --cflags gstreamer-1.0`
CXXFLAGS += $(CFLAGS)
LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt -lircclient `pkg-config --libs gstreamer-1.0` `pkg-config --libs gstreamer-video-1.0`
LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_9CCEB774=1" -D "JUCE_APP_VERSION=0.16.002" -D "JUCE_APP_VERSION_HEX=0x1002" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_9CCEB774=1" -D "JUCE_APP_VERSION=0.16.003" -D "JUCE_APP_VERSION_HEX=0x1003" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules
TARGET := av-caster
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR)
Expand Down
13 changes: 12 additions & 1 deletion Builds/Scripts/setup-build-helpers
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

SCRIPTS_DIR="$(dirname "$(readlink -f "$0")")"
PROJECT_DIR=$SCRIPTS_DIR/../../
BASE_INC_DIR=/usr/include
LIBIRC_INC_DIR=$BASE_INC_DIR/libircclient/


cp $SCRIPTS_DIR/cppcheck-filtered $PROJECT_DIR/ ; chmod a+x $PROJECT_DIR/cppcheck-filtered ;
Expand All @@ -10,4 +12,13 @@ cp $SCRIPTS_DIR/mk $PROJECT_DIR/ ; chmod a+x $PROJECT_DIR/mk
cp $SCRIPTS_DIR/mk-clean $PROJECT_DIR/ ; chmod a+x $PROJECT_DIR/mk-clean ;
cp $SCRIPTS_DIR/mk-reset $PROJECT_DIR/ ; chmod a+x $PROJECT_DIR/mk-reset ;

echo "copyied helper scripts to the project root directory - they can be now run from there"
echo "copied helper scripts to the project root directory - they can be now run from there"
if [ -d $LIBIRC_INC_DIR ] ; then
sudo cp $INC_DIR/libircclient.h $LIBIRC_INC_DIR
sudo cp $INC_DIR/libirc_errors.h $LIBIRC_INC_DIR
sudo cp $INC_DIR/libirc_events.h $LIBIRC_INC_DIR
sudo cp $INC_DIR/libirc_options.h $LIBIRC_INC_DIR
sudo cp $INC_DIR/libirc_rfcnumeric.h $LIBIRC_INC_DIR

echo "copied libircclient headers to $LIBIRC_INC_DIR"
fi
4 changes: 2 additions & 2 deletions Builds/VisualStudio2008/AvCaster.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
BufferSecurityCheck=""
DebugInformationFormat="4"
AdditionalIncludeDirectories="..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules"
PreprocessorDefinitions="WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2008_78A5006=1;JUCE_APP_VERSION=0.16.002;JUCE_APP_VERSION_HEX=0x1002"
PreprocessorDefinitions="WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2008_78A5006=1;JUCE_APP_VERSION=0.16.003;JUCE_APP_VERSION_HEX=0x1003"
RuntimeLibrary="1"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
Expand Down Expand Up @@ -88,7 +88,7 @@
InlineFunctionExpansion="1"
StringPooling="true"
AdditionalIncludeDirectories="..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;JUCER_VS2008_78A5006=1;JUCE_APP_VERSION=0.16.002;JUCE_APP_VERSION_HEX=0x1002"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;JUCER_VS2008_78A5006=1;JUCE_APP_VERSION=0.16.003;JUCE_APP_VERSION_HEX=0x1003"
RuntimeLibrary="0"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
Expand Down
6 changes: 3 additions & 3 deletions Builds/VisualStudio2008/resources.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
#include <windows.h>

VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,16,002,0
FILEVERSION 0,16,003,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "AvCaster\0"
VALUE "FileVersion", "0.16.002\0"
VALUE "FileVersion", "0.16.003\0"
VALUE "ProductName", "AvCaster\0"
VALUE "ProductVersion", "0.16.002\0"
VALUE "ProductVersion", "0.16.003\0"
END
END

Expand Down
4 changes: 2 additions & 2 deletions Builds/VisualStudio2015/AvCaster.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
<Optimization>Disabled</Optimization>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.16.002;JUCE_APP_VERSION_HEX=0x1002;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.16.003;JUCE_APP_VERSION_HEX=0x1003;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
Expand Down Expand Up @@ -99,7 +99,7 @@
<ClCompile>
<Optimization>Full</Optimization>
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.16.002;JUCE_APP_VERSION_HEX=0x1002;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.16.003;JUCE_APP_VERSION_HEX=0x1003;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
Expand Down
6 changes: 3 additions & 3 deletions Builds/VisualStudio2015/resources.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
#include <windows.h>

VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,16,002,0
FILEVERSION 0,16,003,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "AvCaster\0"
VALUE "FileVersion", "0.16.002\0"
VALUE "FileVersion", "0.16.003\0"
VALUE "ProductName", "AvCaster\0"
VALUE "ProductVersion", "0.16.002\0"
VALUE "ProductVersion", "0.16.003\0"
END
END

Expand Down
4 changes: 2 additions & 2 deletions JuceLibraryCode/JuceHeader.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
namespace ProjectInfo
{
const char* const projectName = "AvCaster";
const char* const versionString = "0.16.002";
const int versionNumber = 0x1002;
const char* const versionString = "0.16.003";
const int versionNumber = 0x1003;
}
#endif

Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,8 @@ $ ./build/av-caster
Install the corresponding libraries as above for your system.


#### Developers and Designers
### Developers and Designers
You will find in the Builds/Scripts directory some helper scripts to aid in building and debugging this application. Note that we are currently locked at JUCE v3.1.1 until [an issue affecting scaled monitor resolutions](http://www.juce.com/forum/topic/juce-v320-and-v401-apps-window-not-visible-scaled-monitor-resolutions) is resolved. This is not relevant to most development tasks, but if you must use the Introjucer GUI builder for design or project maintenance, please compile it from [this branch](https://github.com/bill-auger/JUCE/tree/v3-1-1).

Note that branches other than 'master' tend to be rebased often so you may need to force pull those.
```
### Build the Introjucer GUI builder and project manager ###
$ git clone --depth 1 https://github.com/bill-auger/JUCE.git
Expand All @@ -135,6 +133,13 @@ $ ./build/Introjucer
### Then select "Open" from the Introjucer "File" menu and browse to the AvCaster.jucer file in this project root directory. ###
```
Note that branches other than 'master' tend to be rebased often so you may need to force pull those. Ideally, all branches should be a fast-foreward from master so that in most cases the cleanest way to re-sync is like:
```
$ git fetch all
$ git checkout development
$ git reset --hard master
$ git merge upstream/development
```


### Similar Projects
Expand All @@ -153,7 +158,7 @@ Also, the original ffmpeg bash script with all of the features that this project
[gstreamer]: http://gstreamer.freedesktop.org/
[lctv]: https://www.livecoding.tv/
[deb]: https://packagecloud.io/ninjam/av-caster
[wiki]: https://github.com/bill-auger/av-caster/wiki
[wiki]: https://github.com/bill-auger/av-caster/wiki/AvCaster-Wiki
[tracker]: https://github.com/bill-auger/av-caster/issues
[gitter-img]: https://badges.gitter.im/Join%20Chat.svg
[gitter]: https://gitter.im/bill-auger/av-caster
Expand Down
Loading

0 comments on commit ea074c6

Please sign in to comment.