How to sequence glissando

I would like to sequence glissandos.
I tried that kind of thing, but it does not work :

Pbind(\instrument, \sine,
	\degree, Pseq([Pfunc({ XLine.kr(0, 12, 1)}), Pfunc({ XLine.kr(1, 13, 1)})], inf),
    \amp, 0.2
).play;

How to do ?

hi and welcome!

the use of XLine here suggests server-client confusion. as a reminder, ugens such as SinOsc and XLine can be used only in a SynthDef which is compiled and sent to the server. XLine is not applicable to pattern code, which is executed on the client. see Client vs Server for more info.

the native approach for writing patterns with linear trajectories is Pseries (a misnomer — it’s an arithmetic sequence, not an arithmetic series):

(
Pbind(*[
    instrument: \default,
    dur: 0.1,
    degree: Pseq([Pseries(0, 1, 20), Pseries(1, 1, 20)])
]).play;
)

or you can Pseq an ascending series of tones. lots of options here really.

Thank you for the answer and clarifying on Xline. But these are not separate sounds that I try to sequence, but continuous glissandos.

You might want to have a look at the tutorial “Event Patterns and LFOs” from miSCellaneous_lib quark.
It collects various strategies for glissando and glissando-like effects with patterns, by stepwise approximation as well as by “enveloped” glissando - not totally sure but as I understand you want the latter. Also there’s the possibility of Pmono.

Some time ago I asked about this, not sure if I asked properly and I if I got an proper general solution for the problem

search for Simple glissando using \detune on 2018 list archive

Thanks, but:
Found 0 matching posts for Simple glissando using \detune in New SuperCollider Mailing Lists Forums (Use These!!!)

@dkmayer : Thanks, I will look for that side.

@elode
Sometimes it is better to distinguish glissando and portamento.

Often glissando means what Nathan showed in his example codes.

Often portamento means what Frederik showed in his example codes in the thread “Simple glissando using \detune” in New SuperCollider Mailing Lists Forums (Use These!!!).

Is the following example could be what you tried to achieve in your first post (I think the starting pitch and the ending pitch should have more time to be heard sufficiently.)?

(
	SynthDef(\portamentoSin, {
		arg out=0, pan=0, freq=440, endFreq=440, dur=1, amp=2.0, atk=0.0001, rel=0.1;
		var sus, sig, env;
		sus = dur - atk - rel;
		env = EnvGen.ar(Env.linen(atk, sus, rel), doneAction:2);
		sig = SinOsc.ar(XLine.kr(freq, endFreq, dur*0.8).lag(dur*0.2).poll);
		Out.ar(out, Pan2.ar(sig, pan, amp) * env);
	}).add;
)

(
	Pbind(\instrument, \portamentoSin,
		\scale, Scale.major,
		\degree, Pseq([ 0, 1] , inf),
		\detune2, Pseq([7], inf),  // 7 is octave.
		\endFreq, Pfunc({|e| e.postln; e.scale.degreeToFreq(e.degree + e.detune2, 0.midicps, e.octave)}),
		\octave, 5, 
		\dur,  3,
		\atk, 0.01,
		\rel, 0.09
	).play;
)

@prko Thank you, I will study this.