- Direction alternative_dir = robust_scm2dir (alternative_event_->get_property ("alternative-dir"), RIGHT);
- switch (alternative_dir)
- {
- case LEFT:
- alternative_number_ = 0;
- break;
- case CENTER:
- break;
- case RIGHT:
- alternative_number_ = INT_MIN;
- break;
- default:
- assert (false);
- }
- alternative_number_ += alternative_number_increment_;
-
- alternative_number_increment_ = robust_scm2int (alternative_event_->get_property ("alternative-increment"), 1);
- }
- if (alternative_number_ >= 0)
- {
- string alphabet = "abcdefghijklmnopqrstuvwxyz";
- int power = 0;
- int running_sum = 0;
- int scratch = alternative_number_;
- while (running_sum <= alternative_number_)
- {
- power++;
- running_sum += int_pow (26, power);
- }
- scratch += int_pow (26, power) - running_sum;
- for (int i = power; i--;)
- text_tag += alphabet.at ((scratch / int_pow (26, i)) % 26);