Skip to content

Commit

Permalink
add chat feature (issue #30)
Browse files Browse the repository at this point in the history
  * removed 32bit build and all packaging from travis
  * packaging migrated to openSUSE Build Service
  * added openSUSE Build Service support files
  * deleted fpm and packagecloud helper scripts
  * added correct md5sum to PKGBUILD
  * added IrcClient wrapper class and Chat , ChatList , ChatListItem GUI classes
  * added AvCaster::Irc static instance of libircclient wrapper
  * added AvCaster::AddChatLine() , AvCaster::SendChat() , AvCaster::GetVersionString() ,
          AvCaster::UpdateChatNicks() , AvCaster::GetChatNicks()
  * moved AvCaster::SetConfig() to AvCasterStore->setConfig()
  * renamed AvCaster::GuiChanged() to AvCaster::SetConfig()
  * removed AvCasterStore->devicesNames()
  * added AvCasterStore->chatters store and MainContent->initialize() for chatters_store
  * removed Gstreamer::WindowHandle in favor of AvCaster::GetGuiXwinHandle()
  * added Gstreamer::GetVersionMajor(), Gstreamer::GetVersionMinor() , Gstreamer::IsSufficientVersion()
  * split AvCaster::HandleCliParams() into AvCaster::HandleCliParamsPreInit(), AvCaster::HandleCliParamsPostInit()
  * added PresetSeed->isAudioOn (and friends - no GUI support)
  • Loading branch information
bill-auger committed Dec 6, 2015
1 parent e619df9 commit 66184a9
Show file tree
Hide file tree
Showing 48 changed files with 2,472 additions and 600 deletions.
23 changes: 15 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,27 +1,34 @@
# links
cppcheck-filtered
dbg
mk
mk-clean
mk-reset
dbg
cppcheck-filtered

# builds
Builds/*
!Builds/*/
Builds/*/*
!Builds/CodeBlocksLinux/AvCaster.cbp
!Builds/CodeBlocksWindows/AvCaster.cbp
!Builds/GnuMakefile/Makefile
!Builds/Makefile/Makefile
!Builds/MacOSX/AvCaster.xcodeproj
!Builds/MacOSX/Info.plist
!Builds/MacOSX/RecentFilesMenuTemplate.nib
!Builds/Packaging/changelog
!Builds/Packaging/fpm-build.sh
!Builds/Packaging/av-caster.dsc
!Builds/Packaging/av-caster.spec
!Builds/Packaging/debian.changelog
!Builds/Packaging/debian.control
!Builds/Packaging/debian.rules
!Builds/Packaging/PKGBUILD
!Builds/Packaging/push-package.sh
!Builds/Packaging/README.md
!Builds/Scripts/*
!Builds/Scripts/setup-build-helpers.sh
!Builds/Scripts/cppcheck-filtered
!Builds/Scripts/dbg
!Builds/Scripts/mk
!Builds/Scripts/mk-clean
!Builds/Scripts/mk-reset
!Builds/Scripts/README.md
!Builds/Scripts/setup-build-helpers
!Builds/VisualStudio2008/AvCaster.sln
!Builds/VisualStudio2008/AvCaster.vcproj
!Builds/VisualStudio2008/resources.rc
Expand Down
97 changes: 28 additions & 69 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
language: cpp
compiler: clang
sudo: required
dist: trusty
group: edge
language: cpp
compiler: clang
sudo: required
dist: trusty
group: edge

notifications:
email: false
irc:
Expand All @@ -16,72 +17,30 @@ notifications:
on_success: always
on_failure: always
on_start: never

before_install:
- # per app config
- VERSION=0.15.000
- SOURCE_REPO_NAME='bill-auger'
- PACKAGE_REPO_NAME='ninjam'
- PROJECT_NAME='av-caster' # ASSERT: matches names of dev repo, deb repo, binary file, etc.
- DEPS_64='libfreetype6-dev libgstreamer-plugins-base1.0-dev libx11-dev libxcursor-dev
libxinerama-dev'
- DEPS_32='gir1.2-glib-2.0:i386 gir1.2-gstreamer-1.0:i386 libfreetype6-dev:i386
libgirepository-1.0-1:i386 libgstreamer-plugins-base1.0-dev:i386
libx11-dev:i386 libxcursor-dev:i386 libxinerama-dev:i386'
- # general JUCE/packagecloud config
- SOURCE_DIR=/home/travis/build/$SOURCE_REPO_NAME/$PROJECT_NAME
- BUILD_DIR=$SOURCE_DIR/Builds/GnuMakefile
- PACKAGING_DIR=$SOURCE_DIR/Builds/Packaging
- ARTIFACTS_DIR=$SOURCE_DIR/Builds/Packaging/usr/bin
- GEMS='fpm package_cloud'
- DEBIAN_PACKAGE_64="$PROJECT_NAME"_"$VERSION"_amd64.deb
- DEBIAN_PACKAGE_32="$PROJECT_NAME"_"$VERSION"_i386.deb
- # setup
- (( $BUILD_64)) || (( $BUILD_32)) || echo "no build targets enabled"
- (( $BUILD_64)) || (( $BUILD_32))
- ((! $BUILD_64)) && ((! $BUILD_32)) || mkdir -p $ARTIFACTS_DIR
- ((! $BUILD_64)) && ((! $BUILD_32)) || gem install --no-rdoc --no-ri $GEMS
- PROJECT_NAME='av-caster'
- DEPS='libfreetype6-dev libgstreamer-plugins-base1.0-dev libx11-dev
libxcursor-dev libxinerama-dev'
- # the trusty version of libircclient is incompatible
- LIBIRCCLIENT_MIRROR="http://mirrors.kernel.org/ubuntu/pool/universe/libi/libircclient"
- LIBIRCCLIENT="libircclient1_1.8-2_amd64.deb"
- LIBIRCCLIENTDEV="libircclient-dev_1.8-2_amd64.deb"
- BUILD_DIR=$TRAVIS_BUILD_DIR/Builds/Makefile

script:
- # 64-bit build
- (($BUILD_64)) && echo "building 64-bit $PROJECT_NAME"
- (($BUILD_64)) && sudo apt-get update -qq
- (($BUILD_64)) && sudo apt-get install -y $DEPS_64
- (($BUILD_64)) && cd $BUILD_DIR
- (($BUILD_64)) && make CONFIG=Release
- # 64-bit debian packaging
- (($BUILD_64)) && echo "packaging for 64-bit debian $BUILD_PACKAGE_64"
- (($BUILD_64)) && mv build/$PROJECT_NAME $ARTIFACTS_DIR/
- (($BUILD_64)) && cd $PACKAGING_DIR
- (($BUILD_64)) && ./fpm-build.sh $VERSION amd64
- (($BUILD_64)) && mv $ARTIFACTS_DIR/$PROJECT_NAME $PACKAGING_DIR/$PROJECT_NAME-amd64
- # 32-bit build
- (($BUILD_32)) && echo "building 32-bit $PROJECT_NAME"
- (($BUILD_32)) && sudo dpkg --add-architecture i386
- (($BUILD_32)) && sudo apt-get update -qq
- (($BUILD_32)) && sudo apt-get install -y g++-multilib libc6-dev-i386
- (($BUILD_32)) && sudo apt-get install -y $DEPS_32
- (($BUILD_32)) && cd $BUILD_DIR
- (($BUILD_32)) && make CONFIG=Release32 PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/
- # 32-bit debian packaging
- (($BUILD_32)) && echo "packaging for 32-bit debian $BUILD_PACKAGE_32"
- (($BUILD_32)) && mv build/$PROJECT_NAME $ARTIFACTS_DIR/
- (($BUILD_32)) && cd $PACKAGING_DIR
- (($BUILD_32)) && ./fpm-build.sh $VERSION i386
- (($BUILD_32)) && mv $ARTIFACTS_DIR/$PROJECT_NAME $PACKAGING_DIR/$PROJECT_NAME-i386
- echo "building 64-bit $PROJECT_NAME"
- cd $BUILD_DIR
- sudo apt-get update -qq
- sudo apt-get install -y $DEPS
- wget $LIBIRCCLIENT_MIRROR/$LIBIRCCLIENT
- wget $LIBIRCCLIENT_MIRROR/$LIBIRCCLIENTDEV
- sudo dpkg -i $LIBIRCCLIENT
- sudo dpkg -i $LIBIRCCLIENTDEV
- make CONFIG=Release # TARGET_ARCH='-march=x86-64'
- # $BUILD_DIR/build/$PROJECT_NAME --version

after_script:
- echo "build stage ended"
- cd $PACKAGING_DIR
- ls -l av-caster*
after_success:
- # push packages for stable master branch only
- if [ "$TRAVIS_BRANCH" == "master" ] ; then IS_MASTER=1 ; else IS_MASTER=0 ; fi ;
- if [ "$TRAVIS_PULL_REQUEST" == "false" ] ; then IS_PR=0 ; else IS_PR=1 ; fi ;
- (($IS_MASTER)) && ((! $IS_PR)) && PACKAGE=1 || PACKAGE=0
- (($PACKAGE)) && (($BUILD_64)) && PACKAGE_64=1 || PACKAGE_64=0
- (($PACKAGE)) && (($BUILD_32)) && PACKAGE_32=1 || PACKAGE_32=0
- (($PACKAGE)) || echo "skipping deployment - this is not the master branch"
- # 64-bit debian deployment
- (($PACKAGE_64)) && echo "deploying 64-bit deb package $DEBIAN_PACKAGE_64 to $PACKAGE_REPO_NAME/$PROJECT_NAME repo"
- (($PACKAGE_64)) && ./push-package.sh $PACKAGE_REPO_NAME/$PROJECT_NAME $DEBIAN_PACKAGE_64
- # 32-bit debian deployment
- (($PACKAGE_32)) && echo "deploying 32-bit deb package $DEBIAN_PACKAGE_32 to $PACKAGE_REPO_NAME/$PROJECT_NAME repo"
- (($PACKAGE_32)) && ./push-package.sh $PACKAGE_REPO_NAME/$PROJECT_NAME $DEBIAN_PACKAGE_32
- ls -l $BUILD_DIR/build/
20 changes: 16 additions & 4 deletions AvCaster.jucer
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,26 @@
<FILE id="VpzAMB" name="TraceAvCaster.h" compile="0" resource="0" file="Source/Trace/TraceAvCaster.h"/>
<FILE id="XY5wkX" name="TraceAvCasterStore.h" compile="0" resource="0"
file="Source/Trace/TraceAvCasterStore.h"/>
<FILE id="h9pAwt" name="TraceChat.h" compile="0" resource="0" file="Source/Trace/TraceChat.h"/>
<FILE id="NyIKTu" name="TraceConfig.h" compile="0" resource="0" file="Source/Trace/TraceConfig.h"/>
<FILE id="CTNFj1" name="TraceControls.h" compile="0" resource="0" file="Source/Trace/TraceControls.h"/>
<FILE id="dToFg4" name="TraceGstreamer.h" compile="0" resource="0"
file="Source/Trace/TraceGstreamer.h"/>
<FILE id="hB9rdH" name="TraceIrcClient.h" compile="0" resource="0"
file="Source/Trace/TraceIrcClient.h"/>
<FILE id="ltIPwf" name="TraceMain.h" compile="0" resource="0" file="Source/Trace/TraceMain.h"/>
</GROUP>
<FILE id="IHfl77" name="AvCaster.h" compile="0" resource="0" file="Source/AvCaster.h"/>
<FILE id="y9Co3C" name="AvCasterStore.h" compile="0" resource="0" file="Source/AvCasterStore.h"/>
<FILE id="DrBwb8" name="Background.h" compile="0" resource="0" file="Source/Background.h"/>
<FILE id="qFUIyX" name="Chat.h" compile="0" resource="0" file="Source/Chat.h"/>
<FILE id="u48sjw" name="ChatList.h" compile="0" resource="0" file="Source/ChatList.h"/>
<FILE id="DJ4nMG" name="ChatListItem.h" compile="0" resource="0" file="Source/ChatListItem.h"/>
<FILE id="uoYh4l" name="Config.h" compile="0" resource="0" file="Source/Config.h"/>
<FILE id="zCkODj" name="Constants.h" compile="0" resource="0" file="Source/Constants.h"/>
<FILE id="mkIaLi" name="Controls.h" compile="0" resource="0" file="Source/Controls.h"/>
<FILE id="o1VbMJ" name="Gstreamer.h" compile="0" resource="0" file="Source/Gstreamer.h"/>
<FILE id="O1cSgN" name="IrcClient.h" compile="0" resource="0" file="Source/IrcClient.h"/>
<FILE id="U6Fm4Z" name="MainContent.h" compile="0" resource="0" file="Source/MainContent.h"/>
<FILE id="Fz2IkW" name="PresetSeed.h" compile="0" resource="0" file="Source/PresetSeed.h"/>
<FILE id="Ks1yxc" name="Preview.h" compile="0" resource="0" file="Source/Preview.h"/>
Expand All @@ -32,9 +40,14 @@
<FILE id="zF9KTX" name="AvCasterStore.cpp" compile="1" resource="0"
file="Source/AvCasterStore.cpp"/>
<FILE id="j4Ctdm" name="Background.cpp" compile="1" resource="0" file="Source/Background.cpp"/>
<FILE id="pLt0m5" name="Chat.cpp" compile="1" resource="0" file="Source/Chat.cpp"/>
<FILE id="OcodLB" name="ChatList.cpp" compile="1" resource="0" file="Source/ChatList.cpp"/>
<FILE id="ZeuPdR" name="ChatListItem.cpp" compile="1" resource="0"
file="Source/ChatListItem.cpp"/>
<FILE id="nRcwV3" name="Config.cpp" compile="1" resource="0" file="Source/Config.cpp"/>
<FILE id="hx0s0h" name="Controls.cpp" compile="1" resource="0" file="Source/Controls.cpp"/>
<FILE id="z1biaf" name="Gstreamer.cpp" compile="1" resource="0" file="Source/Gstreamer.cpp"/>
<FILE id="V586WS" name="IrcClient.cpp" compile="1" resource="0" file="Source/IrcClient.cpp"/>
<FILE id="CQoHWx" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
<FILE id="eLauah" name="MainContent.cpp" compile="1" resource="0" file="Source/MainContent.cpp"/>
<FILE id="yA08dL" name="PresetSeed.cpp" compile="1" resource="0" file="Source/PresetSeed.cpp"/>
Expand Down Expand Up @@ -89,13 +102,12 @@
<MODULEPATH id="juce_gui_basics" path="../juce/modules"/>
</MODULEPATHS>
</VS2008>
<LINUX_MAKE targetFolder="Builds/GnuMakefile" extraCompilerFlags="&#96;pkg-config --cflags gstreamer-1.0&#96;"
extraLinkerFlags="&#96;pkg-config --libs gstreamer-1.0&#96;&#10;&#96;pkg-config --libs gstreamer-video-1.0&#96;">
<LINUX_MAKE targetFolder="Builds/Makefile" extraCompilerFlags="&#96;pkg-config --cflags gstreamer-1.0&#96;"
extraLinkerFlags="&#96;pkg-config --libs gstreamer-1.0&#96;&#10;&#96;pkg-config --libs gstreamer-video-1.0&#96;"
externalLibraries="ircclient">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" libraryPath="" isDebug="1" optimisation="1" targetName="av-caster-dbg"/>
<CONFIGURATION name="Release" libraryPath="" isDebug="0" optimisation="3" targetName="av-caster"/>
<CONFIGURATION name="Release32" libraryPath="" isDebug="0" optimisation="3"
targetName="av-caster" linuxArchitecture="-m32"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path="../juce/modules"/>
Expand Down
Loading

0 comments on commit 66184a9

Please sign in to comment.