// convert ascii skeleton into binary 
BOOL CSeriousSkaStudioApp::ConvertSkeleton(CTFileName fnSkeleton)
{
  CSkeleton skeleton;
  _yy_pSkeleton = &skeleton;
  if(!StartParser(fnSkeleton))
  {
    //if failed clear skeleton and return
    skeleton.Clear();
    return FALSE;
  }
  // sort bones
  skeleton.SortSkeleton();
  try
  {
    // save binary skeleton
    skeleton.Save_t(fnSkeleton.NoExt() + ".bs");
  }
  catch(char *strErr)
  {
    ErrorMessage(strErr);
  }
  // clear skeleton
  skeleton.Clear();
  _yy_pSkeleton = NULL;

  // reload skeleton in stock
  CSkeleton *pSkeleton;
  try
  {
    // load skeleton
    pSkeleton = _pSkeletonStock->Obtain_t(fnSkeleton.NoExt() + ".bs");
    // reload skeleton
    pSkeleton->Reload();
    // release skeleton
    _pSkeletonStock->Release(pSkeleton);
  }
  catch(char *strError)
  {
    if(strError != NULL) ErrorMessage("%s",strError);
    return FALSE;
  }
  return TRUE;
}