<meta name="GENERATOR" content="DEXTWebEditor"> <style title="_dext_stylesheet">BLOCKQUOTE { MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px } P { MARGIN-BOTTOM: 0px; FONT-SIZE: 10pt; FONT-FAMILY: 굴림; MARGIN-TOP: 0px; LINE-HEIGHT: 1.2 } v\:* { BEHAVIOR: url(#default#VML) } o\:* { BEHAVIOR: url(#default#VML) } .shape { BEHAVIOR: url(#default#VML) } x\:* { relative; VISIBILITY: hidden } TD { WORD-BREAK: break-all } BODY { WORD-BREAK: break-all } UL { MARGIN-BOTTOM: 5pt; MARGIN-LEFT: 30pt; MARGIN-TOP: 5pt } OL { MARGIN-BOTTOM: 5pt; MARGIN-LEFT: 30pt; MARGIN-TOP: 5pt } </style> http://teragonaudio.com/article/How-to-make-your-own-VST-host.html

 

 

 

작곡 프로그램을 만들기 위해서 steinberg사가 만든 vst sdk 를 활용하려고 합니다.

 

첨부한 링크에서 loadplugin함수를 사용하려고 하는데요

 

 

 링크에서 loadplugin 함수 나온부분 즉

 

AEffect* loadPlugin() {
  AEffect *plugin = NULL;
  char *vstPath = "c:\\wherever\\the\\plugin\\is\\located.vst";

  modulePtr = LoadLibrary(vstPath);
  if(modulePtr == NULL) {
    printf("Failed trying to load VST from '%s', error %d\n",
      vstPath, GetLastError());
    return NULL;
  }

  vstPluginFuncPtr mainEntryPoint =
    (vstPluginFuncPtr)GetProcAddress(modulePtr, "VSTPluginMain");
  // Instantiate the plugin
  plugin = mainEntryPoint(hostCallback);
  return plugin;
}

 

 

이거는 함수의 정의인가요?

 

 제가 위 함수를 사용하고 싶으면, 어떻게 해야 하나요?

 

예를들어 버튼을 누르면 위 함수가 호출되고 싶게 하고싶은데요

 

void scale_menu_form::OnBnClickedButton1()
{
  loadPlugin();

 

 // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
}

위와 같이 코딩하면 정의되지 안은 함수라고 합니다.

 

 물론 sdk에 필요한 헤더파일은 모두 첨부한 상태인데도요.

 

맨위의 함수의 정의를 제가 어디다 써야 하나요?

제발 도움 부탁드립니다.

 

 

함수의 정의 자체를 쓰면 즉 아래와 같이 코딩하면

 

AEffect* loadPlugin()
{
 AEffect *plugin = NULL;
 char *vstPath = "c:\\wherever\\the\\plugin\\is\\located.vst";

 modulePtr = LoadLibrary(vstPath);
 if (modulePtr == NULL) {
  printf("Failed trying to load VST from '%s', error %d\n",
   vstPath, GetLastError());
  return NULL;
 }

 vstPluginFuncPtr mainEntryPoint =
  (vstPluginFuncPtr)GetProcAddress(modulePtr, "VSTPluginMain");
 // Instantiate the plugin
 plugin = mainEntryPoint(hostCallback);
 return plugin;
}

 

위에서 삭선처리한 modulePtr 이 정의 되어 있지 안다고 합니다.TT 어떻게 해야 하나요?