RtAudio

홈페이지: http://www.music.mcgill.ca/~gary/rtaudio/

RtAudio is a set of C++ classes that provide a common API (Application Programming Interface) for realtime audio input/output across Linux, Macintosh OS-X and Windows (DirectSound and ASIO) operating systems. RtAudio significantly simplifies the process of interacting with computer audio hardware.

$ ./configure –prefix=/works/mingw-libs/release/rtaudio-4.0.6

다운로드: 4.0.6

fftw

홈페이지: http://www.fftw.org/

FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). We believe that FFTW, which is free software, should become the FFT library of choice for most applications.

fft 연산 라이브러리

다운로드: 3.2.1, 3.2.2

curl

홈페이지: http://curl.haxx.se/download.html

url is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos…), file transfer resume, proxy tunneling and a busload of other useful tricks.

다중 프로토콜 지원 전송 라이브러리.

다운로드: 7.19.5

libmad

홈페이지: http://www.underbit.com/products/mad/

mpeg 오디오 코덱 라이브러리. mpeg 1, 2, 3 오디오 레이어를 지원.
smpeg 보다 상대적으로 가볍다함.

MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1 and the MPEG-2 extension to lower sampling frequencies, as well as the de facto MPEG 2.5 format. All three audio layers — Layer I, Layer II, and Layer III (i.e. MP3) — are fully implemented.

관련 프로젝트
http://www.inet.hr/~zcindori/libwmp3/index.html

다운로드: 0.15.1b

flac

홈페이지: http://flac.sourceforge.net/

flac 오디오 코덱.

문서: http://flac.sourceforge.net/api/index.html

FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality.

MinGW에서 컴파일시 아래의 패치를 거친다.

$ patch -i patch.txt nclude/share/alloc.h

patch.txt

--- include/share/alloc.h	2008-06-29 21:43:05.000000000 +1000
+++ include/share/alloc.h	2008-08-13 14:38:33.000000000 +1000
@@ -28,7 +28,7 @@
  */
 
 #include <limits.h> /* for SIZE_MAX */
-#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__
+#if HAVE_STDINT_H
 #include <stdint.h> /* for SIZE_MAX in case limits.h didn't get it */
 #endif
 #include <stdlib.h> /* for size_t, malloc(), etc */

다운로드: 1.2.1 (mingw 3.x버전), 1.2.1 (mingw 4.x버전)

neon

홈페이지: http://www.webdav.org/neon/

neon is an HTTP and WebDAV client library, with a C interface.

/* gcc `neon-config --cflags --libs` neon-download.c */

#include <ne_session.h>
#include <ne_request.h>

int main() {
    ne_session *session = ne_session_create("http", "kldp.org", 80);
    ne_request *request = ne_request_create(session, "GET", "/");
    ne_begin_request(request);
    int fd = creat("output.html", 0666);
    ne_read_response_to_fd(request, fd);
    ne_end_request(request);
    ne_request_destroy(request);
    ne_session_destroy(session);
    return 0;
}

다운로드: 0.28.4

wxHtmlWindow 위젯에 키 시그널 보내기

아래는 wxHtmlWindow에 키 시그널을 보내기 위해 방법이다.
이 코드의 용도는 알아서 생각하도록.

void TooltipBase::SendKey(long keyCode)
{
	wxKeyEvent event( wxEVT_CHAR );
	//wxCommandEvent event( WXK_PAGEDOWN, m_doc->GetId() );
	event.SetEventObject( m_doc );
	// Give it some contents
    event.m_keyCode = keyCode;
    // Send it
	m_doc->GetEventHandler()->ProcessEvent( event );
	Update();
}