├── .devcontainer ├── Dockerfile.orkaudio.build ├── build-pjsua.sh ├── build.sh └── devcontainer.json ├── .github └── workflows │ ├── docker.yml │ └── main.yml ├── .gitignore ├── BUILD_C++.txt ├── BUILD_JAVA.txt ├── CHANGELOG.txt ├── LICENSE.txt ├── README.md ├── README.txt ├── distribution ├── docker │ ├── Dockerfile.orkaudio │ ├── config.xml │ ├── docker-compose.yml │ └── entrypoint.sh ├── orkaudio-linux-deb-binary │ ├── BUILD.txt │ └── debian │ │ ├── DEBIAN │ │ └── control │ │ └── usr │ │ └── share │ │ └── doc │ │ └── orkaudio │ │ ├── LICENSE.txt │ │ ├── README.txt │ │ ├── log4cxx-AUTHORS │ │ ├── log4cxx-COPYING │ │ ├── log4cxx-ChangeLog │ │ ├── log4cxx-README │ │ └── log4cxx-license.apl ├── orkaudio-win32-binary │ ├── README.txt │ └── orkaudio.nsi ├── orkweb-linux-installer │ ├── .keystore │ ├── README.txt │ ├── catalina.properties │ ├── database.hbm.xml │ ├── install-header │ ├── install.pl │ ├── logging.properties │ ├── server.xml │ └── tomcat ├── orkweb-win32-installer │ ├── .keystore │ ├── README.txt │ ├── Tomcat.reg │ ├── catalina.properties │ ├── database-example.hbm.xml │ ├── database.hbm.xml │ ├── logging-example.properties │ ├── logging.properties │ ├── nsis-plugins │ │ ├── PassDialog.dll │ │ ├── nsSCM.dll │ │ └── textreplace.dll │ ├── orktrack.config.xml │ ├── orkweb.nsi │ ├── server.xml │ ├── verify-java-page.ini │ ├── verify-mysql-page.ini │ └── verify-tomcat-page.ini └── tools │ ├── README.txt │ └── updateOrekaDB_to_v1.sql ├── documentation ├── oreka-documentation.xml └── oreka-user-manual.xml ├── orkaudio ├── .gitignore ├── App.h ├── BUILD.txt ├── Makefile.am ├── Makefile.cvs ├── OrkAudio.cpp ├── OrkAudio.dsp ├── OrkAudio.dsw ├── OrkAudio.h ├── OrkAudio.sln ├── OrkAudio.vcproj ├── OrkAudio.vcxproj ├── OrkAudio_VC12.sln ├── audiocaptureplugins │ ├── Makefile.am │ ├── common │ │ ├── AcpConfig.cpp │ │ ├── AcpConfig.h │ │ ├── AudioCapturePluginCommon.cpp │ │ ├── AudioCapturePluginCommon.h │ │ ├── DtmfHandling.cpp │ │ ├── DtmfHandling.h │ │ ├── OrkSession.cpp │ │ ├── OrkSession.h │ │ ├── PacketHeaderDefs.cpp │ │ ├── PacketHeaderDefs.h │ │ ├── Rtp.cpp │ │ ├── Rtp.h │ │ ├── SafeBuffer.cpp │ │ ├── SafeBuffer.h │ │ ├── SipTcp.cpp │ │ └── SipTcp.h │ ├── generator │ │ ├── .gitignore │ │ ├── Generator.cpp │ │ ├── Generator.dsp │ │ ├── Generator.vcproj │ │ ├── GeneratorConfig.cpp │ │ ├── GeneratorConfig.h │ │ └── Makefile.am │ ├── sounddevice │ │ ├── SoundDevice.cpp │ │ ├── SoundDevice.dsp │ │ ├── SoundDevice.vcproj │ │ ├── SoundDeviceConfig.cpp │ │ └── SoundDeviceConfig.h │ └── voip │ │ ├── .gitignore │ │ ├── Iax2Parsers.cpp │ │ ├── Iax2Parsers.h │ │ ├── Iax2Session.cpp │ │ ├── Iax2Session.h │ │ ├── IpFragmentation.cpp │ │ ├── Makefile.am │ │ ├── ParsingUtils.cpp │ │ ├── ParsingUtils.h │ │ ├── SipHeaders.cpp │ │ ├── SipHeaders.h │ │ ├── SipParsers.cpp │ │ ├── SipParsers.h │ │ ├── SkinnyParsers.cpp │ │ ├── SkinnyParsers.h │ │ ├── VoIp.cpp │ │ ├── VoIp.dsp │ │ ├── VoIp.vcproj │ │ ├── VoIp.vcxproj │ │ ├── VoIpConfig.cpp │ │ ├── VoIpConfig.h │ │ ├── VoIpSession.cpp │ │ ├── VoIpSession.h │ │ ├── Win1251.cpp │ │ └── Win1251.h ├── config-linux-template.xml ├── config-template.xml ├── configure.in ├── filters │ ├── LiveStream │ │ ├── LiveStreamConfig.cpp │ │ ├── LiveStreamConfig.h │ │ ├── LiveStreamFilter.cpp │ │ ├── LiveStreamFilter.h │ │ ├── LiveStreamServer.cpp │ │ ├── LiveStreamServer.h │ │ ├── LiveStreamSession.cpp │ │ ├── LiveStreamSession.h │ │ ├── Makefile.am │ │ └── RingBuffer.h │ ├── Makefile.am │ ├── g729codec │ │ ├── G729Codec.cpp │ │ ├── G729Codec.h │ │ └── Makefile.am │ ├── rtpmixer │ │ ├── Makefile.am │ │ ├── RtpMixer.cpp │ │ ├── RtpMixer.dsp │ │ ├── RtpMixer.vcproj │ │ └── RtpMixer.vcxproj │ └── silkcodec │ │ ├── Makefile.am │ │ ├── SilkCodec.cpp │ │ ├── SilkCodec.h │ │ └── SilkCodec.vcxproj ├── logging-linux-template.properties ├── logging-template.properties ├── messages │ └── Makefile.am └── plugins │ └── placeholder ├── orkbasecxx ├── AudioCapture.cpp ├── AudioCapture.h ├── AudioCapturePlugin.h ├── AudioTape.cpp ├── AudioTape.h ├── BUILD.txt ├── BatchProcessing.cpp ├── BatchProcessing.h ├── CapturePluginProxy.cpp ├── CapturePluginProxy.h ├── CapturePort.cpp ├── CapturePort.h ├── CommandProcessing.cpp ├── CommandProcessing.h ├── Config.cpp ├── Config.h ├── ConfigManager.cpp ├── ConfigManager.h ├── Daemon.cpp ├── Daemon.h ├── DirectionSelector.cpp ├── DirectionSelector.h ├── EventStreaming.cpp ├── EventStreaming.h ├── Filter.cpp ├── Filter.h ├── ImmediateProcessing.cpp ├── ImmediateProcessing.h ├── LogManager.cpp ├── LogManager.h ├── Makefile.am ├── Makefile.cvs ├── MemUtils.cpp ├── MemUtils.h ├── MultiThreadedServer.cpp ├── MultiThreadedServer.h ├── Object.cpp ├── Object.h ├── ObjectFactory.cpp ├── ObjectFactory.h ├── OrkBase.cpp ├── OrkBase.dsp ├── OrkBase.dsw ├── OrkBase.h ├── OrkBase.sln ├── OrkBase.vcproj ├── OrkBase.vcxproj ├── OrkClient.cpp ├── OrkClient.h ├── OrkLruMap.h ├── OrkTrack.cpp ├── OrkTrack.h ├── PartyFilter.cpp ├── PartyFilter.h ├── Reporting.cpp ├── Reporting.h ├── SizedBuffer.cpp ├── SizedBuffer.h ├── SocketStreamer.cpp ├── SocketStreamer.h ├── SslUtils.cpp ├── SslUtils.h ├── StdString.h ├── TapeFileNaming.cpp ├── TapeFileNaming.h ├── TapeProcessor.cpp ├── TapeProcessor.h ├── ThreadSafeQueue.h ├── Utils.cpp ├── Utils.h ├── audiofile │ ├── AudioFile.cpp │ ├── AudioFile.h │ ├── LibSndFileFile.cpp │ ├── LibSndFileFile.h │ ├── Makefile.am │ ├── MediaChunkFile.cpp │ ├── MediaChunkFile.h │ ├── OggOpusFile.cpp │ ├── OggOpusFile.h │ ├── PcmFile.cpp │ ├── PcmFile.h │ ├── opus_header.cpp │ └── opus_header.h ├── configure.in ├── dll.h ├── filters │ ├── Makefile.am │ ├── audiogain │ │ ├── AudioGain.cpp │ │ ├── AudioGain.h │ │ └── Makefile.am │ ├── g722codec │ │ ├── G722.h │ │ ├── G722Codec.cpp │ │ ├── G722Codec.h │ │ └── Makefile.am │ ├── g726codecs │ │ ├── G721Codec.cpp │ │ ├── G721Codec.h │ │ ├── Makefile.am │ │ └── g72x │ │ │ ├── Makefile.am │ │ │ ├── g721.c │ │ │ ├── g723_24.c │ │ │ ├── g723_40.c │ │ │ ├── g72x.c │ │ │ └── g72x.h │ ├── gsm │ │ ├── GsmFilters.cpp │ │ ├── GsmFilters.h │ │ ├── Makefile.am │ │ └── gsm610 │ │ │ ├── COPYRIGHT │ │ │ ├── Makefile.am │ │ │ ├── add.c │ │ │ ├── code.c │ │ │ ├── config.h │ │ │ ├── decode.c │ │ │ ├── gsm.h │ │ │ ├── gsm610_priv.h │ │ │ ├── gsm_create.c │ │ │ ├── gsm_decode.c │ │ │ ├── gsm_destroy.c │ │ │ ├── gsm_encode.c │ │ │ ├── gsm_option.c │ │ │ ├── long_term.c │ │ │ ├── lpc.c │ │ │ ├── preprocess.c │ │ │ ├── rpe.c │ │ │ ├── short_term.c │ │ │ └── table.c │ ├── ilbc │ │ ├── IlbcFilters.cpp │ │ ├── IlbcFilters.h │ │ ├── Makefile.am │ │ └── ilbc │ │ │ ├── FrameClassify.c │ │ │ ├── FrameClassify.h │ │ │ ├── LPCdecode.c │ │ │ ├── LPCdecode.h │ │ │ ├── LPCencode.c │ │ │ ├── LPCencode.h │ │ │ ├── Makefile.am │ │ │ ├── StateConstructW.c │ │ │ ├── StateConstructW.h │ │ │ ├── StateSearchW.c │ │ │ ├── StateSearchW.h │ │ │ ├── anaFilter.c │ │ │ ├── anaFilter.h │ │ │ ├── constants.c │ │ │ ├── constants.h │ │ │ ├── createCB.c │ │ │ ├── createCB.h │ │ │ ├── doCPLC.c │ │ │ ├── doCPLC.h │ │ │ ├── enhancer.c │ │ │ ├── enhancer.h │ │ │ ├── extract.awk │ │ │ ├── filter.h │ │ │ ├── gainquant.c │ │ │ ├── gainquant.h │ │ │ ├── getCBvec.c │ │ │ ├── getCBvec.h │ │ │ ├── helpfun.c │ │ │ ├── helpfun.h │ │ │ ├── hpInput.c │ │ │ ├── hpInput.h │ │ │ ├── hpOutput.c │ │ │ ├── hpOutput.h │ │ │ ├── iCBConstruct.c │ │ │ ├── iCBConstruct.h │ │ │ ├── iCBSearch.c │ │ │ ├── iCBSearch.h │ │ │ ├── iLBC_decode.c │ │ │ ├── iLBC_decode.h │ │ │ ├── iLBC_define.h │ │ │ ├── iLBC_encode.c │ │ │ ├── iLBC_encode.h │ │ │ ├── iLBC_filter.c │ │ │ ├── iLBC_test.c │ │ │ ├── lsf.c │ │ │ ├── lsf.h │ │ │ ├── packing.c │ │ │ ├── packing.h │ │ │ ├── rfc3951.txt │ │ │ ├── syntFilter.c │ │ │ └── syntFilter.h │ ├── opuscodec │ │ ├── Makefile.am │ │ ├── OpusCodec.cpp │ │ └── OpusCodec.h │ └── speex │ │ ├── Makefile.am │ │ ├── SpeexCodec.cpp │ │ └── SpeexCodec.h ├── g711.c ├── g711.h ├── messages │ ├── AddTagMsg.cpp │ ├── AddTagMsg.h │ ├── AsyncMessage.cpp │ ├── AsyncMessage.h │ ├── CaptureMsg.cpp │ ├── CaptureMsg.h │ ├── CrashMessage.cpp │ ├── CrashMessage.h │ ├── DeleteTapeMsg.cpp │ ├── DeleteTapeMsg.h │ ├── InitMsg.cpp │ ├── InitMsg.h │ ├── Makefile.am │ ├── Message.cpp │ ├── Message.h │ ├── OrkaudioVersionMsg.cpp │ ├── OrkaudioVersionMsg.h │ ├── PingMsg.cpp │ ├── PingMsg.h │ ├── ReadLoggingPropertiesMsg.cpp │ ├── ReadLoggingPropertiesMsg.h │ ├── RecordMsg.cpp │ ├── RecordMsg.h │ ├── SyncMessage.cpp │ ├── SyncMessage.h │ ├── TapeMsg.cpp │ ├── TapeMsg.h │ ├── TestMsg.cpp │ └── TestMsg.h ├── serializers │ ├── DomSerializer.cpp │ ├── DomSerializer.h │ ├── Makefile.am │ ├── Serializer.cpp │ ├── Serializer.h │ ├── SingleLineSerializer.cpp │ ├── SingleLineSerializer.h │ ├── UrlSerializer.cpp │ ├── UrlSerializer.h │ ├── XmlRpcSerializer.cpp │ └── XmlRpcSerializer.h └── shared_ptr.h ├── orkbasej ├── .gitignore ├── pom.xml └── src │ ├── main │ └── java │ │ └── net │ │ └── sf │ │ └── oreka │ │ ├── Cycle.java │ │ ├── Day.java │ │ ├── Direction.java │ │ ├── HibernateManager.java │ │ ├── OrkBase.java │ │ ├── OrkException.java │ │ ├── OrkObject.java │ │ ├── OrkObjectFactory.java │ │ ├── OrkTest.java │ │ ├── ServiceClass.java │ │ ├── bo │ │ └── UserBo.java │ │ ├── messages │ │ ├── AsyncMessage.java │ │ ├── Message.java │ │ ├── SimpleResponseMessage.java │ │ ├── SyncMessage.java │ │ └── test │ │ │ ├── TestMessage.java │ │ │ ├── TestNestedMessage.java │ │ │ └── TestSubMessage.java │ │ ├── persistent │ │ ├── AnnotatedTestClass.java │ │ ├── AnnotationsTest.java │ │ ├── HbnXmlTest.java │ │ ├── HbnXmlTestClass.java │ │ ├── OrkDomain.java │ │ ├── OrkLoginString.java │ │ ├── OrkPort.java │ │ ├── OrkPortFace.java │ │ ├── OrkProgram.java │ │ ├── OrkSegment.java │ │ ├── OrkService.java │ │ ├── OrkSession.java │ │ ├── OrkTape.java │ │ └── OrkUser.java │ │ ├── serializers │ │ ├── DomSerializer.java │ │ ├── KeyValueSerializer.java │ │ ├── OrkSerializer.java │ │ ├── ServletRequestSerializer.java │ │ ├── SingleLineSerializer.java │ │ └── test │ │ │ ├── DomSerializerTest.java │ │ │ ├── NullHttpServletRequest.java │ │ │ ├── ServletRequestSerializerTest.java │ │ │ ├── SingleLineSerializerTest.java │ │ │ ├── TestMessageSimple.xml │ │ │ └── TestNestedMessage.xml │ │ ├── srvc │ │ ├── ObjectService.java │ │ ├── ObjectServiceHbn.java │ │ ├── UserFilter.java │ │ ├── UserService.java │ │ ├── UserServiceHbn.java │ │ └── test │ │ │ └── UserServiceHbnTest.java │ │ ├── test │ │ ├── FillDatabase.java │ │ ├── FillDatabaseProgram.java │ │ └── FillDatabaseUser.java │ │ └── util │ │ └── TomcatServerXMLParser.java │ └── resources │ ├── database-example.hbm.xml │ ├── database.hbm.xml │ ├── hsqldb.hbm.template.xml │ ├── logging-example.properties │ ├── logging.properties │ ├── logging.xml │ └── proxool-template.properties ├── orktrack ├── .gitignore ├── deploy-template.xml ├── orktrack.config.xml ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── net │ │ │ └── sf │ │ │ └── oreka │ │ │ └── orktrack │ │ │ ├── ConfigManager.java │ │ │ ├── Constants.java │ │ │ ├── LogManager.java │ │ │ ├── OrkTrack.java │ │ │ ├── OrkTrackConfig.java │ │ │ ├── Port.java │ │ │ ├── PortManager.java │ │ │ ├── ProgramManager.java │ │ │ ├── ServiceManager.java │ │ │ ├── TapeManager.java │ │ │ ├── UserManager.java │ │ │ ├── messages │ │ │ ├── ConfigureLogMessage.java │ │ │ ├── InitMessage.java │ │ │ ├── MetadataMessage.java │ │ │ ├── PingMessage.java │ │ │ ├── TapeMessage.java │ │ │ ├── TapeResponse.java │ │ │ └── UserStateMessage.java │ │ │ ├── servlets │ │ │ ├── AccessLogFilter.java │ │ │ ├── CommandServlet.java │ │ │ └── ContextListener.java │ │ │ └── test │ │ │ ├── InitMessageGenerator.java │ │ │ ├── PortTest.java │ │ │ └── ProgramTest.java │ │ ├── resources │ │ └── log4j2.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── web.xml └── version_template.txt ├── orkweb ├── context │ ├── WEB-INF │ │ ├── Account.html │ │ ├── Account.page │ │ ├── Home.html │ │ ├── Home.page │ │ ├── RecSegments.html │ │ ├── RecSegments.page │ │ ├── RecSegments.properties │ │ ├── TestComponent.html │ │ ├── hivemodule.xml │ │ ├── orkweb.application │ │ └── web.xml │ ├── css │ │ ├── base.css │ │ └── orekastyle.css │ └── images │ │ ├── bg_container.gif │ │ ├── bg_container.jpg │ │ ├── common │ │ ├── bdr0_results.gif │ │ ├── bdr1_results.gif │ │ ├── bdr2_results.gif │ │ ├── bdr3_results.gif │ │ ├── bdr4_results.gif │ │ ├── bdr5_results.gif │ │ ├── bdr6_results.gif │ │ ├── bg_btn_off.gif │ │ ├── bg_btn_off.jpg │ │ ├── bg_btn_on.gif │ │ ├── bg_btn_on.jpg │ │ ├── bg_criterias.gif │ │ ├── bg_hdr.gif │ │ ├── bg_header_03.jpg │ │ ├── bg_header_04.jpg │ │ ├── bg_header_06.jpg │ │ ├── bg_page.jpg │ │ ├── bg_results.gif │ │ ├── btn_search_off.gif │ │ ├── calls_btn_off.jpg │ │ ├── home_btn_off.jpg │ │ ├── icon_calendar.gif │ │ ├── icon_calendar_over.gif │ │ ├── icon_cursor.gif │ │ ├── icon_cursor_over.gif │ │ ├── icon_incomingcall.gif │ │ ├── icon_outgoingcall.gif │ │ ├── icon_pagefirst.gif │ │ ├── icon_pagefirst_over.gif │ │ ├── icon_pagelast.gif │ │ ├── icon_pagelast_over.gif │ │ ├── icon_pagenext.gif │ │ ├── icon_pagenext_over.gif │ │ ├── icon_pageprev.gif │ │ ├── icon_pageprev_over.gif │ │ ├── icon_play.gif │ │ ├── icon_play_over.gif │ │ └── logo-ORECX_03.jpg │ │ ├── icon_calendar.gif │ │ ├── icon_in.gif │ │ ├── icon_out.gif │ │ ├── icon_pagefirst.gif │ │ ├── icon_pagelast.gif │ │ ├── icon_pagenext.gif │ │ ├── icon_pageprev.gif │ │ ├── icon_play.gif │ │ ├── logofpo.gif │ │ └── menuback1.gif ├── deploy-template.xml ├── pom.xml ├── src │ └── net │ │ └── sf │ │ └── oreka │ │ ├── orkweb │ │ ├── ContextListener.java │ │ ├── LogManager.java │ │ ├── OrkWeb.java │ │ └── TapeStream.java │ │ ├── pages │ │ ├── AccountPage.java │ │ ├── HomePage.java │ │ ├── OrkPage.java │ │ ├── ProtectedPage.java │ │ ├── RecSegmentsPage.java │ │ └── SessionStateObject.java │ │ ├── services │ │ ├── FormFilter.java │ │ ├── RecSegmentFilter.java │ │ ├── RecSegmentFilter.properties │ │ ├── RecSegmentResult.java │ │ ├── RecSegmentService.java │ │ ├── RecSegmentServiceHbn.java │ │ ├── Startup.java │ │ ├── UserService.java │ │ └── UserServiceHbn.java │ │ ├── tapestry │ │ ├── MainMenu.html │ │ ├── MainMenu.java │ │ ├── MainMenu.jwc │ │ ├── MainMenu.properties │ │ ├── TableColumn.java │ │ ├── TableHeader.html │ │ ├── TableHeader.java │ │ ├── TableHeader.jwc │ │ ├── TablePaging.html │ │ ├── TablePaging.java │ │ ├── TablePaging.jwc │ │ ├── TablePaging.properties │ │ ├── TableState.java │ │ └── my.library │ │ └── tcomponents │ │ └── TestComponent.java └── version_template.txt ├── pom.xml ├── website-upload.sh └── website ├── .htaccess ├── 404.php ├── LICENSE.txt ├── Makefile ├── README.txt ├── about ├── credits.php ├── features.php ├── index.php ├── license.php ├── links.php ├── main.inc.php ├── news.php └── screenshots.php ├── contact ├── index.php ├── lists.php ├── main.inc.php └── privacy.php ├── copyright.php ├── download ├── common.inc.php ├── debian.php ├── gentoo.php ├── index.php ├── main.inc.php ├── redhat.php ├── release-notes.php ├── source.php ├── war.php └── windows.php ├── images ├── creative-commons.gif ├── mac.png ├── paypal.gif ├── unix.png └── win.png ├── include ├── detect-os.inc.php ├── footer.inc.php ├── header.inc.php ├── lang.inc.php ├── news.inc.php └── strings.inc.php ├── index.php ├── latest ├── audacity-mac.php ├── audacity-macosx.php ├── audacity-src.php ├── audacity-win-zip.php ├── audacity-win.php ├── mirror.inc.php └── versions.inc.php ├── list ├── alreadyon.php ├── emailconfirm.php ├── invalid.php ├── main.inc.php ├── noton.php ├── subscribed.php └── unsubscribed.php ├── main.inc.php ├── robots.txt ├── site-map.php ├── style.css └── support ├── documentation.php ├── faq.php ├── index.php ├── lists.php └── main.inc.php /.devcontainer/build-pjsua.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | apt-get update -qq && apt-get install -y --no-install-recommends ca-certificates curl libgsm1-dev \ 5 | libspeex-dev libspeexdsp-dev libssl-dev portaudio19-dev libsrtp0-dev \ 6 | && apt-get purge -y --auto-remove && rm -rf /var/lib/apt/lists/* 7 | 8 | git clone --depth 1 --branch 2.5.5 https://github.com/pjsip/pjproject /opt/pjproject \ 9 | && cd /opt/pjproject && ./configure && touch pjlib/include/pj/config_site.h && make dep && make \ 10 | && cp pjsip-apps/bin/pjsua* /usr/local/bin/pjsua -------------------------------------------------------------------------------- /.devcontainer/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | #make orkbase 5 | cd /oreka-src/orkbasecxx 6 | autoreconf -i 7 | ./configure CXX=g++ 8 | make 9 | make install 10 | 11 | #orkaudio 12 | cd /oreka-src/orkaudio 13 | autoreconf -i 14 | ./configure CXX=g++ 15 | make 16 | make install 17 | 18 | #package orkaudio deb 19 | cd /oreka-build/distribution 20 | bash make-orkaudio-deb.sh 21 | 22 | ls -ltrah *.deb 23 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | // See https://aka.ms/vscode-remote/devcontainer.json for format details. 2 | { 3 | "name": "oreka", 4 | "dockerFile": "Dockerfile.orkaudio.build", 5 | "runArgs": [ 6 | "--cap-add=SYS_PTRACE", 7 | "--security-opt", "seccomp=unconfined" 8 | ], 9 | "context" : "..", 10 | 11 | // "appPort": [], 12 | 13 | "settings": { 14 | "terminal.integrated.shell.linux": "/bin/bash" 15 | }, 16 | 17 | //"postCreateCommand": "make", 18 | 19 | "extensions": [ 20 | "ms-vscode.cpptools" 21 | ] 22 | } -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | ================================================= 2 | Welcome to Oreka, an open media capture and retrieval platform 3 | 4 | Copyright (C) 2005, orecx LLC http://www.orecx.com 5 | 6 | This program is free software, distributed under the terms of 7 | the GNU General Public License. 8 | 9 | The platform currently comprises three services: 10 | 11 | * orkaudio: the audio capture and storage daemon with pluggable capture modules 12 | currently comes with modules for VoIP and sound device recording. 13 | 14 | * orktrack: logs all activity from one or more orkaudio services to any mainstream database. 15 | 16 | * orkweb: Web based user interface for retrieval. 17 | 18 | To get started: 19 | 20 | * This is the source distribution package. I you want to get going fast, get Windows or debian Linux binary packages from the project webpage. 21 | * Refer to BUILD_C++.txt for building orkaudio and associated capture modules 22 | * Refer to BUILD_JAVA.txt for building orktrack and orkweb 23 | 24 | This package is organized as follows: 25 | 26 | * orkbasecxx is the base C++ library 27 | * orkaudio is the audio capture and storage service with pluggable modules 28 | * orkbasej is the base java library 29 | * orkweb is a j2ee tapestry based front-end for media retrieval 30 | -------------------------------------------------------------------------------- /distribution/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | orkaudio: 4 | build: 5 | context: ./ 6 | dockerfile: Dockerfile.orkaudio 7 | command: cat /etc/orkaudio/config.xml && orkaudio debug 8 | volumes: 9 | - /private/var/log/orkaudio:/var/log/orkaudio 10 | - ./config.xml:/etc/orkaudio/config.xml 11 | network_mode: "host" 12 | 13 | softphone: 14 | image: andrius/pjsua 15 | networks: 16 | - docker_net 17 | depends_on: 18 | - orkaudio 19 | - tcpdump 20 | environment: 21 | - SIP_SERVER_HOST=172.16.176.94 22 | - SIP_TRANSPORT=udp 23 | command: dial username 1234 24 | tty: true 25 | stdin_open: true 26 | container_name: softphone-app 27 | 28 | tcpdump: 29 | image: nicolaka/netshoot 30 | network_mode: "host" 31 | command: tcpdump -v -A -i eth0 port 5060 32 | 33 | networks: 34 | docker_net: 35 | -------------------------------------------------------------------------------- /distribution/docker/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | INF=${INTERFACE:-eth0} 5 | 6 | #check if /etc/orkaudio is mounted externally 7 | 8 | if grep -qs '/etc/orkaudio' /proc/mounts; then 9 | echo "Config File exists externally." 10 | else 11 | echo "Config File does not exist. Applying default template" 12 | sed "s/__INTERFACE__/$INF/g" /etc/orkaudio/config_default.xml > /etc/orkaudio/config.xml 13 | fi 14 | 15 | echo "---- Using Configuration -----" 16 | cat /etc/orkaudio/config.xml 17 | echo "---------" 18 | 19 | exec "$@" 20 | 21 | -------------------------------------------------------------------------------- /distribution/orkaudio-linux-deb-binary/BUILD.txt: -------------------------------------------------------------------------------- 1 | ----------------------- 2 | To build deb package: 3 | 4 | * dpkg-deb --build debian 5 | -------------------------------------------------------------------------------- /distribution/orkaudio-linux-deb-binary/debian/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: orkaudio 2 | Priority: optional 3 | Section: base 4 | Maintainer: henri@oreka.org 5 | Architecture: i386 6 | Version: 0.3-1 7 | Depends: libpcap-dev, libsndfile1-dev, libace5.4, libxerces26-dev 8 | Conflicts: liblog4cpp-dev, liblog4cpp1c102, liblog4cpp1-dev, liblog4cpp0 9 | Description: Audio streams recording daemon (VoIP and Sound Device) 10 | -------------------------------------------------------------------------------- /distribution/orkaudio-linux-deb-binary/debian/usr/share/doc/orkaudio/log4cxx-AUTHORS: -------------------------------------------------------------------------------- 1 | Michael CATANZARITI 2 | Edmond NOLAN 3 | 4 | -------------------------------------------------------------------------------- /distribution/orkaudio-linux-deb-binary/debian/usr/share/doc/orkaudio/log4cxx-COPYING: -------------------------------------------------------------------------------- 1 | See license.apl 2 | -------------------------------------------------------------------------------- /distribution/orkaudio-linux-deb-binary/debian/usr/share/doc/orkaudio/log4cxx-license.apl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2003,2004 The Apache Software Foundation. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /distribution/orkaudio-win32-binary/README.txt: -------------------------------------------------------------------------------- 1 | 2 | Welcome to Oreka, an open media capture and retrieval platform 3 | 4 | Copyright (C) 2005, orecx LLC http://www.orecx.com 5 | 6 | This program is free software, distributed under the terms of 7 | the GNU General Public License. See http://www.gnu.org/licenses/gpl.html. 8 | 9 | This package is a binary distribution of the oreka audio recording service. Source code and documentation can be found at 10 | http://www.oreka.org 11 | http://sourceforge.net/projects/oreka/ 12 | -------------------------------------------------------------------------------- /distribution/orkweb-linux-installer/.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/distribution/orkweb-linux-installer/.keystore -------------------------------------------------------------------------------- /distribution/orkweb-linux-installer/README.txt: -------------------------------------------------------------------------------- 1 | Creating the installer: 2 | 3 | * Put the desired orktrack.war and orkweb.war in this directory 4 | * Put the content of {tomcat}/shared/lib as a zip archive in this directory. The zip archive needs to be called lib.zip and must be generated so that all jar files are in a directory called 'lib' when extracted. 5 | * Make sure the tomcat and java (JRE) that are needed are also in the directory 6 | 7 | For 32-bit OS: 8 | -------------- 9 | * tar cvf archive.tar install.pl database.hbm.xml logging.properties tomcat lib.zip orkweb.war orktrack.war server.xml catalina.properties .keystore apache-tomcat-7.0.23.tar.gz jre-7u2-linux-i586.tar.gz 10 | * cat install-header archive.tar > orkweb-1.7-831-os-linux-installer.sh 11 | * chmod +x orkweb-1.7-831-os-linux-installer.sh 12 | * tar -cvf orkweb-1.7-831-os-linux-installer.sh.tar orkweb-1.7-830-os-linux-installer.sh 13 | 14 | For 64-bit OS: 15 | -------------- 16 | * tar cvf archive.tar install.pl database.hbm.xml logging.properties tomcat lib.zip orkweb.war orktrack.war server.xml catalina.properties .keystore apache-tomcat-7.0.23.tar.gz jre-7u4-linux-x64.tar.gz 17 | * cat install-header archive.tar > orkweb-1.7-831-x64-os-linux-installer.sh 18 | * chmod +x orkweb-1.7-831-x64-os-linux-installer.sh 19 | * tar -cvf orkweb-1.7-831-x64-os-linux-installer.sh.tar orkweb-1.7-830-x64-os-linux-installer.sh 20 | -------------------------------------------------------------------------------- /distribution/orkweb-linux-installer/database.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.hibernate.dialect.MySQL5InnoDBDialect 8 | 100 9 | com.mysql.jdbc.Driver 10 | jdbc:mysql://localhost/oreka 11 | 12 | root 13 | 14 | update 15 | false 16 | 17 | true 18 | 1 19 | org.hibernate.cache.HashtableCacheProvider 20 | 21 | 22 | -------------------------------------------------------------------------------- /distribution/orkweb-linux-installer/install-header: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #Usage: In order to run this installer, you need to make sure this file is executable (#chmod +x orkweb-installer.sh) and run it with the following command: (# ./orkweb-installer.sh) as root. 3 | echo "" 4 | echo "Oreka Web User Interface - starting installation... please wait" 5 | echo "" 6 | 7 | # create a temp directory to extract to. 8 | export WRKDIR=`mktemp -d /tmp/orkweb-selfextract.XXXXXX` 9 | 10 | SKIP=`awk '/^__ARCHIVE_FOLLOWS__/ { print NR + 1; exit 0; }' $0` 11 | 12 | # tail will not do what we need without this 13 | export _POSIX2_VERSION=199209 14 | 15 | # Take the tarred portion of this file and pipe it to tar. 16 | tail +$SKIP $0 | tar x -C $WRKDIR 17 | 18 | # execute the installation script 19 | 20 | PREV=`pwd` 21 | cd $WRKDIR 22 | /usr/bin/perl install.pl $* 23 | 24 | 25 | # delete the temp files 26 | cd $PREV 27 | rm -rf $WRKDIR 28 | 29 | exit 0 30 | 31 | __ARCHIVE_FOLLOWS__ 32 | -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/distribution/orkweb-win32-installer/.keystore -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/README.txt: -------------------------------------------------------------------------------- 1 | To build orkweb installer, perform the following steps: 2 | 3 | Pre-requisites: 4 | --------------- 5 | - Get the version you want to build from the repository 6 | - Build and deploy it to your tomcat environment 7 | - Make sure the $tomcat/shared/lib folder is up-to-date 8 | - Copy the following folders: 9 | $tomcat/shared/lib to $oreka/distribution/orkweb-win32-installer/lib 10 | $tomcat/webapps/orktrack to $oreka/distribution/orkweb-win32-installer/orktrack 11 | $tomcat/webapps/orkweb to $oreka/distribution/orkweb-win32-installer/orkweb 12 | - Create $oreka/distribution/orkweb-win32-installer/Prerequisites and add to it 13 | the Java Run-Time environment JRE 1.6 and Tomcat 5.5.23: 14 | jre-6u16-windows-i586-s.exe 15 | apache-tomcat-5.5.23.exe 16 | 17 | Compile the installer ($oreka/distribution/orkweb-win32-installer): 18 | ------------------------------------------------------------------- 19 | 20 | Compile orkweb.nsi using a .nsi compiler (recommended IDE: NSI Script Editor.) 21 | The result is the "orkweb-win32-installer.exe" 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/Tomcat.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/distribution/orkweb-win32-installer/Tomcat.reg -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/database-example.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.hibernate.dialect.MySQLInnoDBDialect 8 | 100 9 | com.mysql.jdbc.Driver 10 | jdbc:mysql://localhost/test 11 | password 12 | root 13 | 14 | update 15 | false 16 | 17 | true 18 | 1 19 | org.hibernate.cache.HashtableCacheProvider 20 | 21 | -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/database.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.hibernate.dialect.MySQL5InnoDBDialect 8 | 100 9 | com.mysql.jdbc.Driver 10 | jdbc:mysql://localhost/test 11 | password 12 | root 13 | 14 | update 15 | false 16 | 17 | true 18 | 1 19 | org.hibernate.cache.HashtableCacheProvider 20 | 21 | 22 | -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/nsis-plugins/PassDialog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/distribution/orkweb-win32-installer/nsis-plugins/PassDialog.dll -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/nsis-plugins/nsSCM.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/distribution/orkweb-win32-installer/nsis-plugins/nsSCM.dll -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/nsis-plugins/textreplace.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/distribution/orkweb-win32-installer/nsis-plugins/textreplace.dll -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/orktrack.config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/distribution/orkweb-win32-installer/orktrack.config.xml -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/verify-java-page.ini: -------------------------------------------------------------------------------- 1 | ; Ini file generated by the HM NIS Edit IO designer. 2 | [Settings] 3 | NumFields=3 4 | 5 | [Field 1] 6 | Type=Label 7 | Text=Java (JRE) installation. 8 | Left=0 9 | Right=178 10 | Top=0 11 | Bottom=14 12 | 13 | [Field 2] 14 | Type=Checkbox 15 | Text=Install Java - JRE 7.0.2 16 | State=1 17 | Left=10 18 | Right=262 19 | Top=25 20 | Bottom=39 21 | 22 | [Field 3] 23 | Type=Label 24 | Text=(uncheck this option only if Java is already installed on your system) 25 | Left=21 26 | Right=262 27 | Top=38 28 | Bottom=48 29 | 30 | -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/verify-mysql-page.ini: -------------------------------------------------------------------------------- 1 | ; Ini file generated by the HM NIS Edit IO designer. 2 | [Settings] 3 | NumFields=4 4 | 5 | [Field 1] 6 | Type=Label 7 | Text=Please verify your MySQL installation \r\n(MySQL 4.1 or greater) 8 | Left=0 9 | Right=178 10 | Top=0 11 | Bottom=19 12 | 13 | [Field 2] 14 | Type=Button 15 | Text=Get MySQL 16 | Left=24 17 | Right=74 18 | Top=33 19 | Bottom=49 20 | State=http://dev.mysql.com/downloads/ 21 | 22 | [Field 3] 23 | Type=Checkbox 24 | Text=I have installed MySQL and I want to proceed. 25 | Left=24 26 | Right=226 27 | Top=62 28 | Bottom=73 29 | State=0 30 | 31 | [Field 4] 32 | Type=Label 33 | Text=(will open a browser window) 34 | Left=82 35 | Right=184 36 | Top=40 37 | Bottom=48 38 | -------------------------------------------------------------------------------- /distribution/orkweb-win32-installer/verify-tomcat-page.ini: -------------------------------------------------------------------------------- 1 | ; Ini file generated by the HM NIS Edit IO designer. 2 | [Settings] 3 | NumFields=5 4 | 5 | [Field 1] 6 | Type=Label 7 | Text=Apache Tomcat Installation (Web Server) 8 | Left=0 9 | Right=178 10 | Top=0 11 | Bottom=11 12 | 13 | [Field 2] 14 | Type=RadioButton 15 | Text=Install Apache Tomcat 7.0.2 16 | State=1 17 | Left=12 18 | Right=123 19 | Top=27 20 | Bottom=36 21 | 22 | [Field 3] 23 | Type=RadioButton 24 | Text=Do not Install Apache Tomcat. Version 7.0.2 or later is already installed in: 25 | Left=12 26 | Right=262 27 | Top=41 28 | Bottom=57 29 | 30 | [Field 4] 31 | Type=DirRequest 32 | Left=25 33 | Right=265 34 | Top=60 35 | Bottom=73 36 | 37 | [Field 5] 38 | Type=Label 39 | Text=(Typically C:\Program Files\Apache Software Foundation\Tomcat 7.0) 40 | Left=25 41 | Right=260 42 | Top=78 43 | Bottom=89 44 | 45 | -------------------------------------------------------------------------------- /distribution/tools/README.txt: -------------------------------------------------------------------------------- 1 | Oreka 1.2 Open Source - Database Upgrade Script File 2 | 3 | This updateOrekaDB_to_v1.sql script updates the Oreka database's old table and column names. It has been tested in MySQL only. 4 | 5 | Starting with Oreka version 570, some database table names and columns were modified. This script can be run to upgrade the database prior to 6 | upgrading orkweb and orktrack on your system. For details, read the header part of the script file itself. 7 | 8 | Usage example, assuming an older version of Oreka was previoulsy running: 9 | 10 | mysql -uroot -p < updateOrekaDB_to_v1.sql 11 | 12 | where the default is oreka in Linux and test in Windows. -------------------------------------------------------------------------------- /orkaudio/.gitignore: -------------------------------------------------------------------------------- 1 | #orkaudio is generated by linux build 2 | orkaudio 3 | *.suo 4 | *.o 5 | *.lo 6 | .deps/ 7 | .dirstamp -------------------------------------------------------------------------------- /orkaudio/App.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | 15 | -------------------------------------------------------------------------------- /orkaudio/BUILD.txt: -------------------------------------------------------------------------------- 1 | 2 | To build this, please see ../BUILD_C++.txt -------------------------------------------------------------------------------- /orkaudio/Makefile.am: -------------------------------------------------------------------------------- 1 | # not a GNU package. You can remove this line, if 2 | # have all needed files, that a GNU package needs 3 | AUTOMAKE_OPTIONS = foreign 1.4 4 | 5 | 6 | sbin_PROGRAMS = orkaudio 7 | orkaudio_LDADD = 8 | orkaudio_LDFLAGS = -lxerces-c -llog4cxx -lorkbase -lsndfile -l@speex_lib@ -lapr-1 -lssl -lcrypto -lpthread -ldl 9 | orkaudio_SOURCES = OrkAudio.cpp 10 | AM_CPPFLAGS = -D_REENTRANT 11 | INCLUDES = -I@top_srcdir@ -I../orkbasecxx -I/opt/opus/include/opus -I../orkbasecxx/filters/gsm -I../orkbasecxx/filters/gsm/gsm610 -I../orkbasecxx/filters/ilbc -I../orkbasecxx/filters/ilbc/ilbc -I../orkbasecxx/filters/audiogain -I../orkbasecxx/filters/g722codec -I../orkbasecxx/filters/speex -I../orkbasecxx/filters/g726codecs -I../orkbasecxx/filters/g726codecs/g72x -I../orkbasecxx/filters/opuscodec -I/usr/include/apr-1 -I/usr/include/apr-1.0 12 | SUBDIRS = audiocaptureplugins filters 13 | #orkaudio_LDADD = $(top_builddir)/messages/libmessages.la 14 | 15 | orkaudioconfdir = /etc/orkaudio 16 | orkaudioconf_DATA = \ 17 | logging-linux-template.properties \ 18 | config-linux-template.xml 19 | install-orkaudioconfDATA: 20 | mkdir -p /etc/orkaudio 21 | cp logging-linux-template.properties /etc/orkaudio/logging.properties 22 | cp config-linux-template.xml /etc/orkaudio/config.xml 23 | ldconfig 24 | mkdir -p /var/log/orkaudio 25 | 26 | 27 | -------------------------------------------------------------------------------- /orkaudio/Makefile.cvs: -------------------------------------------------------------------------------- 1 | default: all 2 | 3 | all: 4 | aclocal 5 | autoheader 6 | automake 7 | autoconf 8 | 9 | -------------------------------------------------------------------------------- /orkaudio/OrkAudio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | SUBDIRS = generator voip 3 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/common/AudioCapturePluginCommon.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #define _WINSOCKAPI_ // prevents the inclusion of winsock.h 15 | 16 | #include "Utils.h" 17 | #include "AudioCapturePluginCommon.h" 18 | 19 | 20 | AudioChunkCallBackFunction g_audioChunkCallBack; 21 | CaptureEventCallBackFunction g_captureEventCallBack; 22 | OrkLogManager* g_logManager; 23 | 24 | void __CDECL__ RegisterCallBacks(AudioChunkCallBackFunction audioCallBack, CaptureEventCallBackFunction captureEventCallBack, OrkLogManager* logManager) 25 | { 26 | g_audioChunkCallBack = audioCallBack; 27 | g_captureEventCallBack = captureEventCallBack; 28 | g_logManager = logManager; 29 | } 30 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/common/SafeBuffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef _SAFEBUFFER_H__ 15 | #define _SAFEBUFFER_H__ 1 16 | 17 | #include "shared_ptr.h" 18 | #include "StdString.h" 19 | 20 | class SafeBuffer 21 | { 22 | public: 23 | SafeBuffer(); 24 | ~SafeBuffer(); 25 | 26 | void Store(u_char *buf, int len); 27 | void Add(u_char *buf, int len); 28 | u_char *GetBuffer(); 29 | int Size(); 30 | 31 | private: 32 | u_char *m_pBuffer; 33 | int m_size; 34 | }; 35 | typedef oreka::shared_ptr SafeBufferRef; 36 | 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/generator/.gitignore: -------------------------------------------------------------------------------- 1 | # AudioCapturePluginCommon.cpp is a symlink to the one in ../common 2 | AudioCapturePluginCommon.cpp 3 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/generator/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | lib_LTLIBRARIES = libgenerator.la 3 | libgenerator_la_SOURCES = GeneratorConfig.cpp Generator.cpp \ 4 | AudioCapturePluginCommon.cpp 5 | libgenerator_la_LDFLAGS = -module 6 | AM_CPPFLAGS = -D_REENTRANT 7 | libgenerator_la_LIBADD = -lxerces-c -llog4cxx -lorkbase 8 | INCLUDES = -I@top_srcdir@ -I../../../orkbasecxx -I../common -I/usr/include/apr-1 -I /usr/include/apr-1.0 9 | AudioCapturePluginCommon.cpp: 10 | ln -s ../common/AudioCapturePluginCommon.cpp AudioCapturePluginCommon.cpp 11 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/voip/.gitignore: -------------------------------------------------------------------------------- 1 | # AudioCapturePluginCommon.cpp is a symlink to the one in ../common 2 | AudioCapturePluginCommon.cpp 3 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/voip/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | lib_LTLIBRARIES = libvoip.la 3 | libvoip_la_SOURCES = VoIpConfig.cpp VoIp.cpp ../common/Rtp.cpp Iax2Session.cpp VoIpSession.cpp Win1251.cpp\ 4 | ../common/SipTcp.cpp AudioCapturePluginCommon.cpp ../common/PacketHeaderDefs.cpp ParsingUtils.cpp\ 5 | SipParsers.cpp SkinnyParsers.cpp Iax2Parsers.cpp SipHeaders.cpp IpFragmentation.cpp ../common/DtmfHandling.cpp ../common/AcpConfig.cpp ../common/OrkSession.cpp \ 6 | ../common/SafeBuffer.cpp 7 | libvoip_la_LDFLAGS = -module 8 | AM_CPPFLAGS = -D_REENTRANT 9 | libvoip_la_LIBADD = -lxerces-c -llog4cxx -lorkbase -lpcap 10 | INCLUDES = -I@top_srcdir@ -I../../../orkbasecxx -I../common -I/usr/include/apr-1 -I/usr/include/apr-1.0 11 | AudioCapturePluginCommon.cpp: 12 | ln -s ../common/AudioCapturePluginCommon.cpp AudioCapturePluginCommon.cpp 13 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/voip/SkinnyParsers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | */ 9 | #ifndef __SKINNYPARSERS_H__ 10 | #define __SKINNYPARSERS_H__ s 11 | 12 | #include 13 | #include "Utils.h" 14 | #include 15 | #include "PacketHeaderDefs.h" 16 | #include "Rtp.h" 17 | #include "VoIpSession.h" 18 | 19 | void HandleSkinnyMessage(SkinnyHeaderStruct* skinnyHeader, IpHeaderStruct* ipHeader, u_char* packetEnd, TcpHeaderStruct* tcpHeader); 20 | void ScanAllSkinnyMessages(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader, TcpHeaderStruct* tcpHeader, u_char* ipPacketEnd); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /orkaudio/audiocaptureplugins/voip/Win1251.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __WIN1251_H__ 15 | #define __WIN1251_H__ 16 | 17 | #include "PacketHeaderDefs.h" 18 | 19 | #define PARTY_NAME_SIZE 40 //SKINNY_CALLING_PARTY_NAME_SIZE and SKINNY_CALLED_PARTY_NAME_SIZE have same size 20 | 21 | void InitializeWin1251Table(unsigned short utf[256]); 22 | void ConvertWin1251ToUtf8(char partyName[PARTY_NAME_SIZE], unsigned short utf[256]); 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /orkaudio/filters/LiveStream/LiveStreamConfig.h: -------------------------------------------------------------------------------- 1 | #ifndef __LIVESTREAMCONFIG_H__ 2 | #define __LIVESTREAMCONFIG_H__ 3 | 4 | #include "Object.h" 5 | #include "serializers/Serializer.h" 6 | #include "StdString.h" 7 | #include "Utils.h" 8 | 9 | #define RTMP_SERVER_ENDPOINT "RTMPServerEndPoint" 10 | #define LIVE_STREAMING_SERVER_PORT_PARAM "LiveStreamingServerPort" 11 | #define LIVE_STREAMING_QUEUE_FLUSH_THRESHOLD "LiveStreamingQueueFlushThreshold" 12 | #define LIVE_STREAMING_SERVER_PORT_DEFAULT 59160 13 | #define DEFAULT_LIVE_STREAMING_QUEUE_FLUSH_THRESHOLD 500 14 | #define LIVE_STREAM_ALL_CALLS "LiveStreamAllCalls" 15 | 16 | class LiveStreamConfig : public Object { 17 | public: 18 | LiveStreamConfig(); 19 | void Define(Serializer* s); 20 | void Validate(); 21 | void Reset(); 22 | ObjectRef NewInstance(); 23 | CStdString GetClassName(); 24 | inline ObjectRef Process() {return ObjectRef();}; 25 | 26 | static void Configure(DOMNode* node); 27 | 28 | CStdString m_rtmpServerEndpoint; 29 | int m_serverPort; 30 | int m_queueFlushThresholdMillis; 31 | bool m_shouldStreamAllCalls; 32 | }; 33 | 34 | extern LiveStreamConfig g_LiveStreamConfigObjectRef; 35 | 36 | #define LIVESTREAMCONFIG g_LiveStreamConfigObjectRef 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /orkaudio/filters/LiveStream/LiveStreamServer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * LiveStreamFilter Plugin 5 | * Author Shushant Sharan 6 | * 7 | */ 8 | #ifndef LIVESTREAMSERVER_H 9 | #define LIVESTREAMSERVER_H 10 | #define CPPHTTPLIB_USE_POLL 11 | 12 | #include 13 | #include 14 | #include "ConfigManager.h" 15 | #include "LiveStreamSession.h" 16 | #include "Config.h" 17 | 18 | class LiveStreamServer { 19 | public: 20 | LiveStreamServer(int port); 21 | void Run(); 22 | void Start(); 23 | void Stop(); 24 | 25 | private: 26 | int m_port; 27 | httplib::Server svr; 28 | }; 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /orkaudio/filters/LiveStream/LiveStreamSession.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * LiveStreamFilter Plugin 5 | * Author Shushant Sharan 6 | * 7 | */ 8 | 9 | #ifndef __LIVESTREAMSESSION_H__ 10 | #define __LIVESTREAMSESSION_H__ 11 | 12 | #include "VoIpSession.h" 13 | #include 14 | #include "AudioCapturePlugin.h" 15 | #include "Utils.h" 16 | #include "AudioCapture.h" 17 | 18 | class LiveStreamSessions : public OrkSingleton { 19 | public: 20 | LiveStreamSessions(); 21 | bool StartStreamNativeCallId(CStdString &nativecallid); 22 | bool StopStreamNativeCallId(CStdString &nativecallid); 23 | std::set GetLiveCallList(); 24 | std::set GetStreamCallList(); 25 | void AddToStreamCallList(CStdString &nativecallid); 26 | void RemoveFromStreamCallList(CStdString &nativecallid); 27 | 28 | private: 29 | VoIpSessions *voIpSessions; 30 | bool SessionFoundForNativeCallId(CStdString &nativecallid, VoIpSessionRef &session); 31 | bool NativeCallIdInStreamCallList(CStdString &nativecallid); 32 | }; 33 | 34 | #define LiveStreamSessionsSingleton LiveStreamSessions 35 | #endif 36 | -------------------------------------------------------------------------------- /orkaudio/filters/LiveStream/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | plugindir= $(prefix)/lib/orkaudio/plugins 3 | plugin_LTLIBRARIES = livestream.la 4 | livestream_la_SOURCES = LiveStreamConfig.cpp LiveStreamFilter.cpp LiveStreamSession.cpp LiveStreamServer.cpp 5 | livestream_la_LDFLAGS = -module 6 | AM_CPPFLAGS = -D_REENTRANT 7 | livestream_la_LIBADD = -llog4cxx -L/usr/lib -lapr-1 -lpthread -ldl -lm -lcrypto -lstdc++ -L/opt/srs-librtmp/objs/lib -lsrs_librtmp 8 | INCLUDES = -I@top_srcdir@ -I../../../orkbasecxx -I../../../orkaudio/audiocaptureplugins/common -I../../../orkaudio/audiocaptureplugins/voip -I/usr/include/apr-1 -I/usr/include/apr-1.0 -I/opt/srs-librtmp/objs/include/ 9 | 10 | all-local: livestream.la 11 | cp .libs/livestream.so.0.0.0 ../../plugins/livestream.so 12 | -------------------------------------------------------------------------------- /orkaudio/filters/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | SUBDIRS = rtpmixer silkcodec g729codec LiveStream 3 | -------------------------------------------------------------------------------- /orkaudio/filters/g729codec/G729Codec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * G729 Plugin 5 | * Author Kinshuk Bairagi 6 | * 7 | */ 8 | 9 | #ifndef __G729CODEC_H__ 10 | #define __G729CODEC_H__ 1 11 | 12 | #include "LogManager.h" 13 | #include "Filter.h" 14 | 15 | extern "C" 16 | { 17 | #include "bcg729/encoder.h" 18 | #include "bcg729/decoder.h" 19 | } 20 | 21 | class DLL_IMPORT_EXPORT_ORKBASE G729CodecDecoder : public Filter 22 | { 23 | public: 24 | G729CodecDecoder(); 25 | ~G729CodecDecoder(); 26 | 27 | FilterRef __CDECL__ Instanciate(); 28 | void __CDECL__ AudioChunkIn(AudioChunkRef& chunk); 29 | void __CDECL__ AudioChunkOut(AudioChunkRef& chunk); 30 | AudioEncodingEnum __CDECL__ GetInputAudioEncoding(); 31 | AudioEncodingEnum __CDECL__ GetOutputAudioEncoding(); 32 | CStdString __CDECL__ GetName(); 33 | bool __CDECL__ SupportsInputRtpPayloadType(int rtpm_payloadType ); 34 | void __CDECL__ CaptureEventIn(CaptureEventRef& event); 35 | void __CDECL__ CaptureEventOut(CaptureEventRef& event); 36 | 37 | private: 38 | AudioChunkRef m_outputAudioChunk; 39 | bcg729DecoderChannelContextStruct *decoder; 40 | bool m_initialized; 41 | 42 | }; 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /orkaudio/filters/g729codec/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | plugindir= $(prefix)/lib/orkaudio/plugins 3 | plugin_LTLIBRARIES = libg729codec.la 4 | libg729codec_la_SOURCES = G729Codec.cpp 5 | libg729codec_la_LDFLAGS = -module 6 | AM_CPPFLAGS = -D_REENTRANT 7 | libg729codec_la_LIBADD = -lbcg729 -llog4cxx -L/opt/bcg729 -L/usr/lib 8 | INCLUDES = -I@top_srcdir@ -I../../../orkbasecxx -I/opt/bcg729/include -I/opt/bcg729/src -I/usr/include/apr-1 -I/usr/include/apr-1.0 9 | 10 | all-local: libg729codec.la 11 | cp .libs/libg729codec.so.0.0.0 ../../plugins/libg729codec.so 12 | -------------------------------------------------------------------------------- /orkaudio/filters/rtpmixer/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | plugindir= $(prefix)/lib/orkaudio/plugins 3 | plugin_LTLIBRARIES = librtpmixer.la 4 | librtpmixer_la_SOURCES = RtpMixer.cpp 5 | librtpmixer_la_LDFLAGS = -module 6 | AM_CPPFLAGS = -D_REENTRANT 7 | librtpmixer_la_LIBADD = -lxerces-c -llog4cxx -lorkbase 8 | INCLUDES = -I@top_srcdir@ -I../../../orkbasecxx -I../common -I/usr/include/apr-1 -I/usr/include/apr-1.0 9 | all-local: librtpmixer.la 10 | cp .libs/librtpmixer.so.0.0.0 ../../plugins/librtpmixer.so 11 | -------------------------------------------------------------------------------- /orkaudio/filters/silkcodec/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | plugindir= $(prefix)/lib/orkaudio/plugins 3 | plugin_LTLIBRARIES = libsilkcodec.la 4 | libsilkcodec_la_SOURCES = SilkCodec.cpp 5 | libsilkcodec_la_LDFLAGS = -module 6 | AM_CPPFLAGS = -D_REENTRANT 7 | libsilkcodec_la_LIBADD = -llog4cxx \ 8 | -L/opt/silk/SILKCodec/SILK_SDK_SRC_FIX -lSKP_SILK_SDK 9 | 10 | INCLUDES = -I@top_srcdir@ -I../../../orkbasecxx -I/opt/silk/SILKCodec/SILK_SDK_SRC_FIX/interface -I/opt/silk/SILKCodec/SILK_SDK_SRC_FIX/src -I/usr/include/apr-1 -I/usr/include/apr-1.0 11 | 12 | all-local: libsilkcodec.la 13 | cp .libs/libsilkcodec.so.0.0.0 ../../plugins/libsilkcodec.so 14 | -------------------------------------------------------------------------------- /orkaudio/messages/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | noinst_LTLIBRARIES = libmessages.la 3 | libmessages_la_SOURCES = CaptureMsg.cpp DeleteTapeMsg.cpp PingMsg.cpp \ 4 | TapeMsg.cpp TestMsg.cpp RecordMsg.cpp 5 | AM_CPPFLAGS = -D_REENTRANT 6 | libmessages_la_LIBADD = -L../../orkbasecxx/ -lorkbase 7 | INCLUDES = -I@top_srcdir@ -I../../orkbasecxx 8 | -------------------------------------------------------------------------------- /orkaudio/plugins/placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkaudio/plugins/placeholder -------------------------------------------------------------------------------- /orkbasecxx/BUILD.txt: -------------------------------------------------------------------------------- 1 | 2 | To build this, please see ../BUILD_C++.txt -------------------------------------------------------------------------------- /orkbasecxx/BatchProcessing.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __BATCHPROCESSING_H__ 15 | #define __BATCHPROCESSING_H__ 16 | 17 | #include "ThreadSafeQueue.h" 18 | #include "TapeProcessor.h" 19 | #include "AudioTape.h" 20 | #include 21 | #include 22 | 23 | class BatchProcessing; 24 | typedef oreka::shared_ptr BatchProcessingRef; 25 | 26 | /** 27 | * This tape processor handles the audio transcoding 28 | */ 29 | class DLL_IMPORT_EXPORT_ORKBASE BatchProcessing : public TapeProcessor 30 | { 31 | public: 32 | static void Initialize(); 33 | 34 | CStdString __CDECL__ GetName(); 35 | TapeProcessorRef __CDECL__ Instanciate(); 36 | void __CDECL__ AddAudioTape(AudioTapeRef& audioTapeRef); 37 | 38 | 39 | static void ThreadHandler(); 40 | static bool SkipChunk(AudioTapeRef& audioTapeRef, AudioChunkRef& chunkRef, int& channelToSkip); 41 | 42 | void SetQueueSize(int size); 43 | 44 | private: 45 | BatchProcessing(); 46 | static TapeProcessorRef m_singleton; 47 | 48 | ThreadSafeQueue m_audioTapeQueue; 49 | 50 | size_t m_threadCount; 51 | std::mutex m_mutex; 52 | int m_currentDay; 53 | }; 54 | 55 | #endif 56 | 57 | -------------------------------------------------------------------------------- /orkbasecxx/CommandProcessing.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __COMMANDPROCESSING_H__ 15 | #define __COMMANDPROCESSING_H__ 16 | 17 | #include "ThreadSafeQueue.h" 18 | #include "TapeProcessor.h" 19 | #include "AudioTape.h" 20 | #include 21 | 22 | class CommandProcessing; 23 | typedef oreka::shared_ptr CommandProcessingRef; 24 | 25 | /** 26 | * This tape processor handles the audio transcoding 27 | */ 28 | class DLL_IMPORT_EXPORT_ORKBASE CommandProcessing : public TapeProcessor 29 | { 30 | public: 31 | static void Initialize(); 32 | 33 | CStdString __CDECL__ GetName(); 34 | TapeProcessorRef __CDECL__ Instanciate(); 35 | void __CDECL__ AddAudioTape(AudioTapeRef& audioTapeRef); 36 | 37 | static void ThreadHandler(); 38 | 39 | void SetQueueSize(int size); 40 | 41 | private: 42 | CommandProcessing(); 43 | static TapeProcessorRef m_singleton; 44 | 45 | ThreadSafeQueue m_audioTapeQueue; 46 | 47 | size_t m_threadCount; 48 | std::mutex m_mutex; 49 | //int m_currentDay; 50 | }; 51 | 52 | #endif 53 | 54 | -------------------------------------------------------------------------------- /orkbasecxx/ConfigManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __CONFIGMANAGER_H__ 15 | #define __CONFIGMANAGER_H__ 16 | 17 | #include 18 | #include 19 | #include "Config.h" 20 | #include "AudioCapturePlugin.h" 21 | 22 | class ConfigManager; 23 | 24 | class DLL_IMPORT_EXPORT_ORKBASE ConfigManager 25 | { 26 | public: 27 | static ConfigManager* Instance(); 28 | void Initialize(); 29 | void AddConfigureFunction(ConfigureFunction); 30 | 31 | Config m_config; 32 | private: 33 | static ConfigManager* m_singleton; 34 | std::list m_configureFunctions; 35 | DOMNode* m_configTopNode; 36 | XercesDOMParser *m_parser; 37 | }; 38 | 39 | #define CONFIG ConfigManager::Instance()->m_config 40 | 41 | #endif 42 | 43 | -------------------------------------------------------------------------------- /orkbasecxx/Daemon.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __DAEMON_H__ 15 | #define __DAEMON_H__ 16 | 17 | #include "StdString.h" 18 | typedef void (*DaemonHandler)(void); 19 | 20 | class DLL_IMPORT_EXPORT_ORKBASE Daemon 21 | { 22 | public: 23 | static void Initialize(CStdString serviceName, DaemonHandler runHandler, DaemonHandler stopHandler); 24 | static Daemon* Singleton(); 25 | void Start(); 26 | void Stop(); 27 | void Install(); 28 | void Uninstall(); 29 | bool IsStopping(); 30 | 31 | void SetShortLived(); 32 | bool GetShortLived(); 33 | 34 | private: 35 | Daemon(); 36 | static Daemon* m_singleton; 37 | 38 | #ifdef WIN32 39 | static void WINAPI Run( DWORD /*argc*/, TCHAR* /*argv*/[] ); 40 | #else 41 | static void Run(); 42 | #endif 43 | 44 | DaemonHandler m_runHandler; 45 | DaemonHandler m_stopHandler; 46 | CStdString m_serviceName; 47 | 48 | bool m_stopping; 49 | bool m_shortLived; 50 | }; 51 | 52 | #endif 53 | 54 | -------------------------------------------------------------------------------- /orkbasecxx/ImmediateProcessing.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __IMMEDIATEPROCESSING_H__ 15 | #define __IMMEDIATEPROCESSING_H__ 16 | 17 | #include "ThreadSafeQueue.h" 18 | #include "AudioTape.h" 19 | #include 20 | class DLL_IMPORT_EXPORT_ORKBASE ImmediateProcessing : public OrkSingleton 21 | { 22 | public: 23 | ImmediateProcessing(); 24 | static void ThreadHandler(); 25 | 26 | void AddAudioTape(AudioTapeRef audioTapeRef); 27 | 28 | AudioTapeRef Pop(CStdString& after); 29 | AudioTapeRef Pop(); 30 | void Push(AudioTapeRef& audioTapeRef); 31 | 32 | private: 33 | std::deque m_audioTapeQueue; 34 | std::mutex m_mutex; 35 | OrkSemaphore m_semaphore; 36 | 37 | time_t m_lastQueueFullTime; 38 | }; 39 | 40 | #endif 41 | 42 | -------------------------------------------------------------------------------- /orkbasecxx/Makefile.cvs: -------------------------------------------------------------------------------- 1 | default: all 2 | 3 | all: 4 | aclocal 5 | autoheader 6 | automake 7 | autoconf 8 | 9 | -------------------------------------------------------------------------------- /orkbasecxx/ObjectFactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __OBJECTFACTORY_H__ 15 | #define __OBJECTFACTORY_H__ 16 | 17 | #include 18 | #include "StdString.h" 19 | #include "Object.h" 20 | #include 21 | 22 | /** The ObjectFactory can be used to instanciate Objects based on class name. 23 | All existing Objects must be registered to the ObjectFactory at startup. 24 | */ 25 | class ObjectFactory; 26 | 27 | class DLL_IMPORT_EXPORT_ORKBASE ObjectFactory 28 | { 29 | public: 30 | static void Initialize(); 31 | static ObjectFactory* GetSingleton(); 32 | 33 | ObjectRef NewInstance(CStdString& className); 34 | 35 | void RegisterObject(ObjectRef&); 36 | private: 37 | ObjectFactory(); 38 | static ObjectFactory* m_singleton; 39 | std::map m_classes; 40 | std::mutex m_mutex; 41 | }; 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /orkbasecxx/OrkBase.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | // Defines the entry point for the DLL application. 15 | // 16 | 17 | //#include "stdafx.h" 18 | /* 19 | BOOL APIENTRY DllMain( HANDLE hModule, 20 | DWORD ul_reason_for_call, 21 | LPVOID lpReserved 22 | ) 23 | { 24 | return TRUE; 25 | } 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /orkbasecxx/OrkBase.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "OrkBase"=.\OrkBase.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /orkbasecxx/OrkBase.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifdef WIN32 15 | #ifdef BUILD_ORKBASE 16 | #define DLL_IMPORT_EXPORT_ORKBASE __declspec( dllexport ) 17 | #else 18 | #define DLL_IMPORT_EXPORT_ORKBASE __declspec( dllimport ) 19 | #endif 20 | #else 21 | #define DLL_IMPORT_EXPORT_ORKBASE 22 | #endif 23 | 24 | -------------------------------------------------------------------------------- /orkbasecxx/OrkBase.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OrkBase", "OrkBase.vcproj", "{9847877A-E977-4B13-9A47-F5190EFE61AC}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {9847877A-E977-4B13-9A47-F5190EFE61AC}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {9847877A-E977-4B13-9A47-F5190EFE61AC}.Debug|Win32.Build.0 = Debug|Win32 14 | {9847877A-E977-4B13-9A47-F5190EFE61AC}.Release|Win32.ActiveCfg = Release|Win32 15 | {9847877A-E977-4B13-9A47-F5190EFE61AC}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /orkbasecxx/OrkTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | */ 9 | #ifndef __ORKTRACK_H__ 10 | #define __ORKTRACK_H__ 1 11 | 12 | #include "OrkBase.h" 13 | #include "StdString.h" 14 | #include 15 | #include 16 | 17 | class DLL_IMPORT_EXPORT_ORKBASE OrkTrack { 18 | public: 19 | static void Initialize(const std::list& hostnames, const CStdString defaultServiceName, const int defaultTcpPort, const int defaultTlsPort); 20 | static const std::vector& getTrackers() { 21 | return s_trackers; 22 | } 23 | CStdString ToString() { 24 | CStdString logMsg; 25 | logMsg.Format ("%s:%u/%s",m_hostname,m_port,m_servicename); 26 | return logMsg; 27 | } 28 | 29 | CStdString m_hostname; 30 | CStdString m_servicename; 31 | int m_port; 32 | bool m_https; 33 | 34 | private: 35 | static std::vector s_trackers; 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /orkbasecxx/PartyFilter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | #ifndef __PARTYFILTER_H__ 14 | #define __PARTYFILTER_H__ 1 15 | 16 | bool DLL_IMPORT_EXPORT_ORKBASE PartyFilterActive(void); 17 | bool DLL_IMPORT_EXPORT_ORKBASE PartyFilterMatches(CStdString& party); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /orkbasecxx/SizedBuffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef SizedBuffer_h 15 | #define SizedBuffer_h 1 16 | 17 | #include "shared_ptr.h" 18 | #include 19 | #include "OrkBase.h" 20 | 21 | class DLL_IMPORT_EXPORT_ORKBASE SizedBuffer { 22 | public: 23 | SizedBuffer(size_t len); 24 | SizedBuffer(unsigned char* buf,size_t len); 25 | SizedBuffer() : m_buffer(NULL), m_size(0) {} ; 26 | ~SizedBuffer(); 27 | 28 | unsigned char* get(size_t offset=0) { 29 | if (!m_buffer || offset>=m_size) { 30 | throw std::runtime_error("SizedBuffer out of bound"); 31 | } 32 | return m_buffer+offset; 33 | } 34 | size_t size() { 35 | return m_size; 36 | }; 37 | 38 | void reset(unsigned char *buf, size_t len); 39 | void append(unsigned char *buf, size_t len); 40 | void write(size_t offset, unsigned char* buf, size_t len); 41 | void resize(size_t newSize); 42 | 43 | private: 44 | unsigned char* m_buffer; 45 | size_t m_size; 46 | 47 | // private and unimplemented to prevent their use 48 | SizedBuffer(const SizedBuffer&); 49 | SizedBuffer& operator=(const SizedBuffer&); 50 | }; 51 | 52 | typedef oreka::shared_ptr SizedBufferRef; 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /orkbasecxx/StdString.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkbasecxx/StdString.h -------------------------------------------------------------------------------- /orkbasecxx/TapeFileNaming.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __TAPEFILENAMING_H__ 15 | #define __TAPEFILENAMING_H__ 1 16 | 17 | #include "ThreadSafeQueue.h" 18 | #include "TapeProcessor.h" 19 | #include "AudioTape.h" 20 | #include 21 | 22 | class TapeFileNaming; 23 | typedef oreka::shared_ptr TapeFileNamingRef; 24 | 25 | /** 26 | * This tape processor handles the naming of audio files 27 | */ 28 | class DLL_IMPORT_EXPORT_ORKBASE TapeFileNaming : public TapeProcessor 29 | { 30 | public: 31 | static void Initialize(); 32 | 33 | CStdString __CDECL__ GetName(); 34 | TapeProcessorRef __CDECL__ Instanciate(); 35 | void __CDECL__ AddAudioTape(AudioTapeRef& audioTapeRef); 36 | 37 | static void ThreadHandler(); 38 | 39 | void SetQueueSize(int size); 40 | 41 | private: 42 | TapeFileNaming(); 43 | static TapeProcessorRef m_singleton; 44 | 45 | ThreadSafeQueue m_audioTapeQueue; 46 | 47 | size_t m_threadCount; 48 | int m_currentDay; 49 | }; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /orkbasecxx/audiofile/AudioFile.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | #ifdef WIN32 14 | #include 15 | #include 16 | #include 17 | //#include "winsock2.h" 18 | #endif 19 | #include "AudioFile.h" 20 | #include "Utils.h" 21 | 22 | AudioFile::AudioFile() 23 | { 24 | m_numOutputChannels = 1; 25 | } 26 | 27 | void AudioFile::Open(fileOpenModeEnum mode, bool stereo , int sampleRate) 28 | { 29 | Open(m_filename, mode, stereo, sampleRate); 30 | } 31 | 32 | void AudioFile::MoveOrig() 33 | { 34 | CStdString newName = m_filename + ".orig"; 35 | if(std::rename((PCSTR)m_filename.c_str(), (PCSTR)newName.c_str()) == 0) 36 | { 37 | m_filename = newName; 38 | } 39 | else 40 | { 41 | throw(CStdString("AudioFile::MoveOrig: could not rename file:" + m_filename)); 42 | } 43 | } 44 | 45 | void AudioFile::Delete() 46 | { 47 | std::remove((PCSTR)m_filename.c_str()); 48 | } 49 | 50 | void AudioFile::SetFilename(CStdString& filename) 51 | { 52 | m_filename = filename; 53 | } 54 | 55 | 56 | int AudioFile::GetSampleRate() 57 | { 58 | return m_sampleRate; 59 | } 60 | 61 | -------------------------------------------------------------------------------- /orkbasecxx/audiofile/LibSndFileFile.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __LIBSNDFILEFILE_H__ 15 | #define __LIBSNDFILEFILE_H__ 16 | 17 | 18 | #include "StdString.h" 19 | #include "AudioCapture.h" 20 | #include "sndfile.h" 21 | #include "AudioFile.h" 22 | 23 | 24 | /** file accessor class for all file types supported by the libsndfile library. 25 | The library can be found at http://www.mega-nerd.com/libsndfile/ 26 | */ 27 | class DLL_IMPORT_EXPORT_ORKBASE LibSndFileFile : public AudioFile 28 | { 29 | public: 30 | LibSndFileFile(int fileFormat); // fileFormat is described at http://www.mega-nerd.com/libsndfile/api.html 31 | ~LibSndFileFile(); 32 | 33 | void Open(CStdString& filename, fileOpenModeEnum mode, bool stereo = false, int sampleRate = 8000); 34 | void Close(); 35 | 36 | void WriteChunk(AudioChunkRef chunkRef); 37 | int ReadChunkMono(AudioChunkRef& chunk); 38 | 39 | CStdString GetExtension(); 40 | void SetNumOutputChannels(int numChan); 41 | private: 42 | SF_INFO m_fileInfo; 43 | SNDFILE* m_pFile; 44 | }; 45 | 46 | #endif 47 | 48 | -------------------------------------------------------------------------------- /orkbasecxx/audiofile/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | noinst_LTLIBRARIES = libaudiofile.la 3 | libaudiofile_la_SOURCES = MediaChunkFile.cpp AudioFile.cpp LibSndFileFile.cpp PcmFile.cpp opus_header.cpp OggOpusFile.cpp 4 | AM_CPPFLAGS = -D_REENTRANT 5 | libaudiofile_la_LIBADD = -logg -L/opt/opus/lib/ -lopusstatic 6 | INCLUDES = -I@top_srcdir@ -I../../orkbasecxx -I/opt/opus/include/opus -I/usr/include/apr-1 -I/usr/include/apr-1.0 7 | -------------------------------------------------------------------------------- /orkbasecxx/audiofile/MediaChunkFile.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __MEDIACHUNKFILE_H__ 15 | #define __MEDIACHUNKFILE_H__ 16 | 17 | #include 18 | #include "audiofile/AudioFile.h" 19 | #include "Utils.h" 20 | #include 21 | /** File class for saving audio chunks as-is */ 22 | class DLL_IMPORT_EXPORT_ORKBASE MediaChunkFile : public AudioFile 23 | { 24 | public: 25 | MediaChunkFile(); 26 | ~MediaChunkFile(); 27 | 28 | void Open(CStdString& filename, fileOpenModeEnum mode, bool stereo = false, int sampleRate = 8000); 29 | void Close(); 30 | 31 | void WriteChunk(AudioChunkRef chunkRef); 32 | int ReadChunkMono(AudioChunkRef& chunkRef); 33 | void SetNumOutputChannels(int numChan); 34 | 35 | CStdString GetExtension(); 36 | protected: 37 | bool FlushToDisk(); 38 | 39 | std::fstream m_stream; 40 | size_t m_chunkQueueDataSize; 41 | std::queue m_chunkQueue; 42 | }; 43 | 44 | #endif 45 | 46 | -------------------------------------------------------------------------------- /orkbasecxx/audiofile/PcmFile.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __PCMFILE_H__ 15 | #define __PCMFILE_H__ 16 | 17 | #include "audiofile/AudioFile.h" 18 | #include "Utils.h" 19 | #include 20 | #define PCM_FILE_DEFAULT_CHUNK_NUM_SAMPLES 8000 21 | 22 | /** File class for raw 16 bit signed PCM output */ 23 | class DLL_IMPORT_EXPORT_ORKBASE PcmFile : public AudioFile 24 | { 25 | public: 26 | PcmFile(); 27 | ~PcmFile(); 28 | 29 | void Open(CStdString& filename, fileOpenModeEnum mode, bool stereo = false, int sampleRate = 8000); 30 | void Close(); 31 | 32 | void WriteChunk(AudioChunkRef chunkRef); 33 | int ReadChunkMono(AudioChunkRef& chunkRef); 34 | 35 | CStdString GetExtension(); 36 | protected: 37 | 38 | std::fstream m_stream; 39 | }; 40 | 41 | #endif 42 | 43 | -------------------------------------------------------------------------------- /orkbasecxx/dll.h: -------------------------------------------------------------------------------- 1 | #ifndef __DLL_H__ 2 | #define __DLL_H__ 3 | 4 | #ifdef WIN32 5 | #define __CDECL__ __cdecl 6 | #else 7 | #define __CDECL__ 8 | #endif 9 | #ifdef WIN32 10 | #define DLL_EXPORT __declspec( dllexport ) 11 | #else 12 | #define DLL_EXPORT 13 | #endif 14 | 15 | #endif 16 | 17 | 18 | -------------------------------------------------------------------------------- /orkbasecxx/filters/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = gsm ilbc audiogain g722codec speex g726codecs opuscodec 2 | -------------------------------------------------------------------------------- /orkbasecxx/filters/audiogain/AudioGain.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | #include "LogManager.h" 14 | #include "Filter.h" 15 | #include 16 | 17 | class DLL_IMPORT_EXPORT_ORKBASE AudioGainFilter : public Filter 18 | { 19 | public: 20 | AudioGainFilter(); 21 | ~AudioGainFilter(); 22 | 23 | FilterRef __CDECL__ Instanciate(); 24 | void __CDECL__ AudioChunkIn(AudioChunkRef& chunk); 25 | void __CDECL__ AudioChunkOut(AudioChunkRef& chunk); 26 | AudioEncodingEnum __CDECL__ GetInputAudioEncoding(); 27 | AudioEncodingEnum __CDECL__ GetOutputAudioEncoding(); 28 | CStdString __CDECL__ GetName(); 29 | inline void __CDECL__ CaptureEventIn(CaptureEventRef& event); 30 | inline void __CDECL__ CaptureEventOut(CaptureEventRef& event); 31 | 32 | private: 33 | AudioChunkRef m_outputAudioChunk; 34 | LoggerPtr m_log; 35 | int m_numEncodingErrors; 36 | }; 37 | 38 | -------------------------------------------------------------------------------- /orkbasecxx/filters/audiogain/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | noinst_LTLIBRARIES = libaudiogain.la 3 | libaudiogain_la_SOURCES = AudioGain.cpp 4 | 5 | INCLUDES = -I@top_srcdir@ -I/usr/include/apr-1 -I/usr/include/apr-1.0 6 | AM_CXXFLAGS = -D_REENTRANT 7 | -------------------------------------------------------------------------------- /orkbasecxx/filters/g722codec/G722Codec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | #ifndef __G722DECODER_H__ 14 | #define __G722DECODER_H__ 1 15 | 16 | #include "LogManager.h" 17 | #include "Filter.h" 18 | #include "G722.h" 19 | 20 | class DLL_IMPORT_EXPORT_ORKBASE G722ToPcmFilter : public Filter 21 | { 22 | public: 23 | G722ToPcmFilter(); 24 | ~G722ToPcmFilter(); 25 | 26 | FilterRef __CDECL__ Instanciate(); 27 | void __CDECL__ AudioChunkIn(AudioChunkRef& chunk); 28 | void __CDECL__ AudioChunkOut(AudioChunkRef& chunk); 29 | AudioEncodingEnum __CDECL__ GetInputAudioEncoding(); 30 | AudioEncodingEnum __CDECL__ GetOutputAudioEncoding(); 31 | CStdString __CDECL__ GetName(); 32 | bool __CDECL__ SupportsInputRtpPayloadType(int rtpPayloadType ); 33 | void __CDECL__ CaptureEventIn(CaptureEventRef& event); 34 | void __CDECL__ CaptureEventOut(CaptureEventRef& event); 35 | 36 | private: 37 | AudioChunkRef m_outputAudioChunk; 38 | g722_decode_state_t m_ctx; 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /orkbasecxx/filters/g722codec/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | SUBDIRS = 3 | noinst_LTLIBRARIES = libg722codec.la 4 | libg722codec_la_SOURCES = G722Codec.cpp 5 | 6 | INCLUDES = -I@top_srcdir@ -I../.. 7 | AM_CXXFLAGS = -D_REENTRANT 8 | -------------------------------------------------------------------------------- /orkbasecxx/filters/g726codecs/G721Codec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | #ifndef __G721DECODER_H__ 14 | #define __G721DECODER_H__ 1 15 | 16 | #include "LogManager.h" 17 | #include "Filter.h" 18 | 19 | #ifdef __cplusplus 20 | extern "C" 21 | { 22 | #include "g72x.h" 23 | } 24 | #endif 25 | class DLL_IMPORT_EXPORT_ORKBASE G721CodecDecoder : public Filter 26 | { 27 | public: 28 | G721CodecDecoder(); 29 | ~G721CodecDecoder(); 30 | 31 | FilterRef __CDECL__ Instanciate(); 32 | void __CDECL__ AudioChunkIn(AudioChunkRef& chunk); 33 | void __CDECL__ AudioChunkOut(AudioChunkRef& chunk); 34 | AudioEncodingEnum __CDECL__ GetInputAudioEncoding(); 35 | AudioEncodingEnum __CDECL__ GetOutputAudioEncoding(); 36 | CStdString __CDECL__ GetName(); 37 | bool __CDECL__ SupportsInputRtpPayloadType(int rtpPayloadType ); 38 | void __CDECL__ CaptureEventIn(CaptureEventRef& event); 39 | void __CDECL__ CaptureEventOut(CaptureEventRef& event); 40 | 41 | private: 42 | AudioChunkRef m_outputAudioChunk; 43 | struct g72x_state m_decoderState; 44 | }; 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /orkbasecxx/filters/g726codecs/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | SUBDIRS = g72x 3 | noinst_LTLIBRARIES = libg721codec.la 4 | libg721codec_la_SOURCES = G721Codec.cpp 5 | 6 | INCLUDES = -I@top_srcdir@ -I./g72x 7 | AM_CXXFLAGS = -D_REENTRANT 8 | -------------------------------------------------------------------------------- /orkbasecxx/filters/g726codecs/g72x/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | noinst_LTLIBRARIES = libg72x.la 3 | libg72x_la_SOURCES = g72x.c g721.c g723_24.c g723_40.c 4 | 5 | INCLUDES = -I@top_srcdir@ 6 | AM_CFLAGS = -D_REENTRANT 7 | -------------------------------------------------------------------------------- /orkbasecxx/filters/gsm/GsmFilters.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | #include "Filter.h" 14 | extern "C" 15 | { 16 | #include "gsm.h" 17 | } 18 | 19 | class DLL_IMPORT_EXPORT_ORKBASE GsmToPcmFilter : public Filter 20 | { 21 | public: 22 | GsmToPcmFilter(); 23 | ~GsmToPcmFilter(); 24 | 25 | FilterRef __CDECL__ Instanciate(); 26 | void __CDECL__ AudioChunkIn(AudioChunkRef& chunk); 27 | void __CDECL__ AudioChunkOut(AudioChunkRef& chunk); 28 | AudioEncodingEnum __CDECL__ GetInputAudioEncoding(); 29 | AudioEncodingEnum __CDECL__ GetOutputAudioEncoding(); 30 | CStdString __CDECL__ GetName(); 31 | bool __CDECL__ SupportsInputRtpPayloadType(int rtpPayloadType ); 32 | void __CDECL__ CaptureEventIn(CaptureEventRef& event); 33 | void __CDECL__ CaptureEventOut(CaptureEventRef& event); 34 | 35 | private: 36 | AudioChunkRef m_outputAudioChunk; 37 | struct gsm_state * gsmState; 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /orkbasecxx/filters/gsm/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | SUBDIRS = gsm610 3 | noinst_LTLIBRARIES = libgsm.la 4 | libgsm_la_SOURCES = GsmFilters.cpp 5 | 6 | INCLUDES = -I@top_srcdir@ -I./gsm610 7 | AM_CXXFLAGS = -D_REENTRANT 8 | -------------------------------------------------------------------------------- /orkbasecxx/filters/gsm/gsm610/COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann, 2 | Technische Universitaet Berlin 3 | 4 | Any use of this software is permitted provided that this notice is not 5 | removed and that neither the authors nor the Technische Universitaet Berlin 6 | are deemed to have made any representations as to the suitability of this 7 | software for any purpose nor are held responsible for any defects of 8 | this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 9 | 10 | As a matter of courtesy, the authors request to be informed about uses 11 | this software has found, about bugs in this software, and about any 12 | improvements that may be of general interest. 13 | 14 | Berlin, 28.11.1994 15 | Jutta Degener 16 | Carsten Bormann 17 | -------------------------------------------------------------------------------- /orkbasecxx/filters/gsm/gsm610/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | noinst_LTLIBRARIES = libgsm610.la 3 | libgsm610_la_SOURCES = add.c code.c decode.c gsm_create.c gsm_decode.c \ 4 | gsm_destroy.c gsm_encode.c gsm_option.c \ 5 | long_term.c lpc.c preprocess.c rpe.c \ 6 | short_term.c table.c 7 | 8 | INCLUDES = -I@top_srcdir@ 9 | AM_CFLAGS = -D_REENTRANT 10 | -------------------------------------------------------------------------------- /orkbasecxx/filters/gsm/gsm610/config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 3 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 4 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 5 | */ 6 | 7 | #ifndef CONFIG_H 8 | #define CONFIG_H 9 | 10 | #define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */ 11 | #define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */ 12 | 13 | #define HAS_FSTAT 1 /* fstat syscall */ 14 | #define HAS_FCHMOD 1 /* fchmod syscall */ 15 | #define HAS_CHMOD 1 /* chmod syscall */ 16 | #define HAS_FCHOWN 1 /* fchown syscall */ 17 | #define HAS_CHOWN 1 /* chown syscall */ 18 | 19 | #define HAS_STRING_H 1 /* /usr/include/string.h */ 20 | 21 | #define HAS_UNISTD_H 1 /* /usr/include/unistd.h */ 22 | #define HAS_UTIME 1 /* POSIX utime(path, times) */ 23 | #define HAS_UTIME_H 1 /* UTIME header file */ 24 | 25 | #endif /* CONFIG_H */ 26 | /* 27 | ** Do not edit or modify anything in this comment block. 28 | ** The arch-tag line is a file identity tag for the GNU Arch 29 | ** revision control system. 30 | ** 31 | ** arch-tag: 5338dfef-8e59-4f51-af47-627c9ea85353 32 | */ 33 | 34 | -------------------------------------------------------------------------------- /orkbasecxx/filters/gsm/gsm610/gsm_create.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 3 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 4 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 5 | */ 6 | 7 | #include "config.h" 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | 14 | 15 | #include "gsm.h" 16 | #include "gsm610_priv.h" 17 | 18 | gsm gsm_create (void) 19 | { 20 | gsm r; 21 | 22 | r = malloc (sizeof(struct gsm_state)); 23 | if (!r) return r; 24 | 25 | memset((char *)r, 0, sizeof (struct gsm_state)); 26 | r->nrp = 40; 27 | 28 | return r; 29 | } 30 | 31 | /* Added for libsndfile : May 6, 2002. Not sure if it works. */ 32 | void gsm_init (gsm state) 33 | { 34 | memset (state, 0, sizeof (struct gsm_state)) ; 35 | state->nrp = 40 ; 36 | } 37 | /* 38 | ** Do not edit or modify anything in this comment block. 39 | ** The arch-tag line is a file identity tag for the GNU Arch 40 | ** revision control system. 41 | ** 42 | ** arch-tag: 9fedb6b3-ed99-40c2-aac1-484c536261fe 43 | */ 44 | 45 | -------------------------------------------------------------------------------- /orkbasecxx/filters/gsm/gsm610/gsm_destroy.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 3 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 4 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 5 | */ 6 | 7 | #include "gsm.h" 8 | #include "config.h" 9 | 10 | #ifdef HAS_STDLIB_H 11 | # include 12 | #else 13 | # ifdef HAS_MALLOC_H 14 | # include 15 | # else 16 | extern void free(); 17 | # endif 18 | #endif 19 | 20 | void gsm_destroy (gsm S) 21 | { 22 | if (S) free((char *)S); 23 | } 24 | /* 25 | ** Do not edit or modify anything in this comment block. 26 | ** The arch-tag line is a file identity tag for the GNU Arch 27 | ** revision control system. 28 | ** 29 | ** arch-tag: f423d09b-6ccc-47e0-9b18-ee1cf7a8e473 30 | */ 31 | 32 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/IlbcFilters.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | #include "LogManager.h" 14 | #include "Filter.h" 15 | extern "C" 16 | { 17 | #include "iLBC_encode.h" 18 | #include "iLBC_decode.h" 19 | } 20 | 21 | class DLL_IMPORT_EXPORT_ORKBASE IlbcToPcmFilter : public Filter 22 | { 23 | public: 24 | IlbcToPcmFilter(); 25 | ~IlbcToPcmFilter(); 26 | 27 | FilterRef __CDECL__ Instanciate(); 28 | void __CDECL__ AudioChunkIn(AudioChunkRef& chunk); 29 | void __CDECL__ AudioChunkOut(AudioChunkRef& chunk); 30 | AudioEncodingEnum __CDECL__ GetInputAudioEncoding(); 31 | AudioEncodingEnum __CDECL__ GetOutputAudioEncoding(); 32 | CStdString __CDECL__ GetName(); 33 | bool __CDECL__ SupportsInputRtpPayloadType(int rtpPayloadType ); 34 | void __CDECL__ CaptureEventIn(CaptureEventRef& event); 35 | void __CDECL__ CaptureEventOut(CaptureEventRef& event); 36 | 37 | private: 38 | AudioChunkRef m_outputAudioChunk; 39 | /* 30ms frames */ 40 | iLBC_Dec_Inst_t dec30; 41 | 42 | /* 20ms frames */ 43 | iLBC_Dec_Inst_t dec20; 44 | 45 | LoggerPtr s_ilbclog; 46 | }; 47 | 48 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | SUBDIRS = ilbc 3 | noinst_LTLIBRARIES = libilbc.la 4 | libilbc_la_SOURCES = IlbcFilters.cpp 5 | 6 | INCLUDES = -I@top_srcdir@ -I./ilbc -I/usr/include/apr-1 -I/usr/include/apr-1.0 7 | AM_CXXFLAGS = -D_REENTRANT 8 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/FrameClassify.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | FrameClassify.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_FRAMECLASSIFY_H 14 | #define __iLBC_FRAMECLASSIFY_H 15 | 16 | int FrameClassify( /* index to the max-energy sub-frame */ 17 | iLBC_Enc_Inst_t *iLBCenc_inst, 18 | /* (i/o) the encoder state structure */ 19 | float *residual /* (i) lpc residual signal */ 20 | ); 21 | 22 | 23 | 24 | 25 | 26 | #endif 27 | 28 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/LPCencode.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | LPCencode.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_LPCENCOD_H 14 | #define __iLBC_LPCENCOD_H 15 | 16 | void LPCencode( 17 | float *syntdenum, /* (i/o) synthesis filter coefficients 18 | before/after encoding */ 19 | float *weightdenum, /* (i/o) weighting denumerator coefficients 20 | before/after encoding */ 21 | int *lsf_index, /* (o) lsf quantization index */ 22 | float *data, /* (i) lsf coefficients to quantize */ 23 | iLBC_Enc_Inst_t *iLBCenc_inst 24 | /* (i/o) the encoder state structure */ 25 | ); 26 | 27 | #endif 28 | 29 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | noinst_LTLIBRARIES = libilbcrfc.la 3 | libilbcrfc_la_SOURCES = anaFilter.c iCBSearch.c packing.c \ 4 | constants.c gainquant.c iLBC_decode.c StateConstructW.c \ 5 | createCB.c getCBvec.c iLBC_encode.c StateSearchW.c doCPLC.c \ 6 | helpfun.c syntFilter.c enhancer.c hpInput.c LPCdecode.c \ 7 | iLBC_filter.c hpOutput.c LPCencode.c FrameClassify.c iCBConstruct.c lsf.c 8 | 9 | INCLUDES = -I@top_srcdir@ 10 | AM_CFLAGS = -D_REENTRANT 11 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/StateConstructW.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | StateConstructW.h 7 | 8 | 9 | 10 | 11 | 12 | 13 | Copyright (C) The Internet Society (2004). 14 | All Rights Reserved. 15 | 16 | ******************************************************************/ 17 | 18 | #ifndef __iLBC_STATECONSTRUCTW_H 19 | #define __iLBC_STATECONSTRUCTW_H 20 | 21 | void StateConstructW( 22 | int idxForMax, /* (i) 6-bit index for the quantization of 23 | max amplitude */ 24 | int *idxVec, /* (i) vector of quantization indexes */ 25 | float *syntDenum, /* (i) synthesis filter denumerator */ 26 | float *out, /* (o) the decoded state vector */ 27 | int len /* (i) length of a state vector */ 28 | ); 29 | 30 | #endif 31 | 32 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/anaFilter.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | anaFilter.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_ANAFILTER_H 14 | #define __iLBC_ANAFILTER_H 15 | 16 | void anaFilter( 17 | 18 | 19 | 20 | 21 | 22 | float *In, /* (i) Signal to be filtered */ 23 | float *a, /* (i) LP parameters */ 24 | int len,/* (i) Length of signal */ 25 | float *Out, /* (o) Filtered signal */ 26 | float *mem /* (i/o) Filter state */ 27 | ); 28 | 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/doCPLC.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | doCPLC.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_DOLPC_H 14 | #define __iLBC_DOLPC_H 15 | 16 | void doThePLC( 17 | float *PLCresidual, /* (o) concealed residual */ 18 | float *PLClpc, /* (o) concealed LP parameters */ 19 | int PLI, /* (i) packet loss indicator 20 | 0 - no PL, 1 = PL */ 21 | float *decresidual, /* (i) decoded residual */ 22 | float *lpc, /* (i) decoded LPC (only used for no PL) */ 23 | int inlag, /* (i) pitch lag */ 24 | iLBC_Dec_Inst_t *iLBCdec_inst 25 | /* (i/o) decoder instance */ 26 | ); 27 | 28 | #endif 29 | 30 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/enhancer.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | enhancer.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | 12 | 13 | 14 | 15 | ******************************************************************/ 16 | 17 | #ifndef __ENHANCER_H 18 | #define __ENHANCER_H 19 | 20 | #include "iLBC_define.h" 21 | 22 | float xCorrCoef( 23 | float *target, /* (i) first array */ 24 | float *regressor, /* (i) second array */ 25 | int subl /* (i) dimension arrays */ 26 | ); 27 | 28 | int enhancerInterface( 29 | float *out, /* (o) the enhanced recidual signal */ 30 | float *in, /* (i) the recidual signal to enhance */ 31 | iLBC_Dec_Inst_t *iLBCdec_inst 32 | /* (i/o) the decoder state structure */ 33 | ); 34 | 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/extract.awk: -------------------------------------------------------------------------------- 1 | BEGIN { srcname = "nothing"; } 2 | { if (/^A\.[0-9][0-9]*\.* *[a-zA-Z][a-zA-Z_0-9]*\.[ch]/) { 3 | if (srcname != "nothing") 4 | close(srcname); 5 | srcname = $2; 6 | printf("creating source file %s\n", srcname); 7 | }else if (srcname != "nothing") { 8 | if (/Andersen,* *et* *al\./) 9 | printf("skipping %s\n", $0); 10 | else if (/ /) 11 | printf("skipping2 %s\n", $0); 12 | else if (/Internet Low Bit Rate Codec *December 2004/) 13 | printf("skipping3 %s\n", $0); 14 | else if (/Authors' *Addresses/){ 15 | close(srcname); 16 | exit;} 17 | else 18 | print $0 >> srcname; 19 | } 20 | } 21 | END { 22 | printf("ending file %s\n", srcname); 23 | close(srcname); 24 | } 25 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/gainquant.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | gainquant.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_GAINQUANT_H 14 | #define __iLBC_GAINQUANT_H 15 | 16 | float gainquant(/* (o) quantized gain value */ 17 | float in, /* (i) gain value */ 18 | float maxIn,/* (i) maximum of gain value */ 19 | int cblen, /* (i) number of quantization indices */ 20 | int *index /* (o) quantization index */ 21 | ); 22 | 23 | float gaindequant( /* (o) quantized gain value */ 24 | int index, /* (i) quantization index */ 25 | float maxIn,/* (i) maximum of unquantized gain */ 26 | int cblen /* (i) number of quantization indices */ 27 | ); 28 | 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/getCBvec.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | getCBvec.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_GETCBVEC_H 14 | #define __iLBC_GETCBVEC_H 15 | 16 | void getCBvec( 17 | float *cbvec, /* (o) Constructed codebook vector */ 18 | float *mem, /* (i) Codebook buffer */ 19 | int index, /* (i) Codebook index */ 20 | int lMem, /* (i) Length of codebook buffer */ 21 | int cbveclen/* (i) Codebook vector length */ 22 | ); 23 | 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/hpInput.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | hpInput.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_HPINPUT_H 14 | #define __iLBC_HPINPUT_H 15 | 16 | void hpInput( 17 | float *In, /* (i) vector to filter */ 18 | int len, /* (i) length of vector to filter */ 19 | float *Out, /* (o) the resulting filtered vector */ 20 | float *mem /* (i/o) the filter state */ 21 | ); 22 | 23 | #endif 24 | 25 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/hpOutput.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | hpOutput.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_HPOUTPUT_H 14 | #define __iLBC_HPOUTPUT_H 15 | 16 | void hpOutput( 17 | float *In, /* (i) vector to filter */ 18 | int len,/* (i) length of vector to filter */ 19 | float *Out, /* (o) the resulting filtered vector */ 20 | float *mem /* (i/o) the filter state */ 21 | ); 22 | 23 | #endif 24 | 25 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/iCBConstruct.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | iCBConstruct.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | 12 | 13 | 14 | 15 | 16 | ******************************************************************/ 17 | 18 | #ifndef __iLBC_ICBCONSTRUCT_H 19 | #define __iLBC_ICBCONSTRUCT_H 20 | 21 | void index_conv_enc( 22 | int *index /* (i/o) Codebook indexes */ 23 | ); 24 | 25 | void index_conv_dec( 26 | int *index /* (i/o) Codebook indexes */ 27 | ); 28 | 29 | void iCBConstruct( 30 | float *decvector, /* (o) Decoded vector */ 31 | int *index, /* (i) Codebook indices */ 32 | int *gain_index,/* (i) Gain quantization indices */ 33 | float *mem, /* (i) Buffer for codevector construction */ 34 | int lMem, /* (i) Length of buffer */ 35 | int veclen, /* (i) Length of vector */ 36 | int nStages /* (i) Number of codebook stages */ 37 | ); 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/iCBSearch.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | iCBSearch.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_ICBSEARCH_H 14 | #define __iLBC_ICBSEARCH_H 15 | 16 | 17 | 18 | 19 | 20 | 21 | void iCBSearch( 22 | iLBC_Enc_Inst_t *iLBCenc_inst, 23 | /* (i) the encoder state structure */ 24 | int *index, /* (o) Codebook indices */ 25 | int *gain_index,/* (o) Gain quantization indices */ 26 | float *intarget,/* (i) Target vector for encoding */ 27 | float *mem, /* (i) Buffer for codebook construction */ 28 | int lMem, /* (i) Length of buffer */ 29 | int lTarget, /* (i) Length of vector */ 30 | int nStages, /* (i) Number of codebook stages */ 31 | float *weightDenum, /* (i) weighting filter coefficients */ 32 | float *weightState, /* (i) weighting filter state */ 33 | int block /* (i) the sub-block number */ 34 | ); 35 | 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/iLBC_decode.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | iLBC_decode.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_ILBCDECODE_H 14 | #define __iLBC_ILBCDECODE_H 15 | 16 | #include "iLBC_define.h" 17 | 18 | short initDecode( /* (o) Number of decoded 19 | samples */ 20 | iLBC_Dec_Inst_t *iLBCdec_inst, /* (i/o) Decoder instance */ 21 | int mode, /* (i) frame size mode */ 22 | int use_enhancer /* (i) 1 to use enhancer 23 | 0 to run without 24 | enhancer */ 25 | ); 26 | 27 | void iLBC_decode( 28 | float *decblock, /* (o) decoded signal block */ 29 | unsigned char *bytes, /* (i) encoded signal bits */ 30 | iLBC_Dec_Inst_t *iLBCdec_inst, /* (i/o) the decoder state 31 | structure */ 32 | int mode /* (i) 0: bad packet, PLC, 33 | 1: normal */ 34 | 35 | 36 | 37 | 38 | 39 | ); 40 | 41 | #endif 42 | 43 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/iLBC_encode.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | iLBC_encode.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_ILBCENCODE_H 14 | #define __iLBC_ILBCENCODE_H 15 | 16 | #include "iLBC_define.h" 17 | 18 | short initEncode( /* (o) Number of bytes 19 | encoded */ 20 | iLBC_Enc_Inst_t *iLBCenc_inst, /* (i/o) Encoder instance */ 21 | int mode /* (i) frame size mode */ 22 | ); 23 | 24 | void iLBC_encode( 25 | 26 | unsigned char *bytes, /* (o) encoded data bits iLBC */ 27 | float *block, /* (o) speech vector to 28 | encode */ 29 | iLBC_Enc_Inst_t *iLBCenc_inst /* (i/o) the general encoder 30 | state */ 31 | ); 32 | 33 | #endif 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/lsf.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | lsf.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_LSF_H 14 | #define __iLBC_LSF_H 15 | 16 | void a2lsf( 17 | float *freq,/* (o) lsf coefficients */ 18 | float *a /* (i) lpc coefficients */ 19 | ); 20 | 21 | void lsf2a( 22 | float *a_coef, /* (o) lpc coefficients */ 23 | float *freq /* (i) lsf coefficients */ 24 | ); 25 | 26 | #endif 27 | 28 | -------------------------------------------------------------------------------- /orkbasecxx/filters/ilbc/ilbc/syntFilter.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | syntFilter.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_SYNTFILTER_H 14 | #define __iLBC_SYNTFILTER_H 15 | 16 | void syntFilter( 17 | float *Out, /* (i/o) Signal to be filtered */ 18 | float *a, /* (i) LP parameters */ 19 | int len, /* (i) Length of signal */ 20 | float *mem /* (i/o) Filter state */ 21 | ); 22 | 23 | #endif 24 | 25 | -------------------------------------------------------------------------------- /orkbasecxx/filters/opuscodec/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | SUBDIRS = 3 | noinst_LTLIBRARIES = libopuscodec.la 4 | libopuscodec_la_SOURCES = OpusCodec.cpp 5 | INCLUDES = -I@top_srcdir@ -I../.. -I/opt/opus/include/opus -I/usr/include/apr-1 -I/usr/include/apr-1.0 6 | libopuscodec_la_LIBADD = -L/opt/opus/lib/ -lopusstatic 7 | AM_CXXFLAGS = -D_REENTRANT 8 | 9 | 10 | -------------------------------------------------------------------------------- /orkbasecxx/filters/speex/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | SUBDIRS = 3 | noinst_LTLIBRARIES = libspeexcodec.la 4 | libspeexcodec_la_SOURCES = SpeexCodec.cpp 5 | 6 | INCLUDES = -I@top_srcdir@ -I../.. -I/usr/include/apr-1 -I/usr/include/apr-1.0 7 | AM_CXXFLAGS = -D_REENTRANT 8 | -------------------------------------------------------------------------------- /orkbasecxx/filters/speex/SpeexCodec.h: -------------------------------------------------------------------------------- 1 | #ifndef __SPEEXCODEC_H__ 2 | #define __SPEEXCODEC_H__ 3 | 4 | #include "LogManager.h" 5 | #include "Filter.h" 6 | #include "speex/speex.h" 7 | 8 | class DLL_IMPORT_EXPORT_ORKBASE SpeexDecoder : public Filter 9 | { 10 | public: 11 | SpeexDecoder(); 12 | ~SpeexDecoder(); 13 | 14 | FilterRef __CDECL__ Instanciate(); 15 | void __CDECL__ AudioChunkIn(AudioChunkRef& chunk); 16 | void __CDECL__ AudioChunkOut(AudioChunkRef& chunk); 17 | AudioEncodingEnum __CDECL__ GetInputAudioEncoding(); 18 | AudioEncodingEnum __CDECL__ GetOutputAudioEncoding(); 19 | CStdString __CDECL__ GetName(); 20 | bool __CDECL__ SupportsInputRtpPayloadType(int rtpPayloadType ); 21 | void __CDECL__ CaptureEventIn(CaptureEventRef& event); 22 | void __CDECL__ CaptureEventOut(CaptureEventRef& event); 23 | 24 | private: 25 | AudioChunkRef m_outputAudioChunk; 26 | SpeexBits m_bits; 27 | void * m_state; 28 | bool m_initialized; 29 | int m_frameSize; 30 | int m_enh; 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /orkbasecxx/g711.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __G711_H__ 15 | #define __G711_H__ 16 | 17 | int ulaw2linear(unsigned char u_val); 18 | int alaw2linear(unsigned char a_val); 19 | 20 | #endif 21 | 22 | -------------------------------------------------------------------------------- /orkbasecxx/messages/AddTagMsg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __ADDTAGMSG_H__ 15 | #define __ADDTAGMSG_H__ 16 | 17 | #include "messages/SyncMessage.h" 18 | #include "messages/AsyncMessage.h" 19 | 20 | class DLL_IMPORT_EXPORT_ORKBASE AddTagMsg : public SyncMessage, public IReportable 21 | { 22 | public: 23 | AddTagMsg(); 24 | void Define(Serializer* s); 25 | void Validate(); 26 | 27 | CStdString GetClassName(); 28 | ObjectRef NewInstance(); 29 | ObjectRef Process(); 30 | 31 | //IReportable interface 32 | bool IsRealtime(); 33 | MessageRef CreateResponse(); 34 | void HandleResponse(MessageRef responseRef); 35 | MessageRef Clone(); 36 | 37 | CStdString m_party; 38 | CStdString m_orkuid; 39 | CStdString m_tagType; 40 | CStdString m_tagText; 41 | CStdString m_dtagOffsetMs; 42 | bool m_success; 43 | 44 | }; 45 | typedef oreka::shared_ptr AddTagMsgRef; 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /orkbasecxx/messages/AsyncMessage.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #include "AsyncMessage.h" 15 | 16 | //void AsyncMessage::send(XmlRpc::XmlRpcClient& c) 17 | //{ 18 | // ; 19 | //} 20 | 21 | #define SIMPLERESPONSE_CLASS "simpleresponse" 22 | #define SUCCESS_PARAM "success" 23 | #define SUCCESS_DEFAULT true 24 | #define COMMENT_PARAM "comment" 25 | 26 | SimpleResponseMsg::SimpleResponseMsg() 27 | { 28 | m_success = false; 29 | } 30 | 31 | 32 | void SimpleResponseMsg::Define(Serializer* s) 33 | { 34 | s->BoolValue(SUCCESS_PARAM, m_success); 35 | s->StringValue(COMMENT_PARAM, m_comment); 36 | } 37 | 38 | CStdString SimpleResponseMsg::GetClassName() 39 | { 40 | return CStdString(SIMPLERESPONSE_CLASS); 41 | } 42 | 43 | ObjectRef SimpleResponseMsg::NewInstance() 44 | { 45 | return ObjectRef(new SimpleResponseMsg); 46 | } 47 | -------------------------------------------------------------------------------- /orkbasecxx/messages/AsyncMessage.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __ASYNCMESSAGE_H__ 15 | #define __ASYNCMESSAGE_H__ 16 | 17 | //#include "XmlRpc.h" 18 | #include "Message.h" 19 | 20 | /** An AsyncMessage is an asynchronous message ("fire and forget"). 21 | It can also be the response to a synchronous message. 22 | */ 23 | class DLL_IMPORT_EXPORT_ORKBASE AsyncMessage : public Message 24 | { 25 | //public: 26 | // void send(XmlRpc::XmlRpcClient& c); 27 | }; 28 | 29 | /** A SimpleResponseMsg is used as a response when commands can just succeed or fail. 30 | Additionally, there is textual comment field e.g. for error messages. 31 | */ 32 | class DLL_IMPORT_EXPORT_ORKBASE SimpleResponseMsg : public AsyncMessage 33 | { 34 | public: 35 | SimpleResponseMsg(); 36 | void Define(Serializer* s); 37 | inline void Validate() {}; 38 | 39 | CStdString GetClassName(); 40 | ObjectRef NewInstance(); 41 | inline ObjectRef Process() {return ObjectRef();}; 42 | 43 | bool m_success; 44 | CStdString m_comment; 45 | }; 46 | 47 | #endif 48 | 49 | -------------------------------------------------------------------------------- /orkbasecxx/messages/CaptureMsg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __CAPTUREMSG_H__ 15 | #define __CAPTUREMSG_H__ 16 | 17 | #include "messages/SyncMessage.h" 18 | #include "messages/AsyncMessage.h" 19 | #include "AudioCapture.h" 20 | 21 | 22 | class DLL_IMPORT_EXPORT_ORKBASE CaptureResponseMsg : public AsyncMessage 23 | { 24 | public: 25 | void Define(Serializer* s); 26 | inline void Validate() {}; 27 | 28 | CStdString GetClassName(); 29 | ObjectRef NewInstance(); 30 | inline ObjectRef Process() {return ObjectRef();}; 31 | 32 | bool m_success; 33 | CStdString m_comment; 34 | }; 35 | 36 | class DLL_IMPORT_EXPORT_ORKBASE CaptureMsg : public SyncMessage 37 | { 38 | public: 39 | void Define(Serializer* s); 40 | inline void Validate() {}; 41 | 42 | CStdString GetClassName(); 43 | ObjectRef NewInstance(); 44 | ObjectRef Process(); 45 | 46 | CaptureEvent::EventTypeEnum m_eventType; 47 | CStdString m_capturePort; 48 | }; 49 | 50 | #endif 51 | 52 | -------------------------------------------------------------------------------- /orkbasecxx/messages/CrashMessage.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #include "CrashMessage.h" 15 | #include "messages/AsyncMessage.h" 16 | 17 | #define CRASH_CLASS "crash" 18 | 19 | void CrashMsg::Define(Serializer* s) 20 | { 21 | CStdString crashClass(CRASH_CLASS); 22 | s->StringValue(OBJECT_TYPE_TAG, crashClass, true); 23 | } 24 | 25 | CStdString CrashMsg::GetClassName() 26 | { 27 | return CStdString(CRASH_CLASS); 28 | } 29 | 30 | ObjectRef CrashMsg::NewInstance() 31 | { 32 | return ObjectRef(new CrashMsg); 33 | } 34 | 35 | ObjectRef CrashMsg::Process() 36 | { 37 | char *ptr; 38 | SimpleResponseMsg* msg = new SimpleResponseMsg; 39 | ObjectRef ref(msg); 40 | CStdString logMsg; 41 | 42 | ptr = NULL; 43 | *ptr = 0; 44 | 45 | logMsg.Format("Hopefully we'll crash in a bit"); 46 | msg->m_success = true; 47 | msg->m_comment = logMsg; 48 | 49 | return ref; 50 | } 51 | 52 | -------------------------------------------------------------------------------- /orkbasecxx/messages/CrashMessage.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __CRASH_MSG_H__ 15 | #define __CRASH_MSG_H__ 1 16 | 17 | #include "messages/SyncMessage.h" 18 | 19 | class DLL_IMPORT_EXPORT_ORKBASE CrashMsg : public SyncMessage 20 | { 21 | public: 22 | void Define(Serializer* s); 23 | inline void Validate() {}; 24 | 25 | CStdString GetClassName(); 26 | ObjectRef NewInstance(); 27 | ObjectRef Process(); 28 | }; 29 | 30 | #endif 31 | 32 | -------------------------------------------------------------------------------- /orkbasecxx/messages/DeleteTapeMsg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __DELETETAPEMSG_H__ 15 | #define __DELETETAPEMSG_H__ 16 | 17 | #include "messages/SyncMessage.h" 18 | 19 | class DLL_IMPORT_EXPORT_ORKBASE DeleteTapeMsg : public SyncMessage 20 | { 21 | public: 22 | void Define(Serializer* s); 23 | inline void Validate() {}; 24 | 25 | CStdString GetClassName(); 26 | ObjectRef NewInstance(); 27 | ObjectRef Process(); 28 | 29 | CStdString m_filename; 30 | }; 31 | 32 | #endif 33 | 34 | -------------------------------------------------------------------------------- /orkbasecxx/messages/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | noinst_LTLIBRARIES = libmessages.la 3 | libmessages_la_SOURCES = AsyncMessage.cpp Message.cpp \ 4 | SyncMessage.cpp CaptureMsg.cpp DeleteTapeMsg.cpp \ 5 | PingMsg.cpp TapeMsg.cpp RecordMsg.cpp InitMsg.cpp \ 6 | CrashMessage.cpp AddTagMsg.cpp\ 7 | ReadLoggingPropertiesMsg.cpp\ 8 | OrkaudioVersionMsg.cpp 9 | 10 | #libmessages_la_LIBADD = -L/projects/ext/xmlrpc++/xmlrpc++0.7/ -lXmlRpc 11 | INCLUDES = -I@top_srcdir@ -I../../orkaudio -I/usr/include/apr-1 -I/usr/include/apr-1.0 12 | AM_CXXFLAGS = -D_REENTRANT 13 | -------------------------------------------------------------------------------- /orkbasecxx/messages/OrkaudioVersionMsg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __ORKAUDIOVERSIONMSG_H__ 15 | #define __ORKAUDIOVERSIONMSG_H__ 16 | 17 | #include "messages/SyncMessage.h" 18 | #include "messages/AsyncMessage.h" 19 | 20 | 21 | class DLL_IMPORT_EXPORT_ORKBASE OrkaudioVersionMsg : public SyncMessage 22 | { 23 | public: 24 | void Define(Serializer* s); 25 | inline void Validate() {}; 26 | 27 | CStdString GetClassName(); 28 | ObjectRef NewInstance(); 29 | ObjectRef Process(); 30 | }; 31 | 32 | class DLL_IMPORT_EXPORT_ORKBASE OrkaudioVersionResponseMsg : public SimpleResponseMsg 33 | { 34 | public: 35 | void Define(Serializer* s); 36 | inline void Validate() {}; 37 | 38 | CStdString GetClassName(); 39 | ObjectRef NewInstance(); 40 | inline ObjectRef Process() {return ObjectRef();}; 41 | 42 | CStdString m_version; 43 | }; 44 | 45 | void DLL_IMPORT_EXPORT_ORKBASE RegisterOrkaudioVersion(const char *ver); 46 | #endif 47 | 48 | -------------------------------------------------------------------------------- /orkbasecxx/messages/SyncMessage.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #include "SyncMessage.h" 15 | -------------------------------------------------------------------------------- /orkbasecxx/messages/SyncMessage.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #pragma warning( disable: 4786 ) 15 | 16 | #ifndef __SYNCMESSAGE_H__ 17 | #define __SYNCMESSAGE_H__ 18 | 19 | 20 | #include "Message.h" 21 | 22 | /** A SyncMessage is a synchronous message that needs an immediate answer from the remote server. 23 | The response should be an AsyncMessage 24 | */ 25 | class DLL_IMPORT_EXPORT_ORKBASE SyncMessage : public Message 26 | { 27 | public: 28 | }; 29 | 30 | #endif 31 | 32 | -------------------------------------------------------------------------------- /orkbasecxx/messages/TestMsg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #include "Utils.h" 15 | #include "TestMsg.h" 16 | 17 | TestMsg::TestMsg() 18 | { 19 | // Here is where default values are set 20 | m_timestamp = 0; 21 | } 22 | 23 | void TestMsg::Define(Serializer* s) 24 | { 25 | CStdString testMessageName("test"); 26 | s->StringValue("test", testMessageName, true); 27 | s->StringValue(STAGE_PARAM, m_stage, true); 28 | s->StringValue(CAPTURE_PORT_PARAM, m_capturePort, true); 29 | s->IntValue(TIMESTAMP_PARAM, (int&)m_timestamp, true); 30 | s->StringValue(FILENAME_PARAM, m_fileName, true); 31 | 32 | s->StringValue(LOCALPARTY_PARAM, m_localParty); 33 | s->StringValue(LOCALENTRYPOINT_PARAM, m_localEntryPoint); 34 | s->StringValue(REMOTEPARTY_PARAM, m_remoteParty); 35 | s->StringValue(DIRECTION_PARAM, m_direction); 36 | s->CsvValue("csv", m_csv); 37 | s->DateValue("date", m_time); 38 | } 39 | 40 | void TestMsg::Validate() 41 | { 42 | } 43 | 44 | CStdString TestMsg::GetClassName() 45 | { 46 | return CStdString("test"); 47 | } 48 | 49 | ObjectRef TestMsg::NewInstance() 50 | { 51 | return ObjectRef(new TestMsg); 52 | } 53 | 54 | -------------------------------------------------------------------------------- /orkbasecxx/messages/TestMsg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __TESTMSG_H__ 15 | #define __TESTMSG_H__ 16 | 17 | #include 18 | #include "messages/SyncMessage.h" 19 | 20 | #define FILENAME_PARAM "filename" 21 | #define STAGE_PARAM "stage" 22 | #define LOCALPARTY_PARAM "localparty" 23 | #define REMOTEPARTY_PARAM "remoteparty" 24 | #define DIRECTION_PARAM "direction" 25 | #define LOCALENTRYPOINT_PARAM "localentrypoint" 26 | 27 | class DLL_IMPORT_EXPORT_ORKBASE TestMsg : public SyncMessage 28 | { 29 | public: 30 | TestMsg(); 31 | 32 | void Define(Serializer* s); 33 | void Validate(); 34 | 35 | CStdString GetClassName(); 36 | ObjectRef NewInstance(); 37 | inline ObjectRef Process() {return ObjectRef();}; 38 | 39 | CStdString m_stage; 40 | time_t m_timestamp; 41 | CStdString m_fileName; 42 | CStdString m_capturePort; 43 | CStdString m_localParty; 44 | CStdString m_localEntryPoint; 45 | CStdString m_remoteParty; 46 | CStdString m_direction; 47 | CStdString m_loginString; 48 | std::list m_csv; 49 | time_t m_time; 50 | }; 51 | 52 | typedef oreka::shared_ptr TestMsgRef; 53 | 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /orkbasecxx/serializers/Makefile.am: -------------------------------------------------------------------------------- 1 | METASOURCES = AUTO 2 | noinst_LTLIBRARIES = libserializers.la 3 | libserializers_la_SOURCES = DomSerializer.cpp DomSerializer.h Serializer.cpp\ 4 | Serializer.h SingleLineSerializer.cpp SingleLineSerializer.h\ 5 | UrlSerializer.cpp UrlSerializer.h XmlRpcSerializer.cpp\ 6 | XmlRpcSerializer.h 7 | #libserializers_la_LIBADD = -L/projects/ext/xmlrpc++/xmlrpc++0.7/ -lXmlRpc 8 | INCLUDES = -I@top_srcdir@ -I/usr/include/apr-1 -I/usr/include/apr-1.0 9 | 10 | AM_CXXFLAGS = -D_REENTRANT 11 | -------------------------------------------------------------------------------- /orkbasecxx/serializers/SingleLineSerializer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __SINGLELINESERIALIZER_H__ 15 | #define __SINGLELINESERIALIZER_H__ 16 | 17 | #include "messages/Message.h" 18 | #include "serializers/Serializer.h" 19 | 20 | /** Serializer that generates and parses objects to and from a single line of text. 21 | key-value pairs are separated by spaces. 22 | key and values are separated by equal signs. 23 | example: message=doit what=run 24 | */ 25 | class DLL_IMPORT_EXPORT_ORKBASE SingleLineSerializer : public KeyValueSerializer 26 | { 27 | public: 28 | SingleLineSerializer(Object* object) : KeyValueSerializer(object){}; 29 | 30 | void AddString(const char* key, CStdString& value); 31 | CStdString Serialize(); 32 | 33 | void DeSerialize(CStdString& input); 34 | 35 | void EscapeSingleLine(CStdString& in, CStdString& out); 36 | void UnEscapeSingleLine(CStdString& in, CStdString& out); 37 | 38 | static CStdString FindClass(CStdString& input); 39 | private: 40 | CStdString m_output; 41 | }; 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /orkbasecxx/serializers/UrlSerializer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __URLSERIALIZER_H__ 15 | #define __URLSERIALIZER_H__ 16 | 17 | #include "messages/Message.h" 18 | #include "serializers/Serializer.h" 19 | 20 | /** Serializer that generates and parses URLs from and to objects. 21 | key-value pairs are separated by ampersands 22 | keys and values are separated by equal signs 23 | example: message=doit&what=run 24 | */ 25 | class DLL_IMPORT_EXPORT_ORKBASE UrlSerializer : public KeyValueSerializer 26 | { 27 | public: 28 | UrlSerializer(Object* object) : KeyValueSerializer(object){}; 29 | 30 | void AddString(const char* key, CStdString& value); 31 | CStdString Serialize(); 32 | 33 | void DeSerialize(CStdString& input); 34 | 35 | void EscapeUrl(CStdString& in, CStdString& out); 36 | void UnEscapeUrl(CStdString& in, CStdString& out); 37 | 38 | static CStdString FindClass(CStdString& input); 39 | private: 40 | CStdString m_output; 41 | }; 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /orkbasecxx/serializers/XmlRpcSerializer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | /* 15 | #include "XmlRpcSerializer.h" 16 | 17 | #define XMLRPC_METHOD_NAME "exec" 18 | 19 | 20 | void XmlRpcSerializer::AddInt(const char* key, int value) 21 | { 22 | XmlRpcValue pair; 23 | pair[0] = key; 24 | pair[1] = value; 25 | m_array[m_numParams++] = pair; 26 | } 27 | 28 | void XmlRpcSerializer::AddString(const char* key, CStdString& value) 29 | { 30 | XmlRpcValue pair; 31 | pair[0] = key; 32 | pair[1] = (PCSTR)value; 33 | m_array[m_numParams++] = pair; 34 | } 35 | 36 | bool XmlRpcSerializer::Invoke(CStdString& hostname, int tcpPort) 37 | { 38 | m_object->Define(this); 39 | m_hostname = hostname; 40 | m_tcpPort = tcpPort; 41 | m_params[0] = m_array; 42 | XmlRpcClient client(m_hostname, m_tcpPort); 43 | client.execute(XMLRPC_METHOD_NAME, m_params, m_ret); 44 | client.close(); 45 | return m_ret.valid(); 46 | } 47 | */ 48 | -------------------------------------------------------------------------------- /orkbasecxx/serializers/XmlRpcSerializer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | #ifndef __XMLRPCSERIALIZER_H__ 15 | #define __XMLRPCSERIALIZER_H__ 16 | /* 17 | #include "XmlRpc.h" 18 | #include "messages/Message.h" 19 | #include "serializers/Serializer.h" 20 | 21 | using namespace XmlRpc; 22 | */ 23 | /** Serializer that generates and parses XMLRPC parameters from and to objects. 24 | */ 25 | /* 26 | class DLL_IMPORT_EXPORT XmlRpcSerializer : public KeyValueSerializer 27 | { 28 | public: 29 | //XmlRpcSerializer(Message* message, CStdString& hostname, int tcpPort); 30 | XmlRpcSerializer(Object* object) : KeyValueSerializer(object){}; 31 | 32 | void AddInt(const char* key, int value); 33 | void AddString(const char* key, CStdString& value); 34 | 35 | bool Invoke(CStdString& hostname, int tcpPort); 36 | private: 37 | CStdString m_hostname; 38 | int m_tcpPort; 39 | XmlRpcValue m_params; 40 | XmlRpcValue m_array; 41 | XmlRpcValue m_ret; 42 | }; 43 | */ 44 | #endif 45 | 46 | -------------------------------------------------------------------------------- /orkbasecxx/shared_ptr.h: -------------------------------------------------------------------------------- 1 | #ifdef SUPPORTS_CPP11 2 | 3 | #include 4 | 5 | namespace oreka { 6 | using std::shared_ptr; 7 | using std::make_shared; 8 | using std::weak_ptr; 9 | }; 10 | 11 | #else 12 | 13 | #include 14 | #include 15 | #include 16 | namespace oreka { 17 | using boost::shared_ptr; 18 | using boost::make_shared; 19 | using boost::weak_ptr; 20 | }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /orkbasej/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /target/ 3 | .settings 4 | *.iml -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/Cycle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka; 15 | 16 | public enum Cycle {PERMANENT, HOURLY, DAILY, WEEKLY, MONTHLY, UNKN} 17 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/Day.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka; 15 | 16 | public enum Day {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, UNKN} 17 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/Direction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka; 15 | 16 | public enum Direction {IN, OUT, ALL, UNKN} 17 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/OrkBase.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka; 2 | 3 | 4 | 5 | public class OrkBase { 6 | 7 | private static OrkBase orkBase = null; 8 | 9 | private boolean debugSwitch = false; 10 | 11 | public boolean isDebugSwitch() { 12 | return debugSwitch; 13 | } 14 | 15 | 16 | public void setDebugSwitch(boolean debugSwitch) { 17 | this.debugSwitch = debugSwitch; 18 | } 19 | 20 | 21 | private OrkBase() { 22 | } 23 | 24 | public static OrkBase instance() { 25 | if(orkBase == null) { 26 | orkBase = new OrkBase(); 27 | } 28 | return orkBase; 29 | } 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/OrkException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka; 15 | 16 | public class OrkException extends Exception { 17 | 18 | static final long serialVersionUID = 1l; 19 | 20 | public OrkException(String message) 21 | { 22 | super(message); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/OrkObject.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka; 15 | 16 | import net.sf.oreka.serializers.*; 17 | 18 | public interface OrkObject { 19 | 20 | public String getOrkClassName(); 21 | public void define(OrkSerializer serializer) throws OrkException; 22 | public void validate(); 23 | } 24 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/ServiceClass.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka; 15 | 16 | public enum ServiceClass {UNKN, AUDIO, CTI} 17 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/bo/UserBo.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.bo; 2 | 3 | import java.io.Serializable; 4 | 5 | import net.sf.oreka.persistent.OrkUser; 6 | 7 | import org.apache.log4j.Logger; 8 | 9 | public class UserBo implements Serializable { 10 | 11 | static final long serialVersionUID = 1l; 12 | static Logger logger = Logger.getLogger(UserBo.class); 13 | private OrkUser user = new OrkUser(); 14 | 15 | private boolean selected = false; 16 | 17 | public boolean isSelected() { 18 | return selected; 19 | } 20 | 21 | 22 | public void setSelected(boolean selected) { 23 | this.selected = selected; 24 | } 25 | 26 | 27 | public boolean isAdmin() { 28 | 29 | //logger.debug("isAdmin:" + user.getId()); 30 | 31 | // Should look for admin role 32 | if(user.getId() == 1) { 33 | return true; 34 | } 35 | return false; 36 | } 37 | 38 | public OrkUser getUser() { 39 | return user; 40 | } 41 | 42 | public void setUser(OrkUser user) { 43 | this.user = user; 44 | } 45 | 46 | // public String getLoginStringsCsv() { 47 | // 48 | // String loginStringsCsv = ""; 49 | // Iterator it = user.getLoginStrings().iterator(); 50 | // if(it.hasNext()) { 51 | // loginStringsCsv = ((LoginString)it.next()).getLoginString(); 52 | // } 53 | // while(it.hasNext()) { 54 | // loginStringsCsv += ", " + ((LoginString)it.next()).getLoginString(); 55 | // } 56 | // return loginStringsCsv; 57 | // } 58 | 59 | public void setLoginStringsCsv() { 60 | 61 | 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/messages/AsyncMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.messages; 15 | 16 | public abstract class AsyncMessage extends Message { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/messages/Message.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.messages; 15 | 16 | import net.sf.oreka.*; 17 | import net.sf.oreka.serializers.OrkSerializer; 18 | 19 | public abstract class Message implements OrkObject { 20 | 21 | String hostname = ""; 22 | 23 | public void defineMessage(OrkSerializer serializer) throws OrkException { 24 | 25 | hostname = serializer.stringValue("hostname", hostname, false); 26 | } 27 | 28 | public String getHostname() { 29 | return hostname; 30 | } 31 | 32 | 33 | public void setHostname(String hostname) { 34 | this.hostname = hostname; 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/messages/SimpleResponseMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.messages; 15 | 16 | import net.sf.oreka.OrkException; 17 | import net.sf.oreka.serializers.OrkSerializer; 18 | 19 | public class SimpleResponseMessage extends AsyncMessage { 20 | 21 | boolean success = false; 22 | String comment = ""; 23 | 24 | public void define(OrkSerializer serializer) throws OrkException { 25 | success = serializer.booleanValue("success", success, true); 26 | comment = serializer.stringValue("comment", comment, false); 27 | } 28 | 29 | public String getOrkClassName() { 30 | return "simpleresponse"; 31 | } 32 | 33 | public void validate() { 34 | // TODO Auto-generated method stub 35 | 36 | } 37 | 38 | public String getComment() { 39 | return comment; 40 | } 41 | 42 | public void setComment(String comment) { 43 | this.comment = comment; 44 | } 45 | 46 | public boolean isSuccess() { 47 | return success; 48 | } 49 | 50 | public void setSuccess(boolean success) { 51 | this.success = success; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/messages/SyncMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.messages; 15 | 16 | public abstract class SyncMessage extends Message { 17 | 18 | public abstract AsyncMessage process(); 19 | } 20 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/messages/test/TestSubMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.messages.test; 15 | 16 | import net.sf.oreka.OrkException; 17 | import net.sf.oreka.OrkObject; 18 | import net.sf.oreka.serializers.OrkSerializer; 19 | 20 | public class TestSubMessage implements OrkObject { 21 | 22 | String stringSubParm = ""; 23 | int intSubParm = 0; 24 | 25 | public void define(OrkSerializer serializer) throws OrkException { 26 | 27 | stringSubParm = serializer.stringValue("stringsubparm",stringSubParm,false); 28 | intSubParm = serializer.intValue("intsubparm", intSubParm, false); 29 | } 30 | 31 | public String getOrkClassName() { 32 | 33 | return "testsub"; 34 | } 35 | 36 | public void validate() { 37 | // TODO Auto-generated method stub 38 | 39 | } 40 | 41 | public int getIntSubParm() { 42 | return intSubParm; 43 | } 44 | 45 | public void setIntSubParm(int intSubParm) { 46 | this.intSubParm = intSubParm; 47 | } 48 | 49 | public String getStringSubParm() { 50 | return stringSubParm; 51 | } 52 | 53 | public void setStringSubParm(String stringSubParm) { 54 | this.stringSubParm = stringSubParm; 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/persistent/HbnXmlTestClass.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.persistent; 15 | 16 | /** 17 | * @hibernate.class 18 | */ 19 | public class HbnXmlTestClass { 20 | 21 | long Id; 22 | String firstname = ""; 23 | String lastname = ""; 24 | 25 | /** 26 | * @hibernate.property 27 | * not-null="true" 28 | * @return Returns the filename. 29 | */ 30 | public String getFirstname() { 31 | return firstname; 32 | } 33 | 34 | public void setFirstname(String firstname) { 35 | this.firstname = firstname; 36 | } 37 | 38 | /** 39 | * @hibernate.property 40 | * not-null="true" 41 | * @return Returns the filename. 42 | */ 43 | public String getLastname() { 44 | return lastname; 45 | } 46 | 47 | public void setLastname(String lastname) { 48 | this.lastname = lastname; 49 | } 50 | 51 | /** 52 | * @hibernate.id 53 | * generator-class="native" 54 | */ 55 | public long getId() { 56 | return Id; 57 | } 58 | 59 | public void setId(long id) { 60 | Id = id; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/persistent/OrkPort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.persistent; 15 | 16 | import java.io.Serializable; 17 | 18 | import javax.persistence.Entity; 19 | import javax.persistence.GenerationType; 20 | import javax.persistence.GeneratedValue; 21 | import javax.persistence.Id; 22 | import javax.persistence.Table; 23 | 24 | @Entity 25 | @Table(name = "orkport") 26 | public class OrkPort implements Serializable { 27 | 28 | static final long serialVersionUID = 1l; 29 | private int id; 30 | 31 | @Id @GeneratedValue(strategy=GenerationType.IDENTITY) 32 | public int getId() { 33 | return id; 34 | } 35 | 36 | public void setId(int id) { 37 | this.id = id; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/persistent/OrkPortFace.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.persistent; 15 | 16 | import java.io.Serializable; 17 | 18 | import javax.persistence.Entity; 19 | import javax.persistence.Id; 20 | import javax.persistence.ManyToOne; 21 | import javax.persistence.Table; 22 | 23 | @Entity 24 | @Table(name = "orkportface") 25 | public class OrkPortFace implements Serializable { 26 | 27 | static final long serialVersionUID = 1l; 28 | private OrkPort port; 29 | private OrkService service; 30 | private String name; 31 | 32 | @Id 33 | public String getName() { 34 | return name; 35 | } 36 | public void setName(String name) { 37 | this.name = name; 38 | } 39 | @ManyToOne 40 | public OrkPort getPort() { 41 | return port; 42 | } 43 | public void setPort(OrkPort recPort) { 44 | this.port = recPort; 45 | } 46 | @ManyToOne 47 | public OrkService getService() { 48 | return service; 49 | } 50 | public void setService(OrkService service) { 51 | this.service = service; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/serializers/KeyValueSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.serializers; 15 | 16 | import java.util.HashMap; 17 | 18 | import net.sf.oreka.*; 19 | 20 | public abstract class KeyValueSerializer extends OrkSerializer 21 | { 22 | HashMap map; 23 | 24 | KeyValueSerializer() 25 | { 26 | map = new HashMap(); 27 | } 28 | 29 | String getString(String key, String oldValue, boolean required) throws OrkException 30 | { 31 | String value = map.get(key.toLowerCase()); 32 | if (value == null) 33 | { 34 | if (required == true) 35 | { 36 | throw (new OrkException("Serializer.GetString: required parameter missing:" + key)); 37 | } 38 | value = oldValue; 39 | } 40 | return value; 41 | } 42 | 43 | public OrkObject objectValue(String key, OrkObject value, boolean required) throws OrkException 44 | { 45 | throw (new OrkException("KeyValueSerializer.objectValue: Nested objects not allowed for key-value serializers")); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/serializers/test/TestMessageSimple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 546 4 | 5 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/serializers/test/TestNestedMessage.xml: -------------------------------------------------------------------------------- 1 | 2 | 546 3 | 4 | hello 5 | 6 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/srvc/ObjectService.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.srvc; 2 | 3 | public interface ObjectService { 4 | 5 | public void saveObject(Object obj); 6 | public Object getObjectById(java.lang.Class cl, int id); 7 | public int getNumObjects(java.lang.Class cl); 8 | } 9 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/srvc/UserFilter.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.srvc; 2 | 3 | public class UserFilter { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/srvc/UserService.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.srvc; 2 | 3 | import java.util.List; 4 | 5 | import net.sf.oreka.bo.UserBo; 6 | import net.sf.oreka.persistent.OrkUser; 7 | 8 | public interface UserService { 9 | 10 | public UserBo login(String username, String password); 11 | public boolean changePassword(int userId, String oldPassword, String newPassword); 12 | 13 | public int getUsers(UserFilter filter, int offset, int number, String orderBy, boolean ascending, List results); 14 | 15 | public void deleteUser(int userId); 16 | public void disableUser(int userId); 17 | 18 | public String getUserLoginStrings(int userId); 19 | public void setUserLoginStrings(int userId, String loginStringsCsv); 20 | 21 | public OrkUser getUserByLoginString(String loginString); 22 | 23 | public int getNumNonDisabledUsers(); 24 | } 25 | -------------------------------------------------------------------------------- /orkbasej/src/main/java/net/sf/oreka/test/FillDatabaseProgram.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.test; 2 | 3 | import java.util.List; 4 | 5 | import net.sf.oreka.HibernateManager; 6 | import net.sf.oreka.persistent.OrkProgram; 7 | 8 | import org.hibernate.Criteria; 9 | import org.hibernate.Session; 10 | import org.hibernate.Transaction; 11 | 12 | public class FillDatabaseProgram { 13 | 14 | static HibernateManager hibernateManager = HibernateManager.instance(); 15 | 16 | public static void main(String args[]) throws Exception 17 | { 18 | hibernateManager.configure("c:/oreka/test/mysql.hbm.xml"); 19 | 20 | Session hbnSession = hibernateManager.getSession(); 21 | Transaction tx = hbnSession.beginTransaction(); 22 | 23 | OrkProgram prg = new OrkProgram(); 24 | prg.setDescription("my program 1"); 25 | prg.setName("myprog1"); 26 | hbnSession.save(prg); 27 | 28 | prg = new OrkProgram(); 29 | prg.setDescription("my program 2"); 30 | prg.setName("myprog2"); 31 | hbnSession.save(prg); 32 | 33 | tx.commit(); 34 | 35 | List recPrograms; 36 | Criteria crit = hbnSession.createCriteria(OrkProgram.class); 37 | //crit.add( Expression.eq( "color", eg.Color.BLACK ) ); 38 | //crit.setMaxResults(10); 39 | recPrograms = crit.list(); 40 | 41 | 42 | hbnSession.close(); 43 | 44 | System.out.println("Done"); 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /orkbasej/src/resources/database-example.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.hibernate.dialect.MySQLInnoDBDialect 8 | 100 9 | com.mysql.jdbc.Driver 10 | jdbc:mysql://localhost/test 11 | password 12 | root 13 | 14 | update 15 | false 16 | 17 | true 18 | 1 19 | org.hibernate.cache.HashtableCacheProvider 20 | 21 | -------------------------------------------------------------------------------- /orkbasej/src/resources/database.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.hibernate.dialect.MySQL55Dialect 8 | 256 9 | com.mysql.cj.jdbc.Driver 10 | jdbc:mysql://localhost/oreka?useSSL=false 11 | password 12 | root 13 | 14 | update 15 | false 16 | 17 | true 18 | 1 19 | org.hibernate.cache.HashtableCacheProvider 20 | 21 | 22 | -------------------------------------------------------------------------------- /orkbasej/src/resources/hsqldb.hbm.template.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | true 8 | create-drop 9 | org.hibernate.cache.HashtableCacheProvider 10 | true 11 | org.hibernate.dialect.HSQLDialect 12 | jdbc:hsqldb:mem:test 13 | 14 | sa 15 | org.hsqldb.jdbcDriver 16 | 17 | 18 | -------------------------------------------------------------------------------- /orkbasej/src/resources/proxool-template.properties: -------------------------------------------------------------------------------- 1 | # copy this to proxool.properties and change to suit your needs 2 | jdbc-0.proxool.alias=ork-pool 3 | jdbc-0.proxool.driver-url=jdbc:mysql://localhost/test 4 | jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver 5 | jdbc-0.user=root 6 | jdbc-0.password=password 7 | jdbc-0.proxool.maximum-connection-count=10 8 | jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE -------------------------------------------------------------------------------- /orktrack/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | .settings 3 | classes/ 4 | *.iml -------------------------------------------------------------------------------- /orktrack/orktrack.config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orktrack/orktrack.config.xml -------------------------------------------------------------------------------- /orktrack/src/main/java/net/sf/oreka/orktrack/Constants.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.orktrack; 2 | 3 | public class Constants { 4 | public static final String APP_NAME = "OrkTrack"; 5 | public static final String DEFAULT_REGISTRY_NAME = "metrics-registry"; 6 | 7 | 8 | } 9 | -------------------------------------------------------------------------------- /orktrack/src/main/java/net/sf/oreka/orktrack/OrkTrackConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.orktrack; 15 | 16 | import lombok.Getter; 17 | import lombok.Setter; 18 | import net.sf.oreka.OrkException; 19 | import net.sf.oreka.OrkObject; 20 | import net.sf.oreka.serializers.OrkSerializer; 21 | 22 | @Getter 23 | @Setter 24 | public class OrkTrackConfig implements OrkObject { 25 | 26 | boolean ctiDriven = false; 27 | 28 | public void define(OrkSerializer serializer) throws OrkException { 29 | 30 | ctiDriven = serializer.booleanValue("ctidriven", ctiDriven, true); 31 | } 32 | 33 | public String getOrkClassName() { 34 | return "orktrackconfig"; 35 | } 36 | 37 | public void validate() { 38 | 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /orktrack/src/main/java/net/sf/oreka/orktrack/messages/ConfigureLogMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.orktrack.messages; 15 | 16 | import net.sf.oreka.OrkException; 17 | import net.sf.oreka.messages.AsyncMessage; 18 | import net.sf.oreka.messages.SimpleResponseMessage; 19 | import net.sf.oreka.messages.SyncMessage; 20 | import net.sf.oreka.orktrack.LogManager; 21 | import net.sf.oreka.serializers.OrkSerializer; 22 | 23 | public class ConfigureLogMessage extends SyncMessage { 24 | 25 | @Override 26 | public AsyncMessage process() { 27 | 28 | SimpleResponseMessage response = new SimpleResponseMessage(); 29 | try { 30 | LogManager.getInstance().configure(); 31 | response.setSuccess(true); 32 | } 33 | catch (OrkException e) { 34 | response.setSuccess(false); 35 | response.setComment(e.getMessage()); 36 | } 37 | return response; 38 | } 39 | 40 | public void define(OrkSerializer serializer) throws OrkException { 41 | 42 | } 43 | 44 | public String getOrkClassName() { 45 | return "configurelog"; 46 | } 47 | 48 | public void validate() { 49 | // TODO Auto-generated method stub 50 | 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /orktrack/src/main/java/net/sf/oreka/orktrack/messages/InitMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2017, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.orktrack.messages; 15 | 16 | import net.sf.oreka.OrkException; 17 | import net.sf.oreka.messages.AsyncMessage; 18 | import net.sf.oreka.messages.SimpleResponseMessage; 19 | import net.sf.oreka.messages.SyncMessage; 20 | import net.sf.oreka.serializers.OrkSerializer; 21 | 22 | public class InitMessage extends SyncMessage { 23 | 24 | public String getOrkClassName() { 25 | return "init"; 26 | } 27 | 28 | public void define(OrkSerializer serializer) throws OrkException { 29 | } 30 | 31 | public void validate() { 32 | } 33 | 34 | @Override 35 | public AsyncMessage process() { 36 | SimpleResponseMessage response = new SimpleResponseMessage(); 37 | response.setSuccess(true); 38 | return response; 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /orktrack/src/main/java/net/sf/oreka/orktrack/messages/PingMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.orktrack.messages; 15 | 16 | import com.codahale.metrics.annotation.Timed; 17 | import io.astefanutti.metrics.aspectj.Metrics; 18 | import net.sf.oreka.OrkException; 19 | import net.sf.oreka.messages.AsyncMessage; 20 | import net.sf.oreka.messages.SimpleResponseMessage; 21 | import net.sf.oreka.messages.SyncMessage; 22 | import net.sf.oreka.serializers.OrkSerializer; 23 | 24 | @Metrics(registry = "appMetrics") 25 | public class PingMessage extends SyncMessage { 26 | 27 | @Override 28 | @Timed(name = "process") 29 | public AsyncMessage process() { 30 | SimpleResponseMessage response = new SimpleResponseMessage(); 31 | response.setSuccess(true); 32 | response.setComment("pong"); 33 | return response; 34 | } 35 | 36 | public void define(OrkSerializer serializer) throws OrkException { 37 | 38 | } 39 | 40 | public String getOrkClassName() { 41 | return "ping"; 42 | } 43 | 44 | public void validate() { 45 | // TODO Auto-generated method stub 46 | 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /orktrack/src/main/java/net/sf/oreka/orktrack/messages/TapeResponse.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.orktrack.messages; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import net.sf.oreka.OrkException; 6 | import net.sf.oreka.messages.SimpleResponseMessage; 7 | import net.sf.oreka.serializers.OrkSerializer; 8 | 9 | @Getter 10 | @Setter 11 | public class TapeResponse extends SimpleResponseMessage { 12 | 13 | private boolean deleteTape = false; 14 | 15 | public void define(OrkSerializer serializer) throws OrkException { 16 | super.define(serializer); 17 | deleteTape = serializer.booleanValue("deletetape", deleteTape, false); 18 | } 19 | 20 | public String getOrkClassName() { 21 | 22 | return "taperesponse"; 23 | } 24 | 25 | public void validate() { 26 | // TODO Auto-generated method stub 27 | 28 | } 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /orktrack/src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /orktrack/version_template.txt: -------------------------------------------------------------------------------- 1 | About OrkTrack 2 | ______________ 3 | 4 | Version : $WCRANGE$ 5 | Build date: $WCNOW$ -------------------------------------------------------------------------------- /orkweb/context/WEB-INF/Account.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /orkweb/context/WEB-INF/Home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 43 | 44 |
Here goes the main menu
12 |
13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
 
