Assembla home | Assembla project page
 

Changeset 464

Show
Ignore:
Timestamp:
08/04/08 22:34:51 (2 years ago)
Author:
phyrephox
Message:

+ added syscurves.cfv
+ added eggtimer example script thx to gehtnix from german forum
+ in osd menu you can now set new option: Hide on Display. Means: When you press the display button to cycle through the original canon display states (symbols on, symbols off, evf, display off), CHDK symbols are now hidden when canon symbols are hidden as well (this does not work in EVF, as the propertycase does not update).
+ visual feedback during fast_video_quality changes - now when you enable fast_video_quality_control, you can see in OSD the quality/bitrate that you change via up/down

*makefile.inc (added ixus960)
* updated/added finnish, english, german langfiles* changed default conf values again: shootdelay (from 11 to 0), remote_enable from 1 to 0, renamed hide_osd_in_playback
* small cosmetic change: splash screen color now is red, to distinguish our beta build from the trunk. this is likely to get changed someday anyhow. adds a little spice though ;)
* fixed a bug in CHDKLovers select/case statement, got a diff from him (thanks!)

as always, code is ugly but should work.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/juciphox/CHDK/LANG/english.lng

    r461 r464  
    469469342 "Disable Overrides" 
    470470343 "  Include AutoIso & Bracketing?" 
    471 344 "  Hide in Playback?" 
     471344 "  Hide in ?" 
    472472345 "Disable @ Video Rec?" 
    473473346 "Show remaining videotime?" 
  • branches/juciphox/CHDK/LANG/german.lng

    r461 r464  
    463463 
    464464343 "    Inkl. AutoIso & Bracket?" 
    465 344 "    Aus bei Wiedergabe?" 
     465344 "    Aus bei ?" 
    466466345 "    Aus bei Videoaufn.?" 
    467467 
  • branches/juciphox/core/conf.c

    r463 r464  
    128128    CONF_INFO(  1, conf.show_osd,               CONF_DEF_VALUE, i:1, NULL), 
    129129    CONF_INFO(  2, conf.save_raw,               CONF_DEF_VALUE, i:0, NULL), 
    130     CONF_INFO(  3, conf.script_shoot_delay,     CONF_DEF_VALUE, i:11, NULL), 
     130    CONF_INFO(  3, conf.script_shoot_delay,     CONF_DEF_VALUE, i:0, NULL), 
    131131    CONF_INFO(  4, conf.show_histo,             CONF_DEF_VALUE, i:0, NULL), 
    132132    CONF_INFO(  5, conf.ubasic_vars,            CONF_DEF_PTR,   ptr:&def_ubasic_vars, NULL), 
     
    248248     
    249249    CONF_INFO(120, conf.script_startup,         CONF_DEF_VALUE, i:0, NULL), 
    250     CONF_INFO(121, conf.remote_enable,          CONF_DEF_VALUE, i:1, NULL), 
     250    CONF_INFO(121, conf.remote_enable,          CONF_DEF_VALUE, i:0, NULL), 
    251251     
    252252    CONF_INFO(122, conf.values_show_canon_overexposure, CONF_DEF_VALUE, i:0, NULL), 
     
    311311    CONF_INFO(172, conf.override_disable,       CONF_DEF_VALUE, i:2, NULL), 
    312312    CONF_INFO(173, conf.override_disable_all,   CONF_DEF_VALUE, i:1, NULL), 
    313     CONF_INFO(174, conf.hide_osd_in_playback,   CONF_DEF_VALUE, i:0, NULL), 
     313    CONF_INFO(174, conf.hide_osd,   CONF_DEF_VALUE, i:0, NULL), 
    314314    CONF_INFO(175, conf.save_raw_in_video,      CONF_DEF_VALUE, i:0, NULL), 
    315315    CONF_INFO(176, conf.show_movie_time,        CONF_DEF_VALUE, i:3, NULL), 
     
    345345    CONF_INFO(206, conf.remote_zoom_enable,     CONF_DEF_VALUE, i:0, NULL), 
    346346    CONF_INFO(207, conf.zoom_timeout,           CONF_DEF_VALUE, i:5, NULL), 
    347  
     347                         
     348                         
    348349}; 
    349350#define CONF_NUM (sizeof(conf_info)/sizeof(conf_info[0])) 
  • branches/juciphox/core/gui.c

    r463 r464  
    177177//static const char* gui_tv_enum(int change, int arg); 
    178178const char* gui_user_menu_show_enum(int change, int arg); 
     179static const char* gui_hide_osd_enum(int change, int arg); 
    179180static const char* gui_show_clock_enum(int change, int arg); 
    180181static const char* gui_clock_format_enum(int change, int arg); 
     
    591592static CMenuItem osd_submenu_items[] = { 
    592593    {0x5c,LANG_MENU_OSD_SHOW,                MENUITEM_BOOL,      &conf.show_osd }, 
    593     {0x5c,LANG_MENU_OSD_HIDE_PLAYBACK,       MENUITEM_BOOL,      &conf.hide_osd_in_playback }, 
     594    {0x5c,LANG_MENU_OSD_HIDE_PLAYBACK,       MENUITEM_ENUM,      (int*)gui_hide_osd_enum }, 
    594595    {0x81,LANG_MENU_VIS_MENU_CENTER,         MENUITEM_BOOL,         &conf.menu_center }, 
    595596    {0x81,LANG_MENU_SELECT_FIRST_ENTRY,         MENUITEM_BOOL,      &conf.menu_select_first_entry },        
     
    10731074 
    10741075    return modes[conf.show_clock]; 
     1076} 
     1077 
     1078const char* gui_hide_osd_enum(int change, int arg) { 
     1079    static const char* modes[]={ "Don't", "In Playback", "On Disp Press", "both"}; 
     1080 
     1081    conf.hide_osd+=change; 
     1082    if (conf.hide_osd<0) 
     1083        conf.hide_osd=(sizeof(modes)/sizeof(modes[0]))-1; 
     1084    else if (conf.hide_osd>=(sizeof(modes)/sizeof(modes[0]))) 
     1085        conf.hide_osd=0; 
     1086 
     1087    return modes[conf.hide_osd]; 
    10751088} 
    10761089 
     
    21862199 
    21872200 
    2188      if ((recreview_hold==0) &&  (!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !conf.hide_osd_in_playback ))))   { 
     2201     if ((recreview_hold==0) &&  (!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !((conf.hide_osd == 1) || (conf.hide_osd == 3)) )) && !(((conf.hide_osd == 2) || (conf.hide_osd == 3))&& (shooting_get_prop(PROPCASE_DISPLAY_MODE) == 1))))   { 
    21892202        gui_batt_draw_osd(); 
    21902203        gui_space_draw_osd(); 
    21912204    } 
    21922205     
    2193      if ((conf.show_clock) && (recreview_hold==0) &&  ((!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !conf.hide_osd_in_playback )))|| (conf.clock_halfpress==0) )) { 
     2206     if ((conf.show_clock) && (recreview_hold==0) &&  ((!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !((conf.hide_osd == 1) || (conf.hide_osd == 3)) )) && !(((conf.hide_osd == 2) || (conf.hide_osd == 3))&& (shooting_get_prop(PROPCASE_DISPLAY_MODE) == 1)))|| (conf.clock_halfpress==0) )) { 
    21942207        gui_osd_draw_clock(); 
    21952208            } 
     
    21992212    } 
    22002213  
    2201       if ((conf.show_temp>0) && (recreview_hold==0) &&  ((!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !conf.hide_osd_in_playback )))|| (conf.clock_halfpress==0) )) { 
     2214      if ((conf.show_temp>0) && (recreview_hold==0) &&  ((!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !((conf.hide_osd == 1) || (conf.hide_osd == 3)) )) && !(((conf.hide_osd == 2) || (conf.hide_osd == 3))&& (shooting_get_prop(PROPCASE_DISPLAY_MODE) == 1)) )|| (conf.clock_halfpress==0) )) { 
    22022215        gui_osd_draw_temp(); 
    22032216      } 
     
    22052218 { 
    22062219 gui_osd_draw_movie_time_left(); 
     2220  
     2221 if ((movie_status > 1) && (conf.fast_movie_quality_control==1)){ 
     2222    if (conf.video_mode == 0 ) 
     2223        { 
     2224    gui_print_osd_state_string_chr("Bitrate: ",gui_video_bitrate_enum(0,0)); 
     2225        } 
     2226        else 
     2227                { 
     2228        gui_print_osd_state_string_int("Quality: ",conf.video_quality); 
     2229    } 
    22072230 } 
     2231} 
    22082232  
    2209  if ((conf.fast_ev) && (recreview_hold==0) && ((mode_get()&MODE_SHOOTING_MASK) != MODE_VIDEO_STD) && ((!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !conf.hide_osd_in_playback ))) )) { 
     2233 if ((conf.fast_ev) && (recreview_hold==0) && ((mode_get()&MODE_SHOOTING_MASK) != MODE_VIDEO_STD) && ((!kbd_is_key_pressed(KEY_SHOOT_HALF) &&  (  ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !((conf.hide_osd == 1) || (conf.hide_osd == 3)) )) && !(((conf.hide_osd == 2) || (conf.hide_osd == 3))&& (shooting_get_prop(PROPCASE_DISPLAY_MODE) == 1))) )) { 
    22102234       gui_osd_draw_ev(); 
    22112235 } 
     
    24142438        "Camera: " PLATFORM " - " PLATFORMSUB }; 
    24152439    int i, l; 
    2416     color cl = MAKE_COLOR((gui_splash_mode==MODE_REC)?0xDA:0xD9, COLOR_WHITE); 
     2440   // color cl = MAKE_COLOR((gui_splash_mode==MODE_REC)?0xDA:0xD9, COLOR_WHITE); 
     2441 color cl = MAKE_COLOR(COLOR_RED, COLOR_WHITE); 
     2442 
    24172443 
    24182444    gui_splash_mode = (mode_get()&MODE_MASK); 
  • branches/juciphox/core/gui_lang.c

    r463 r464  
    453453"342 \"Disable Overrides\"\n" 
    454454"343 \"  Include AutoIso & Bracketing?\"\n" 
    455 "344 \"  Hide in Playback?\"\n" 
     455"344 \"  Hide OSD?\"\n" 
    456456"345 \"Disable @ Video Rec?\"\n" 
    457457"346 \"Show remaining videotime?\"\n" 
  • branches/juciphox/core/gui_osd.c

    r461 r464  
    947947    min = (time_left % 3600) / 60; 
    948948    sec = (time_left % 3600) % 60; 
    949      
     949 
    950950       if (elapsed<1) 
    951951   { 
  • branches/juciphox/include/conf.h

    r463 r464  
    2626 
    2727    int show_osd; 
    28     int hide_osd_in_playback
     28    int hide_osd
    2929    int show_osd_in_review; 
    3030    int script_shoot_delay; 
  • branches/juciphox/lib/ubasic/ubasic.c

    r461 r464  
    8282static struct select_state select_stack[MAX_SELECT_STACK_DEPTH]; 
    8383static int select_stack_ptr; 
    84  
    85  
    8684 
    8785#define MAX_WHILE_STACK_DEPTH 4 
     
    810808/*---------------------------------------------------------------------------*/ 
    811809static void 
    812 end_select(void) 
     810end_select_statement(void) 
    813811{ 
    814812  if(select_stack_ptr > 0) { 
     
    817815    dec_select_stack(); 
    818816  } else { 
    819     DEBUG_PRINTF("ubasic.c: end_select(): end_select without select-statement\n"); 
     817    DEBUG_PRINTF("ubasic.c: end_select_statement(): end_select without select-statement\n"); 
    820818    ended = 1; 
    821819    ubasic_error = UBASIC_E_PARSE; 
     
    828826  int select_value, case_value_1, case_value_2, case_value_eq; 
    829827  short case_run, case_goto = 0, case_gosub = 0; 
     828  int cur_ln, gosub_ln; 
    830829   
    831830  accept(TOKENIZER_CASE); 
     
    866865        case_goto = (tokenizer_token() == TOKENIZER_GOTO); 
    867866        case_gosub = (tokenizer_token() == TOKENIZER_GOSUB); 
     867//GOSUB - save curr linenumber 
     868        cur_ln = tokenizer_line_number(); 
     869//GOSUB 
    868870        statement(); 
     871//GOSUB  - save new linenumber, reset to curr linenumber 
     872      if (case_gosub) {  
     873        gosub_ln = tokenizer_line_number(); 
     874        jump_line(cur_ln+1); 
     875        DEBUG_PRINTF("case_statement: GOSUB: toLN=%d, nextLN=%d\n", gosub_ln, cur_ln+1); 
     876      } 
     877//GOSUB 
    869878        DEBUG_PRINTF("case_statement: case execute\n"); 
    870879        case_run = 1; 
     
    875884      } 
    876885    } else {accept_cr();} 
     886//REM 
     887    while ((tokenizer_token() == TOKENIZER_REM) && (!case_goto)) {statement();} 
     888//REM 
    877889    if (case_goto) { dec_select_stack(); } else { 
    878       if (!case_gosub) { 
    879         if ((tokenizer_token() != TOKENIZER_CASE) && (tokenizer_token() != TOKENIZER_CASE_ELSE) &&  
    880            (tokenizer_token() != TOKENIZER_END_SELECT)) { 
    881            DEBUG_PRINTF("ubasic.c: select_statement(): don't found case, case_else or end_select\n"); 
    882            ended = 1; 
    883            ubasic_error = UBASIC_E_PARSE; 
    884         } else {  
    885           if (tokenizer_token() == TOKENIZER_END_SELECT) { end_select(); } 
     890      if ((tokenizer_token() != TOKENIZER_CASE) && (tokenizer_token() != TOKENIZER_CASE_ELSE) &&  
     891         (tokenizer_token() != TOKENIZER_END_SELECT)) { 
     892         DEBUG_PRINTF("ubasic.c: select_statement(): don't found case, case_else or end_select\n"); 
     893         ended = 1; 
     894         ubasic_error = UBASIC_E_PARSE; 
     895      } else {  
     896//GOSUB test for end_select and set to gosub-linenumber 
     897        if (tokenizer_token() == TOKENIZER_END_SELECT) { end_select_statement(); } 
     898        if (case_gosub) { 
     899          gosub_stack[gosub_stack_ptr-1] = tokenizer_line_number(); 
     900          jump_line(gosub_ln); 
     901          DEBUG_PRINTF("end_select_statement: GOSUB: returnLN=%d\n", gosub_stack[gosub_stack_ptr-1]); 
    886902        } 
    887903      }   
     904//GOSUB         
    888905    } 
    889906  } else { 
     
    898915{ 
    899916  short case_goto = 0, case_gosub = 0; 
     917  int cur_ln, gosub_ln; 
    900918   
    901919  accept(TOKENIZER_CASE_ELSE); 
     
    904922      case_goto = (tokenizer_token() == TOKENIZER_GOTO);  
    905923      case_gosub = (tokenizer_token() == TOKENIZER_GOSUB);  
     924//GOSUB - save curr linenumber 
     925      cur_ln = tokenizer_line_number(); 
     926//GOSUB 
    906927      statement(); 
     928//GOSUB  - save new linenumber, reset to curr linenumber 
     929      if (case_gosub) {  
     930        gosub_ln = tokenizer_line_number(); 
     931        jump_line(cur_ln+1); 
     932        DEBUG_PRINTF("case_else_statement: GOSUB: toLN=%d, nextLN=%d\n", gosub_ln, cur_ln+1); 
     933      } 
     934//GOSUB 
    907935      DEBUG_PRINTF("case_else_statement: case_else execute\n"); 
    908936    } else { 
     
    910938      accept_cr(); 
    911939    } 
     940//REM 
     941    while ((tokenizer_token() == TOKENIZER_REM) && (!case_goto)) {statement();} 
     942//REM 
    912943    if (case_goto) { dec_select_stack(); } else {  
    913       if (!case_gosub) { 
    914         if (tokenizer_token() != TOKENIZER_END_SELECT) { 
    915           DEBUG_PRINTF("ubasic.c: select_statement(): don't found end_select\n"); 
    916           ended = 1; 
    917           ubasic_error = UBASIC_E_PARSE; 
    918         } else { end_select(); } 
    919       } 
     944//GOSUB test for end_select and set to gosub-linenumber 
     945      if (tokenizer_token() != TOKENIZER_END_SELECT) { 
     946        DEBUG_PRINTF("ubasic.c: select_statement(): don't found end_select\n"); 
     947        ended = 1; 
     948        ubasic_error = UBASIC_E_PARSE; 
     949      } else {  
     950          end_select_statement();  
     951        if (case_gosub) { 
     952          gosub_stack[gosub_stack_ptr-1] = tokenizer_line_number(); 
     953          jump_line(gosub_ln); 
     954          DEBUG_PRINTF("end_select_statement: GOSUB: returnLN=%d\n", gosub_stack[gosub_stack_ptr-1]); 
     955        } 
     956      }   
     957//GOSUB       
    920958    } 
    921959  } else { 
     
    935973  select_value = expr();   
    936974  accept(TOKENIZER_CR); 
     975//REM 
     976    while (tokenizer_token() == TOKENIZER_REM) {statement();} 
     977//REM 
    937978   
    938979  if(select_stack_ptr < MAX_SELECT_STACK_DEPTH) { 
     
    946987      ubasic_error = UBASIC_E_PARSE; 
    947988    } 
    948     //NEU f?r diekten "case"-befehl 
    949989    else { case_statement(); } 
    950     //--------------------------- 
    951990  } else { 
    952991    DEBUG_PRINTF("select_statement: SELECT-stack depth exceeded\n"); 
     
    956995} 
    957996/* SELECT-STATEMENT END                                                      */ 
    958  
    959997/*---------------------------------------------------------------------------*/ 
    960998static void 
  • branches/juciphox/makefile.inc

    r461 r464  
    151151#PLATFORMSUB=101b 
    152152 
     153#PLATFORM=ixus960_sd950 
     154#PLATFORM=100d 
    153155 
    154156include $(topdir)version.inc 
  • branches/juciphox/platform/s3is/sub/100a/stubs_entry_2.S

    r461 r464  
    2626NHSTUB(GetOpticalTemperature, 0xFF82D354) 
    2727NHSTUB(PT_PlaySound, 0xFF986518) 
    28 //NHSTUB(PT_PlaySound, 0xFFB3163C) //alternate adress ewavr found, the other one is easier to find 
  • branches/juciphox/version.inc

    r463 r464  
    1 BUILD_NUMBER := 0.2.0 
     1BUILD_NUMBER := 0.2.1