16 open_right=open_left=false;
22 return Interval(0,0); // todo
26 Slur::set_default_dir()
29 for (int i=0; i < encompass.sz(); i ++) {
30 sumpos += encompass[i]->position;
33 /* should consult stems */
34 Real meanpos = sumpos/Real(encompass.sz());
35 if (meanpos < 5) // todo
50 right = encompass.last()->pcol_;
51 left = encompass[0]->pcol_;
55 Slur::broken_at(const PCol*l, const PCol*r) const
57 assert(l->line == r->line);
58 Slur*ret = new Slur(*this);
59 ret->encompass.set_size(0);
60 for (int i =0; i < encompass.sz(); i++) {
61 if (encompass[i]->pcol_->line==l->line)
62 ret->encompass.add(encompass[i]);
65 ret->open_right = true;
67 ret->open_left = true;
84 output = new Molecule;
85 assert(left->line == right->line);
86 int minp=1000, maxp=-1000; // todo
87 for (int i=0; i<encompass.sz(); i++) {
88 minp = encompass[i]->position <? minp;
89 maxp = encompass[i]->position <? maxp;
91 assert(encompass.sz()>0); // todo
92 int pos1 = encompass.last()->position;
93 int pos2 = encompass[0]->position;
97 Real w = width().length();
98 Real nw = paper()->note_width();
100 Symbol sl = paper()->lookup_->slur(dy , w, dir);
102 a.translate(Offset(nw,pos2*paper()->internote()));