19 | Please login 20 |
24 | 25 | Error Message 26 | 27 |
Username
Password
41 |
42 |
45 | 46 | -------------------------------------------------------------------------------- /orkweb/context/WEB-INF/Home.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /orkweb/context/WEB-INF/RecSegments.properties: -------------------------------------------------------------------------------- 1 | 2 | Duration=Duration 3 | LocalParty=Local Party 4 | RemoteParty=Remote Party 5 | 6 | seg.timestamp=Time 7 | seg.direction=Direction 8 | seg.duration=Duration 9 | seg.localParty=Local Party 10 | seg.remoteParty=Remote Party 11 | tape.id=Tape Id 12 | 13 | firstPage=<< 14 | lastPage=>> 15 | previousPage=< 16 | nextPage=> 17 | 18 | NoResults=There were no results -------------------------------------------------------------------------------- /orkweb/context/WEB-INF/TestComponent.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 |
4 | * 5 | 6 | goHome 7 | 8 |
-------------------------------------------------------------------------------- /orkweb/context/WEB-INF/hivemodule.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /orkweb/context/WEB-INF/orkweb.application: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /orkweb/context/images/bg_container.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/bg_container.gif -------------------------------------------------------------------------------- /orkweb/context/images/bg_container.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/bg_container.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/bdr0_results.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bdr0_results.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bdr1_results.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bdr1_results.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bdr2_results.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bdr2_results.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bdr3_results.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bdr3_results.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bdr4_results.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bdr4_results.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bdr5_results.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bdr5_results.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bdr6_results.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bdr6_results.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_btn_off.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_btn_off.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_btn_off.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_btn_off.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_btn_on.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_btn_on.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_btn_on.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_btn_on.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_criterias.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_criterias.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_hdr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_hdr.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_header_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_header_03.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_header_04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_header_04.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_header_06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_header_06.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_page.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_page.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/bg_results.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/bg_results.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/btn_search_off.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/btn_search_off.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/calls_btn_off.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/calls_btn_off.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/home_btn_off.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/home_btn_off.jpg -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_calendar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_calendar.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_calendar_over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_calendar_over.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_cursor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_cursor.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_cursor_over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_cursor_over.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_incomingcall.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_incomingcall.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_outgoingcall.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_outgoingcall.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_pagefirst.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_pagefirst.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_pagefirst_over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_pagefirst_over.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_pagelast.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_pagelast.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_pagelast_over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_pagelast_over.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_pagenext.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_pagenext.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_pagenext_over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_pagenext_over.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_pageprev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_pageprev.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_pageprev_over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_pageprev_over.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_play.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_play.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/icon_play_over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/icon_play_over.gif -------------------------------------------------------------------------------- /orkweb/context/images/common/logo-ORECX_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/common/logo-ORECX_03.jpg -------------------------------------------------------------------------------- /orkweb/context/images/icon_calendar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/icon_calendar.gif -------------------------------------------------------------------------------- /orkweb/context/images/icon_in.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/icon_in.gif -------------------------------------------------------------------------------- /orkweb/context/images/icon_out.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/icon_out.gif -------------------------------------------------------------------------------- /orkweb/context/images/icon_pagefirst.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/icon_pagefirst.gif -------------------------------------------------------------------------------- /orkweb/context/images/icon_pagelast.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/icon_pagelast.gif -------------------------------------------------------------------------------- /orkweb/context/images/icon_pagenext.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/icon_pagenext.gif -------------------------------------------------------------------------------- /orkweb/context/images/icon_pageprev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/icon_pageprev.gif -------------------------------------------------------------------------------- /orkweb/context/images/icon_play.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/icon_play.gif -------------------------------------------------------------------------------- /orkweb/context/images/logofpo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/logofpo.gif -------------------------------------------------------------------------------- /orkweb/context/images/menuback1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/orkweb/context/images/menuback1.gif -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/orkweb/OrkWeb.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.orkweb; 2 | 3 | import net.sf.oreka.HibernateManager; 4 | 5 | public class OrkWeb { 6 | 7 | public static HibernateManager hibernateManager = HibernateManager.instance(); 8 | } 9 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/pages/AccountPage.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.pages; 2 | 3 | import net.sf.oreka.services.UserServiceHbn; 4 | 5 | import org.apache.tapestry.IRequestCycle; 6 | import org.apache.tapestry.annotations.Persist; 7 | 8 | public abstract class AccountPage extends ProtectedPage { 9 | 10 | static UserServiceHbn srv = new UserServiceHbn(); 11 | 12 | public abstract String getNewPassword1(); 13 | public abstract void setNewPassword1(String password); 14 | 15 | public abstract String getNewPassword2(); 16 | public abstract void setNewPassword2(String password); 17 | 18 | public abstract String getPassword(); 19 | public abstract void setPassword(String password); 20 | 21 | @Persist 22 | public abstract String getErrorMessage(); 23 | public abstract void setErrorMessage(String msg); 24 | 25 | public void formSubmit(IRequestCycle cycle) { 26 | 27 | setErrorMessage("Password Incorrect, please try again"); 28 | 29 | if(getNewPassword1().equals(getNewPassword2())) { 30 | if (srv.changePassword(getSessionStateObject().getUser().getId(), getPassword(), getNewPassword1())) { 31 | setErrorMessage(null); 32 | cycle.activate("RecSegments"); 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/pages/OrkPage.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.pages; 2 | 3 | import org.apache.tapestry.IAsset; 4 | import org.apache.tapestry.annotations.Asset; 5 | import org.apache.tapestry.annotations.InjectState; 6 | import org.apache.tapestry.html.BasePage; 7 | 8 | public abstract class OrkPage extends BasePage 9 | { 10 | @InjectState("session-state-object") 11 | public abstract SessionStateObject getSessionStateObject(); 12 | 13 | @Asset("css/orekastyle.css") 14 | public abstract IAsset getGlobalStylesheet(); 15 | } 16 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/pages/ProtectedPage.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.pages; 2 | 3 | import org.apache.tapestry.PageRedirectException; 4 | import org.apache.tapestry.event.PageEvent; 5 | import org.apache.tapestry.event.PageValidateListener; 6 | 7 | 8 | public abstract class ProtectedPage extends OrkPage implements PageValidateListener 9 | { 10 | public void pageValidate(PageEvent event) 11 | { 12 | if(getSessionStateObject().isUserLoggedIn()) { 13 | return; // Ok, all fine 14 | } 15 | // Need to authenticate user 16 | HomePage home = (HomePage) getRequestCycle().getPage("Home"); 17 | throw new PageRedirectException(home); 18 | 19 | // #### See if we can set a callback here 20 | } 21 | } -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/pages/SessionStateObject.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.pages; 2 | 3 | import net.sf.oreka.persistent.OrkUser; 4 | 5 | public class SessionStateObject { 6 | 7 | private OrkUser user = null; 8 | 9 | public boolean isUserLoggedIn() { 10 | if(user == null) { 11 | return false; 12 | } 13 | return true; 14 | } 15 | 16 | public OrkUser getUser() { 17 | return user; 18 | } 19 | 20 | 21 | public void setUser(OrkUser user) { 22 | this.user = user; 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/services/FormFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | /** 15 | * 16 | */ 17 | package net.sf.oreka.services; 18 | 19 | public abstract class FormFilter { 20 | 21 | boolean isValid = true; 22 | 23 | /** 24 | * @return Returns the isValid. 25 | */ 26 | public boolean isValid() { 27 | return isValid; 28 | } 29 | 30 | 31 | /** 32 | * @param isValid The isValid to set. 33 | */ 34 | public void setValid(boolean isValid) { 35 | this.isValid = isValid; 36 | } 37 | 38 | 39 | } 40 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/services/RecSegmentFilter.properties: -------------------------------------------------------------------------------- 1 | duration=0 2 | localParty=8948 -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/services/RecSegmentService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | /** 15 | * 16 | */ 17 | package net.sf.oreka.services; 18 | 19 | import java.util.*; 20 | 21 | 22 | public interface RecSegmentService { 23 | 24 | public int getResults(RecSegmentFilter filter, int offset, int number, String orderBy, boolean ascending, List results); 25 | } 26 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/services/UserService.java: -------------------------------------------------------------------------------- 1 | package net.sf.oreka.services; 2 | 3 | import net.sf.oreka.persistent.OrkUser; 4 | 5 | public interface UserService { 6 | 7 | public OrkUser login(String username, String password); 8 | public boolean changePassword(int userId, String oldPassword, String newPassword); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/MainMenu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 22 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/MainMenu.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.tapestry; 15 | 16 | import org.apache.tapestry.BaseComponent; 17 | import org.apache.tapestry.IRequestCycle; 18 | import org.apache.tapestry.annotations.ComponentClass; 19 | import org.apache.tapestry.annotations.Parameter; 20 | import org.apache.tapestry.annotations.Persist; 21 | 22 | @ComponentClass 23 | public abstract class MainMenu extends BaseComponent { 24 | 25 | public void myAction(IRequestCycle cycle) { 26 | 27 | setHighlight(!getHighlight()); 28 | cycle.activate("Home"); 29 | } 30 | 31 | @Persist 32 | public abstract boolean getHighlight(); 33 | public abstract void setHighlight(boolean highlight); 34 | 35 | @Parameter 36 | public abstract String getPageName(); 37 | public abstract void setPageName(String name); 38 | 39 | } 40 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/MainMenu.jwc: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/MainMenu.properties: -------------------------------------------------------------------------------- 1 | RecSegments=Browse 2 | Home=Welcome 3 | Account=Account -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/TableColumn.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | /** 15 | * 16 | */ 17 | package net.sf.oreka.tapestry; 18 | 19 | public class TableColumn { 20 | 21 | String message; 22 | String key; 23 | boolean sortable; 24 | /** 25 | * @return Returns the isSortable. 26 | */ 27 | public boolean isSortable() { 28 | return sortable; 29 | } 30 | 31 | 32 | /** 33 | * @param isSortable The isSortable to set. 34 | */ 35 | public void setSortable(boolean sortable) { 36 | this.sortable = sortable; 37 | } 38 | 39 | 40 | /** 41 | * @return Returns the key. 42 | */ 43 | public String getKey() { 44 | return key; 45 | } 46 | 47 | /** 48 | * @param key The key to set. 49 | */ 50 | public void setKey(String key) { 51 | this.key = key; 52 | } 53 | 54 | /** 55 | * @return Returns the message. 56 | */ 57 | public String getMessage() { 58 | return message; 59 | } 60 | 61 | /** 62 | * @param message The message to set. 63 | */ 64 | public void setMessage(String message) { 65 | this.message = message; 66 | } 67 | 68 | } 69 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/TableHeader.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | sortableColumn 6 | 7 | 8 | 9 | nonSortableColumn 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/TableHeader.jwc: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/TablePaging.jwc: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/TablePaging.properties: -------------------------------------------------------------------------------- 1 | nextPage=> 2 | previousPage=< 3 | lastPage=>> 4 | firstPage=<< 5 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tapestry/my.library: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | Project specific components 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /orkweb/src/net/sf/oreka/tcomponents/TestComponent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Oreka -- A media capture and retrieval platform 3 | * 4 | * Copyright (C) 2005, orecx LLC 5 | * 6 | * http://www.orecx.com 7 | * 8 | * This program is free software, distributed under the terms of 9 | * the GNU General Public License. 10 | * Please refer to http://www.gnu.org/copyleft/gpl.html 11 | * 12 | */ 13 | 14 | package net.sf.oreka.tcomponents; 15 | 16 | import org.apache.tapestry.BaseComponent; 17 | import org.apache.tapestry.IRequestCycle; 18 | import org.apache.tapestry.annotations.ComponentClass; 19 | import org.apache.tapestry.annotations.Persist; 20 | 21 | @ComponentClass 22 | public abstract class TestComponent extends BaseComponent { 23 | 24 | public void myAction(IRequestCycle cycle) { 25 | 26 | setHighlight(!getHighlight()); 27 | cycle.activate("Home"); 28 | } 29 | 30 | @Persist 31 | public abstract boolean getHighlight(); 32 | public abstract void setHighlight(boolean highlight); 33 | } 34 | -------------------------------------------------------------------------------- /orkweb/version_template.txt: -------------------------------------------------------------------------------- 1 | About OrkWeb 2 | ____________ 3 | 4 | Version : $WCRANGE$ 5 | Build date: $WCNOW$ -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | net.sf.oreka 8 | orekaj-parent 9 | 0.0.2-SNAPSHOT 10 | pom 11 | 12 | 13 | 14 | maven-central 15 | https://repo1.maven.org/maven2/ 16 | 17 | 18 | apache-maven 19 | https://repo.maven.apache.org/maven2/ 20 | 21 | 22 | 23 | 24 | orkbasej 25 | orktrack 26 | orkweb 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /website-upload.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rsync --exclude=.svn --archive --progress --links --hard-links website/ henrih@web.sourceforge.net:/home/project-web/oreka/htdocs 3 | -------------------------------------------------------------------------------- /website/.htaccess: -------------------------------------------------------------------------------- 1 | Options Includes MultiViews 2 | -------------------------------------------------------------------------------- /website/404.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |

14 |

Oreka home page or the site map.')?>

15 | 16 | 19 | -------------------------------------------------------------------------------- /website/Makefile: -------------------------------------------------------------------------------- 1 | POT_FILE=locale/audacity_website.pot 2 | PO_FILES_ORIG := $(wildcard locale/*.po) 3 | PO_FILES := $(PO_FILES_ORIG:%.po=%/LC_MESSAGES/audacity_website.po) 4 | MO_FILES := $(PO_FILES:%.po=%.mo) 5 | 6 | all: $(MO_FILES) 7 | 8 | clean: 9 | rm -f $(MO_FILES) $(PO_FILES) $(POT_FILE) 10 | rm -f $(PO_FILES:%=%~) 11 | 12 | # Build the POT file (message catalog template). 13 | SOURCES := $(wildcard *.php */*.php) 14 | XGETTEXT=xgettext 15 | XGETTEXT_ARGS=-L php --add-comments="i18n-hint" --from-code="UTF-8" 16 | 17 | $(POT_FILE): $(SOURCES) 18 | find . -name '*.php' ! -path './old/*' \ 19 | | xargs $(XGETTEXT) $(XGETTEXT_ARGS) -o $@ 20 | chmod go+r $@ 21 | 22 | # Update the PO files (translated message catalogs). 23 | MSGMERGE=msgmerge 24 | MSGMERGE_ARGS=-U --backup=none 25 | 26 | %/LC_MESSAGES/audacity_website.po: %.po $(POT_FILE) 27 | mkdir -p $(@:%/audacity_website.po=%) 28 | cp -f $< $@ 29 | $(MSGMERGE) $(MSGMERGE_ARGS) $@ $(POT_FILE) 30 | touch $@ 31 | 32 | # Compile the PO files into MO files. 33 | MSGFMT=msgfmt 34 | MSGFMT_ARGS=-fv 35 | 36 | %.mo: %.po 37 | $(MSGFMT) $(MSGFMT_ARGS) -o $@ $< 38 | 39 | .PHONY: clean all 40 | -------------------------------------------------------------------------------- /website/about/credits.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |

15 |

16 |

17 |

C++ libraries

18 | 27 | 28 |

Java libraries

29 | 35 | 38 | -------------------------------------------------------------------------------- /website/about/license.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |

14 |

Copyright (C) 2005, orecx LLC 15 | http://www.orecx.com

16 | Oreka 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.

27 | 28 |

See also: Frequently Asked Questions about the GNU GPL.

'); 29 | 30 | ?> 31 | 32 | 33 | 34 | 37 | -------------------------------------------------------------------------------- /website/about/links.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |

14 | 15 |

Related projects

16 |
    17 |
  • voipong is a linux only RTP session capture software.
  • 18 |
  • vomit is a tool for extracting Cisco VoIP audio from a network dump.
  • 19 |
20 | 21 |

22 |
    23 |
  • 24 |
  • 25 |
26 | 27 |

Open source libraries

28 |

Oreka is build upon various open source libraries. Please refer to the credits page

29 | 32 | -------------------------------------------------------------------------------- /website/about/main.inc.php: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /website/about/news.php: -------------------------------------------------------------------------------- 1 | title; 16 | include "../include/header.inc.php"; 17 | 18 | $dateStr = $news_item->dateStr(); 19 | echo "

$dateStr: $pageTitle

"; 20 | echo $news_item->body; 21 | echo '

'._("More news items...").'

'; 22 | } 23 | else { 24 | // List news items in reverse chronological order. 25 | $pageTitle = _("News"); 26 | include "../include/header.inc.php"; 27 | 28 | echo "

$pageTitle

"; 29 | echo "
    "; 30 | foreach ($news_items as $key => $news_item) { 31 | echo '
  • '.$news_item->dateStr().": ".$news_item->title.'
  • '; 32 | } 33 | echo "
"; 34 | } 35 | 36 | include "../include/footer.inc.php"; 37 | ?> 38 | -------------------------------------------------------------------------------- /website/about/screenshots.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |

14 | 15 |

16 | 17 | 20 | -------------------------------------------------------------------------------- /website/contact/main.inc.php: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /website/copyright.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |

13 | 14 | ".sprintf(_('This web site is Copyright © %s members of the Audacity development team. Except where otherwise noted, all text and images on this site are licensed under the Creative Commons Attribution License, version 2.0. You may modify, copy, distribute, and display this material, but you must give credit to the original authors. Please see the license for details.'), $thisYear)."

"; 23 | 24 | 25 | include "include/footer.inc.php"; 26 | ?> 27 | -------------------------------------------------------------------------------- /website/download/common.inc.php: -------------------------------------------------------------------------------- 1 | 10 |
  • -

  • 11 |
  • -

  • 12 |
  • -

  • 13 |
  • alternate download links.'), "http://sourceforge.net/project/showfiles.php?group_id=6235")?>

  • 14 | -------------------------------------------------------------------------------- /website/download/gentoo.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |

    15 | 16 |

    Note: OrkAudio was not re-compiled for this platform since the 0.5 version.

    17 | 18 |

    Mike Auty has created a Gentoo ebuild that can be found here: [bugs.gentoo.org]

    19 | 20 | 23 | -------------------------------------------------------------------------------- /website/download/index.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |

    14 | 15 |

    16 |
      17 |
    • OrkAudio audio capture server as a Windows installer
    • 18 |
    • OrkAudio audio capture server as a RHEL/CentOS installer
    • 19 |
    • OrkWeb and OrkTrack user interface and database logging servers as precompiled Windows or Linux CentOS/RHEL installers, or as Java5 war files
    • 20 |
    21 | 22 |

    GNU GPL.')?>

    23 | 24 | 27 | -------------------------------------------------------------------------------- /website/download/main.inc.php: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /website/download/redhat.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |

    15 | 16 |

    The OrkAudio CentOS/RHEL installer is the easiest way to deploy the audio recording component. It will automatically 17 | install OrkAudio as a service. 18 | For info on installation and configuration, please check the online user documentation

    19 | 20 |

    21 | 24 | 25 |

    26 |
      27 |
    • 28 |
    • 29 |
    30 | 31 | 32 | 35 | -------------------------------------------------------------------------------- /website/download/source.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |

    15 | 16 |

    The source code (Java and C++) is known to compile under Linux, Windows and FreeBSD. Build instructions can be found in the documentation.

    17 | 18 |

    19 | 20 |

    Use subversion to checkout the latest source code:

    21 |

    svn checkout svn://svn.code.sf.net/p/oreka/svn/trunk oreka-svn

    22 | 23 |

    Optional download

    24 | 27 | 28 | 31 | -------------------------------------------------------------------------------- /website/download/windows.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |

    15 | 16 |

    The OrkAudio windows installer is the easiest way to deploy the audio recording service. It will automatically 17 | install OrkAudio as an NT service and provide start menu links to the audio recordings and the recording details. 18 | For info on installation and configuration, please check the online user documentation

    19 | 20 |

    21 | 24 | 25 |

    26 |
      27 |
    • 28 |
    • 29 |
    30 | 31 | 32 | 35 | -------------------------------------------------------------------------------- /website/images/creative-commons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/website/images/creative-commons.gif -------------------------------------------------------------------------------- /website/images/mac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/website/images/mac.png -------------------------------------------------------------------------------- /website/images/paypal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/website/images/paypal.gif -------------------------------------------------------------------------------- /website/images/unix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/website/images/unix.png -------------------------------------------------------------------------------- /website/images/win.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/website/images/win.png -------------------------------------------------------------------------------- /website/include/detect-os.inc.php: -------------------------------------------------------------------------------- 1 | 19 | -------------------------------------------------------------------------------- /website/include/strings.inc.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiceip/oreka/523705a17931b0cb9e789451e881782e3130f13f/website/include/strings.inc.php -------------------------------------------------------------------------------- /website/latest/audacity-mac.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /website/latest/audacity-macosx.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /website/latest/audacity-src.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /website/latest/audacity-win-zip.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /website/latest/audacity-win.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /website/latest/mirror.inc.php: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /website/latest/versions.inc.php: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /website/list/alreadyon.php: -------------------------------------------------------------------------------- 1 | 5 | 6 |

    7 | The email address you entered is already on our mailing list! 8 |

    9 | 10 |

    11 | Click here to return to the Audacity home page 12 |

    13 | 14 | 17 | -------------------------------------------------------------------------------- /website/list/emailconfirm.php: -------------------------------------------------------------------------------- 1 | 5 | 6 |

    7 | Thank you for signing up for our announcement list. You will be 8 | receiving a confirmation email shortly. You must respond to this 9 | email in order to be subscribed. 10 |

    11 | 12 |

    13 | Click here to return to the Audacity home page 14 |

    15 | 16 | 19 | -------------------------------------------------------------------------------- /website/list/invalid.php: -------------------------------------------------------------------------------- 1 | 5 | 6 |

    7 | The email address you entered was invalid. 8 |

    9 | 10 |

    11 | Click here to return to the Audacity home page 12 |

    13 | 14 | 17 | -------------------------------------------------------------------------------- /website/list/main.inc.php: -------------------------------------------------------------------------------- 1 | $title\n"; 10 | 11 | print "\n"; 12 | 13 | print "
    \n"; 14 | print "\n"; 15 | print "\n"; 16 | print "\n"; 17 | 18 | print '
    '; 19 | print ''; 20 | print ''; 25 | print '
    '; 21 | print ''; 22 | print $title; 23 | print ''; 24 | print '
    '; 26 | } 27 | 28 | function Bottom() 29 | { 30 | print '
    '; 31 | print ''; 32 | } 33 | 34 | ?> 35 | -------------------------------------------------------------------------------- /website/list/noton.php: -------------------------------------------------------------------------------- 1 | 5 | 6 |

    7 | Sorry, the email address you entered is not on our mailing list. 8 |

    9 | 10 |

    11 | Click here to return to the Audacity home page 12 |

    13 | 14 | 15 | -------------------------------------------------------------------------------- /website/list/subscribed.php: -------------------------------------------------------------------------------- 1 | 5 | 6 |

    7 | Your email address has been confirmed, and you are now on the 8 | Audacity-Announce mailing list! 9 |

    10 | 11 |

    12 | The Audacity developers take your privacy very seriously. We will 13 | only send you short emails when we release new versions of Audacity or 14 | have other important news - typically about one email per month. 15 | We will never sell or share your email address with anyone else. 16 |

    17 | 18 |

    19 | It's easy to remove your email address from our list: 20 | just type it in the box on the left side of the Audacity home page, 21 | and click "Remove". 22 |

    23 | 24 |

    25 | Click here to return to the Audacity home page 26 |

    27 | 28 | 31 | -------------------------------------------------------------------------------- /website/list/unsubscribed.php: -------------------------------------------------------------------------------- 1 | 5 | 6 |

    7 | You have been unsubscribed from our mailing list. 8 |

    9 | 10 |

    11 | Click here to return to the Audacity home page 12 |

    13 | 14 | 15 | -------------------------------------------------------------------------------- /website/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /download/auto 3 | Disallow: /cgi-bin/bugzilla 4 | -------------------------------------------------------------------------------- /website/site-map.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |

    13 |
      14 | $name"; 20 | if ($sectionNavItems) { 21 | echo "
        "; 22 | foreach ($sectionNavItems as $navItem) { 23 | $name = $navItem[0]; 24 | $path = $navItem[1]; 25 | echo "
      • $name
      • "; 26 | } 27 | echo "
      "; 28 | } 29 | echo ""; 30 | } 31 | ?> 32 |
    33 | 36 | -------------------------------------------------------------------------------- /website/support/documentation.php: -------------------------------------------------------------------------------- 1 | $pageTitle"; 13 | 14 | // i18n-hint: Please add a note that the manuals below are in English. If 15 | // there is documentation available in your language, link to it here. 16 | ?> 17 | 18 | 22 | 23 | 26 | -------------------------------------------------------------------------------- /website/support/index.php: -------------------------------------------------------------------------------- 1 | $pageTitle"; 13 | 14 | // i18n-hint: If there are any special resources for Audacity users in your 15 | // language (forums, documentation, mailing lists...), you can add links to 16 | // them here. 17 | echo _('

    If you have a question, check the list of Frequently Asked Questions before asking on the mailing lists.

    18 |

    For instructions on how to build, install and use Oreka, see the documentation

    '); 19 | ?> 20 |

    Professional open source support and commercial versions of Oreka are available from OrecX LLC, the primary sponsor and developer of Oreka.

    21 | 24 | -------------------------------------------------------------------------------- /website/support/lists.php: -------------------------------------------------------------------------------- 1 | $pageTitle"; 13 | 14 | // i18n-hint: Please add a note that the manuals below are in English. If 15 | // there is documentation available in your language, link to it here. 16 | ?> 17 |

    There are three Oreka lists you can subscribe to:

    18 |
      19 |
    • oreka-devel: this mailing list is intended for developers that want to compile and change the software.
    • 20 |
    • oreka-user: this mailing list is intended for people who just want to use the software.
    • 21 |
    22 | 23 | 26 | -------------------------------------------------------------------------------- /website/support/main.inc.php: -------------------------------------------------------------------------------- 1 | 13 | --------------------------------------------------------------------------------