일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 리듬게임
- JUCE 튜토리얼
- BOJ
- 코딩
- 자료구조
- go
- 백준
- OS
- Docker
- c++ heap
- C++
- tour of go
- C++ gui
- vim-go
- 알고리즘
- LOB
- gui
- C++ library
- a tour of go
- JUCE
- Nebula
- JUCE라이브러리
- 프로그래밍
- JUCE library
- 운영체제
- 연결리스트
- 공룡책
- C++ gui 라이브러리
- go channel
- C언어
- Today
- Total
목록CafeM0ca (266)
CafeM0ca
모카는 animation 컴포넌트를 사용하고 있다. 그래서 Audio 컴포넌트를 추가하면.. 이렇게 에러가 발생한다. 이를 해결할려면 Projucer의 모듈에서 juce_audio_utils을 추가해주면 된다.
//발번역 https://juce.com/doc/tutorial_simple_synth_noise Projucer에서 Audio Application template. 오디오 관련 응용프로그램 만들때 유용하다. 데모 프로젝트를 실행해보면 삐-소리가 난다. 이번 튜토리얼에서는 오디오 출력만 구현할꺼다. 오디오 입력과 현실시간 오디오 입력 데이터 처리는 다른 튜토리얼에서 알아볼것이다.오디오 어플리케이션 템플릿은 GUI 어플리케이션 템플릿과 비슷하다. 아래의 경우만 제외하면 말이다.- MainContentComponent 클래스는 AudioAppComponent클래스를 Component클래스 대신 상속한다.- juce_audio_utils 모듈이 프로젝트에 추가되었고 다른 오디오 관련 모듈들이 프로젝트에 기본..
키 입력받아야할 때가 있는데 std::cin으로 받으면 콘솔로 받아야한다. JUCE에서 창(윈도우)에서 입력받기 위해서는 아래 함수를 써야한다. juce_wchar는 아래와 같이 정의되어있다.A platform-independent 32-bit unicode character type. // (32비트 독립된 플렛폼 유니코드 문자타입)독립된 눌린 키를 문자로 반환한다.이 문자는 만약 텍스트 에디터나 비슷한 컴포넌트에서 키를 눌르면 출력되는걸 볼 수 있게 할것이다. 이런식으로 쓸 수 있다. (JuceDemo의 소스코드중 일부)보는바와 같이 KeyPress클래스의 메소드다.
//발번역 https://juce.com/doc/tutorial_label 데모 프로젝트데모 프로젝트는 몇개의 레이블을 포함하고 있다. 이 중에서 일부는 텍스트를 표시하기위한 것이며, 다른것은 텍스트를 입력받기위한 것이다. 데모 프로젝트를 실행하면 아래와 같다. 하얀색 백그라운드를 클릭하면 수정이 가능하게된다. 레이블은 미묘한 경계와 탈자 기호가 나타난다. 텍스트를 입력하면 레이블에 보여진다. 레이블에서 돌아서거나 클릭하면 편집 가능 상태가된다. 이것은 리스너에게 브로드 캐스팅되는 변경을 커밋한다. 이 경우 텍스트를 대문자로 변환하여 다른 레이블에 표시한다. 텍스트를 표시하고 입력할 때 Label 클래스를 여러 가지 용도로 사용한다. 여기에는 약간 다른 방식으로 사용되는 다섯개의 레이블이 있다.- 제목으..
//발번역 https://juce.com/doc/tutorial_slider_values 데모 프로젝트 빌드과정에서 아래와 같이 라이브러리 빌드 에러 발생시 Projucer실행하여 프로젝트를 열고 모듈->global path를 해제해주면된다. 데모 프로젝트 데모 프로젝트는 두개의 슬라이더 수직선을 보여준다. 하나는 레이블이 Frequency고 다른 하나는 레이블이 Duration이다. 이 개념은 주파수(f)가 지속 시간의 역수(d)이기 때문에 기본적으로 두 슬라이더 모두 동일한 기본 값을 표시한다.f = 1/4둘 중 하나의 슬라이더가 움직이면 또 다른 슬라이더가 변경사항을 반영하여 갱신된다. JUCE Slider 클래스이 튜토리얼은 슬라이더를 만드는 방법이랑 범위 설정, 값 변경, 슬라이더 값 프로그래밍..
//발번역 https://juce.com/doc/tutorial_listeners_and_broadcasters 데모 프로젝트는 버튼,레이블이 하나씩 있다. 이 인터페이스는 아무것도 제공하지 않는다. 코드를 추가해서 버튼이 레이블에 현제 데이터와 시간을 표시해보자. 인터페이스 구성MainContentComponent 클래스는 자식컴포넌트로 TextButton 객체와 Lable 객체를 구성하고 있다. TextButton 객체는 버튼이 포함된 텍스트 표시할 수 있고 Lable 객체는 텍스트 부분을 표시할 수 있다. Note: TextButton 클래스는 버튼의 일종이다. Button 클래스는 JUCE에서 많은 타입이 있다. API 레퍼런스 문서 ToggleButton,ShapeButton,ImageButto..
//발번역 https://docs.juce.com/master/tutorial_rectangle_advanced.html 데모 프로젝트는 적은 수의 버튼 컴포넌트를 사용하여 상위 컴포넌트에 배치한다. 이 예제에서 placeholders로 버튼을 사용하고 있다. JUCE의 어트 타입의 컴포넌트도 된다. 빌드하고 실행해보면 다음과 같다. 직사각형 레이아웃 // 레이아웃은 겹 또는 층이라 이해하면 된다.이 간단한 응용프로그램에서 메인윈도우의 몇 가지 영역이 있다.-header 구역에 타이틀이나 툴바-footer 구역에 어플리케이션의 정보-Sidebar에 섹션의 종류또는 컴포넌트-몇가지 컴포넌트 항목이 창의 나머지 부분 아래 코드들은 MainContentComponent 생성자에 추가되어있다. MainConte..
//발번역 https://docs.juce.com/master/tutorial_look_and_feel_customisation.html 어플리케이션에서 자신만의 스킨을 적용해서 커스텀마이징해보자. 데모 프로젝트를 실행해보면 아래와 같다. LookAndFeel 클래스는 JUCE에서 사용자 정의된 GUI를 만드는 기본 도구다. LookAndFeel 클래스를 사용하여 현재 컴포넌트가 갖고있는 기본 색상을 간단하게 바꿀 수 있다. 그뿐만아니라 많은 컴포넌트들을 커스텀마이징하여 그릴 수 있다. colours 커스텀하기컴포넌트에 LookAndFeel 객체가 적용되면 해당 컴포넌트에 적용되고 구체적으로 look-and-feel이 다른경우가 아니면 자식 컴포넌트도 적용된다. look-and-feel 시스템으로 기본 ..
반년만에 문제 풀어본다. 몸풀기로 간단한거부터.. 문제에서 제시하는건 10000이하의 셀프넘버를 찾는거였다.모카는 처음에 생성자를 찾는 방법을 고민하다가 셀프넘버가 d(n) > n 이 항상 성립하므로 1부터 9999까지(9999까지 돌 필요는 없다만..) 돌면서 d(n)이 되는것은 1로 두고 1이 아닌것은 셀프넘버로 봤다. 12345678910111213141516171819#include using namespace std; int main(){ int arr[10001] = {0,0,}; int k; for(int i=1;i0;j*=10){ k += (i % (j*10)) / j; } if(k
//발번역 https://juce.com/doc/tutorial_component_parents_children 이번 튜토리얼에서는 Component 클래스의 계층적 특징을 설명하는것에 의해 하나의 컴포넌트가 하나 이상의 중첩된 자식 컴포넌트를 가질 수 있다. 압축 풀고 실행시키면 아래와 같다. 모카는 컴파일 에러가 뜬다. 자료형이 일치하지 않다고 하는데 getLocalBounds() 함수가 Rectangle인데 어쩌냐.. 왜 이렇게 만든건지도 모르겠다. 컴포넌트 클래스의 계층대부분의 유저 인터페이스는 몇개의 요소들로 이루는데 텍스트,버튼,슬라이더,메뉴같은 것들이다. 예를 들어 다음 스크린샷은 AudioDeviceSelectorComponent 클래스를 보여준다. 버튼과 몇개의 레이블과 메뉴(연속되는 박..