/[svn]/libgig/trunk/src/gig.cpp
ViewVC logotype

Diff of /libgig/trunk/src/gig.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2484 by schoenebeck, Tue Dec 31 00:13:20 2013 UTC revision 2540 by schoenebeck, Wed Apr 23 16:39:43 2014 UTC
# Line 2  Line 2 
2   *                                                                         *   *                                                                         *
3   *   libgig - C++ cross-platform Gigasampler format file access library    *   *   libgig - C++ cross-platform Gigasampler format file access library    *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003-2013 by Christian Schoenebeck                      *   *   Copyright (C) 2003-2014 by Christian Schoenebeck                      *
6   *                              <cuse@users.sourceforge.net>               *   *                              <cuse@users.sourceforge.net>               *
7   *                                                                         *   *                                                                         *
8   *   This library is free software; you can redistribute it and/or modify  *   *   This library is free software; you can redistribute it and/or modify  *
# Line 2087  namespace { Line 2087  namespace {
2087          return pRegion;          return pRegion;
2088      }      }
2089    
2090    // show error if some _lev_ctrl_* enum entry is not listed in the following function
2091    // (commented out for now, because "diagnostic push" not supported prior GCC 4.6)
2092    // TODO: uncomment and add a GCC version check (see also commented "#pragma GCC diagnostic pop" below)
2093    //#pragma GCC diagnostic push
2094    //#pragma GCC diagnostic error "-Wswitch"
2095    
2096      leverage_ctrl_t DimensionRegion::DecodeLeverageController(_lev_ctrl_t EncodedController) {      leverage_ctrl_t DimensionRegion::DecodeLeverageController(_lev_ctrl_t EncodedController) {
2097          leverage_ctrl_t decodedcontroller;          leverage_ctrl_t decodedcontroller;
2098          switch (EncodedController) {          switch (EncodedController) {
# Line 2198  namespace { Line 2204  namespace {
2204                  decodedcontroller.controller_number = 95;                  decodedcontroller.controller_number = 95;
2205                  break;                  break;
2206    
2207                // format extension (these controllers are so far only supported by
2208                // LinuxSampler & gigedit) they will *NOT* work with
2209                // Gigasampler/GigaStudio !
2210                case _lev_ctrl_CC3_EXT:
2211                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2212                    decodedcontroller.controller_number = 3;
2213                    break;
2214                case _lev_ctrl_CC6_EXT:
2215                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2216                    decodedcontroller.controller_number = 6;
2217                    break;
2218                case _lev_ctrl_CC7_EXT:
2219                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2220                    decodedcontroller.controller_number = 7;
2221                    break;
2222                case _lev_ctrl_CC8_EXT:
2223                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2224                    decodedcontroller.controller_number = 8;
2225                    break;
2226                case _lev_ctrl_CC9_EXT:
2227                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2228                    decodedcontroller.controller_number = 9;
2229                    break;
2230                case _lev_ctrl_CC10_EXT:
2231                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2232                    decodedcontroller.controller_number = 10;
2233                    break;
2234                case _lev_ctrl_CC11_EXT:
2235                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2236                    decodedcontroller.controller_number = 11;
2237                    break;
2238                case _lev_ctrl_CC14_EXT:
2239                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2240                    decodedcontroller.controller_number = 14;
2241                    break;
2242                case _lev_ctrl_CC15_EXT:
2243                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2244                    decodedcontroller.controller_number = 15;
2245                    break;
2246                case _lev_ctrl_CC20_EXT:
2247                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2248                    decodedcontroller.controller_number = 20;
2249                    break;
2250                case _lev_ctrl_CC21_EXT:
2251                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2252                    decodedcontroller.controller_number = 21;
2253                    break;
2254                case _lev_ctrl_CC22_EXT:
2255                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2256                    decodedcontroller.controller_number = 22;
2257                    break;
2258                case _lev_ctrl_CC23_EXT:
2259                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2260                    decodedcontroller.controller_number = 23;
2261                    break;
2262                case _lev_ctrl_CC24_EXT:
2263                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2264                    decodedcontroller.controller_number = 24;
2265                    break;
2266                case _lev_ctrl_CC25_EXT:
2267                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2268                    decodedcontroller.controller_number = 25;
2269                    break;
2270                case _lev_ctrl_CC26_EXT:
2271                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2272                    decodedcontroller.controller_number = 26;
2273                    break;
2274                case _lev_ctrl_CC27_EXT:
2275                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2276                    decodedcontroller.controller_number = 27;
2277                    break;
2278                case _lev_ctrl_CC28_EXT:
2279                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2280                    decodedcontroller.controller_number = 28;
2281                    break;
2282                case _lev_ctrl_CC29_EXT:
2283                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2284                    decodedcontroller.controller_number = 29;
2285                    break;
2286                case _lev_ctrl_CC30_EXT:
2287                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2288                    decodedcontroller.controller_number = 30;
2289                    break;
2290                case _lev_ctrl_CC31_EXT:
2291                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2292                    decodedcontroller.controller_number = 31;
2293                    break;
2294                case _lev_ctrl_CC68_EXT:
2295                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2296                    decodedcontroller.controller_number = 68;
2297                    break;
2298                case _lev_ctrl_CC69_EXT:
2299                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2300                    decodedcontroller.controller_number = 69;
2301                    break;
2302                case _lev_ctrl_CC70_EXT:
2303                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2304                    decodedcontroller.controller_number = 70;
2305                    break;
2306                case _lev_ctrl_CC71_EXT:
2307                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2308                    decodedcontroller.controller_number = 71;
2309                    break;
2310                case _lev_ctrl_CC72_EXT:
2311                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2312                    decodedcontroller.controller_number = 72;
2313                    break;
2314                case _lev_ctrl_CC73_EXT:
2315                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2316                    decodedcontroller.controller_number = 73;
2317                    break;
2318                case _lev_ctrl_CC74_EXT:
2319                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2320                    decodedcontroller.controller_number = 74;
2321                    break;
2322                case _lev_ctrl_CC75_EXT:
2323                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2324                    decodedcontroller.controller_number = 75;
2325                    break;
2326                case _lev_ctrl_CC76_EXT:
2327                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2328                    decodedcontroller.controller_number = 76;
2329                    break;
2330                case _lev_ctrl_CC77_EXT:
2331                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2332                    decodedcontroller.controller_number = 77;
2333                    break;
2334                case _lev_ctrl_CC78_EXT:
2335                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2336                    decodedcontroller.controller_number = 78;
2337                    break;
2338                case _lev_ctrl_CC79_EXT:
2339                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2340                    decodedcontroller.controller_number = 79;
2341                    break;
2342                case _lev_ctrl_CC84_EXT:
2343                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2344                    decodedcontroller.controller_number = 84;
2345                    break;
2346                case _lev_ctrl_CC85_EXT:
2347                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2348                    decodedcontroller.controller_number = 85;
2349                    break;
2350                case _lev_ctrl_CC86_EXT:
2351                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2352                    decodedcontroller.controller_number = 86;
2353                    break;
2354                case _lev_ctrl_CC87_EXT:
2355                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2356                    decodedcontroller.controller_number = 87;
2357                    break;
2358                case _lev_ctrl_CC89_EXT:
2359                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2360                    decodedcontroller.controller_number = 89;
2361                    break;
2362                case _lev_ctrl_CC90_EXT:
2363                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2364                    decodedcontroller.controller_number = 90;
2365                    break;
2366                case _lev_ctrl_CC96_EXT:
2367                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2368                    decodedcontroller.controller_number = 96;
2369                    break;
2370                case _lev_ctrl_CC97_EXT:
2371                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2372                    decodedcontroller.controller_number = 97;
2373                    break;
2374                case _lev_ctrl_CC102_EXT:
2375                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2376                    decodedcontroller.controller_number = 102;
2377                    break;
2378                case _lev_ctrl_CC103_EXT:
2379                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2380                    decodedcontroller.controller_number = 103;
2381                    break;
2382                case _lev_ctrl_CC104_EXT:
2383                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2384                    decodedcontroller.controller_number = 104;
2385                    break;
2386                case _lev_ctrl_CC105_EXT:
2387                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2388                    decodedcontroller.controller_number = 105;
2389                    break;
2390                case _lev_ctrl_CC106_EXT:
2391                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2392                    decodedcontroller.controller_number = 106;
2393                    break;
2394                case _lev_ctrl_CC107_EXT:
2395                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2396                    decodedcontroller.controller_number = 107;
2397                    break;
2398                case _lev_ctrl_CC108_EXT:
2399                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2400                    decodedcontroller.controller_number = 108;
2401                    break;
2402                case _lev_ctrl_CC109_EXT:
2403                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2404                    decodedcontroller.controller_number = 109;
2405                    break;
2406                case _lev_ctrl_CC110_EXT:
2407                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2408                    decodedcontroller.controller_number = 110;
2409                    break;
2410                case _lev_ctrl_CC111_EXT:
2411                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2412                    decodedcontroller.controller_number = 111;
2413                    break;
2414                case _lev_ctrl_CC112_EXT:
2415                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2416                    decodedcontroller.controller_number = 112;
2417                    break;
2418                case _lev_ctrl_CC113_EXT:
2419                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2420                    decodedcontroller.controller_number = 113;
2421                    break;
2422                case _lev_ctrl_CC114_EXT:
2423                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2424                    decodedcontroller.controller_number = 114;
2425                    break;
2426                case _lev_ctrl_CC115_EXT:
2427                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2428                    decodedcontroller.controller_number = 115;
2429                    break;
2430                case _lev_ctrl_CC116_EXT:
2431                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2432                    decodedcontroller.controller_number = 116;
2433                    break;
2434                case _lev_ctrl_CC117_EXT:
2435                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2436                    decodedcontroller.controller_number = 117;
2437                    break;
2438                case _lev_ctrl_CC118_EXT:
2439                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2440                    decodedcontroller.controller_number = 118;
2441                    break;
2442                case _lev_ctrl_CC119_EXT:
2443                    decodedcontroller.type = leverage_ctrl_t::type_controlchange;
2444                    decodedcontroller.controller_number = 119;
2445                    break;
2446    
2447              // unknown controller type              // unknown controller type
2448              default:              default:
2449                  throw gig::Exception("Unknown leverage controller type.");                  throw gig::Exception("Unknown leverage controller type.");
2450          }          }
2451          return decodedcontroller;          return decodedcontroller;
2452      }      }
2453        
2454    // see above (diagnostic push not supported prior GCC 4.6)
2455    //#pragma GCC diagnostic pop
2456    
2457      DimensionRegion::_lev_ctrl_t DimensionRegion::EncodeLeverageController(leverage_ctrl_t DecodedController) {      DimensionRegion::_lev_ctrl_t DimensionRegion::EncodeLeverageController(leverage_ctrl_t DecodedController) {
2458          _lev_ctrl_t encodedcontroller;          _lev_ctrl_t encodedcontroller;
# Line 2291  namespace { Line 2540  namespace {
2540                      case 95:                      case 95:
2541                          encodedcontroller = _lev_ctrl_effect5depth;                          encodedcontroller = _lev_ctrl_effect5depth;
2542                          break;                          break;
2543    
2544                        // format extension (these controllers are so far only
2545                        // supported by LinuxSampler & gigedit) they will *NOT*
2546                        // work with Gigasampler/GigaStudio !
2547                        case 3:
2548                            encodedcontroller = _lev_ctrl_CC3_EXT;
2549                            break;
2550                        case 6:
2551                            encodedcontroller = _lev_ctrl_CC6_EXT;
2552                            break;
2553                        case 7:
2554                            encodedcontroller = _lev_ctrl_CC7_EXT;
2555                            break;
2556                        case 8:
2557                            encodedcontroller = _lev_ctrl_CC8_EXT;
2558                            break;
2559                        case 9:
2560                            encodedcontroller = _lev_ctrl_CC9_EXT;
2561                            break;
2562                        case 10:
2563                            encodedcontroller = _lev_ctrl_CC10_EXT;
2564                            break;
2565                        case 11:
2566                            encodedcontroller = _lev_ctrl_CC11_EXT;
2567                            break;
2568                        case 14:
2569                            encodedcontroller = _lev_ctrl_CC14_EXT;
2570                            break;
2571                        case 15:
2572                            encodedcontroller = _lev_ctrl_CC15_EXT;
2573                            break;
2574                        case 20:
2575                            encodedcontroller = _lev_ctrl_CC20_EXT;
2576                            break;
2577                        case 21:
2578                            encodedcontroller = _lev_ctrl_CC21_EXT;
2579                            break;
2580                        case 22:
2581                            encodedcontroller = _lev_ctrl_CC22_EXT;
2582                            break;
2583                        case 23:
2584                            encodedcontroller = _lev_ctrl_CC23_EXT;
2585                            break;
2586                        case 24:
2587                            encodedcontroller = _lev_ctrl_CC24_EXT;
2588                            break;
2589                        case 25:
2590                            encodedcontroller = _lev_ctrl_CC25_EXT;
2591                            break;
2592                        case 26:
2593                            encodedcontroller = _lev_ctrl_CC26_EXT;
2594                            break;
2595                        case 27:
2596                            encodedcontroller = _lev_ctrl_CC27_EXT;
2597                            break;
2598                        case 28:
2599                            encodedcontroller = _lev_ctrl_CC28_EXT;
2600                            break;
2601                        case 29:
2602                            encodedcontroller = _lev_ctrl_CC29_EXT;
2603                            break;
2604                        case 30:
2605                            encodedcontroller = _lev_ctrl_CC30_EXT;
2606                            break;
2607                        case 31:
2608                            encodedcontroller = _lev_ctrl_CC31_EXT;
2609                            break;
2610                        case 68:
2611                            encodedcontroller = _lev_ctrl_CC68_EXT;
2612                            break;
2613                        case 69:
2614                            encodedcontroller = _lev_ctrl_CC69_EXT;
2615                            break;
2616                        case 70:
2617                            encodedcontroller = _lev_ctrl_CC70_EXT;
2618                            break;
2619                        case 71:
2620                            encodedcontroller = _lev_ctrl_CC71_EXT;
2621                            break;
2622                        case 72:
2623                            encodedcontroller = _lev_ctrl_CC72_EXT;
2624                            break;
2625                        case 73:
2626                            encodedcontroller = _lev_ctrl_CC73_EXT;
2627                            break;
2628                        case 74:
2629                            encodedcontroller = _lev_ctrl_CC74_EXT;
2630                            break;
2631                        case 75:
2632                            encodedcontroller = _lev_ctrl_CC75_EXT;
2633                            break;
2634                        case 76:
2635                            encodedcontroller = _lev_ctrl_CC76_EXT;
2636                            break;
2637                        case 77:
2638                            encodedcontroller = _lev_ctrl_CC77_EXT;
2639                            break;
2640                        case 78:
2641                            encodedcontroller = _lev_ctrl_CC78_EXT;
2642                            break;
2643                        case 79:
2644                            encodedcontroller = _lev_ctrl_CC79_EXT;
2645                            break;
2646                        case 84:
2647                            encodedcontroller = _lev_ctrl_CC84_EXT;
2648                            break;
2649                        case 85:
2650                            encodedcontroller = _lev_ctrl_CC85_EXT;
2651                            break;
2652                        case 86:
2653                            encodedcontroller = _lev_ctrl_CC86_EXT;
2654                            break;
2655                        case 87:
2656                            encodedcontroller = _lev_ctrl_CC87_EXT;
2657                            break;
2658                        case 89:
2659                            encodedcontroller = _lev_ctrl_CC89_EXT;
2660                            break;
2661                        case 90:
2662                            encodedcontroller = _lev_ctrl_CC90_EXT;
2663                            break;
2664                        case 96:
2665                            encodedcontroller = _lev_ctrl_CC96_EXT;
2666                            break;
2667                        case 97:
2668                            encodedcontroller = _lev_ctrl_CC97_EXT;
2669                            break;
2670                        case 102:
2671                            encodedcontroller = _lev_ctrl_CC102_EXT;
2672                            break;
2673                        case 103:
2674                            encodedcontroller = _lev_ctrl_CC103_EXT;
2675                            break;
2676                        case 104:
2677                            encodedcontroller = _lev_ctrl_CC104_EXT;
2678                            break;
2679                        case 105:
2680                            encodedcontroller = _lev_ctrl_CC105_EXT;
2681                            break;
2682                        case 106:
2683                            encodedcontroller = _lev_ctrl_CC106_EXT;
2684                            break;
2685                        case 107:
2686                            encodedcontroller = _lev_ctrl_CC107_EXT;
2687                            break;
2688                        case 108:
2689                            encodedcontroller = _lev_ctrl_CC108_EXT;
2690                            break;
2691                        case 109:
2692                            encodedcontroller = _lev_ctrl_CC109_EXT;
2693                            break;
2694                        case 110:
2695                            encodedcontroller = _lev_ctrl_CC110_EXT;
2696                            break;
2697                        case 111:
2698                            encodedcontroller = _lev_ctrl_CC111_EXT;
2699                            break;
2700                        case 112:
2701                            encodedcontroller = _lev_ctrl_CC112_EXT;
2702                            break;
2703                        case 113:
2704                            encodedcontroller = _lev_ctrl_CC113_EXT;
2705                            break;
2706                        case 114:
2707                            encodedcontroller = _lev_ctrl_CC114_EXT;
2708                            break;
2709                        case 115:
2710                            encodedcontroller = _lev_ctrl_CC115_EXT;
2711                            break;
2712                        case 116:
2713                            encodedcontroller = _lev_ctrl_CC116_EXT;
2714                            break;
2715                        case 117:
2716                            encodedcontroller = _lev_ctrl_CC117_EXT;
2717                            break;
2718                        case 118:
2719                            encodedcontroller = _lev_ctrl_CC118_EXT;
2720                            break;
2721                        case 119:
2722                            encodedcontroller = _lev_ctrl_CC119_EXT;
2723                            break;
2724    
2725                      default:                      default:
2726                          throw gig::Exception("leverage controller number is not supported by the gig format");                          throw gig::Exception("leverage controller number is not supported by the gig format");
2727                  }                  }

Legend:
Removed from v.2484  
changed lines
  Added in v.2540

  ViewVC Help
Powered by ViewVC