[PD] Re: [PD-announce] Pd-lists now running on mailman3

2024-08-09 Thread Giulio Moro via Pd-list
Back when you could get a new "major" release for a missing dll https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/thread/SCXHP655TORUY4VS5IQSXEG2GZOZ7CZY/ Winfried Ritsch wrote on 09/08/2024 14:20: Am Freitag, 9. August 2024, 10:22:39 CEST schrieb cyrille henry: Le 08/08/2024 � 19:08

Re: [PD] copy data between arrays

2024-04-23 Thread Giulio Moro via Pd-list
If you need 'instantaneous' (zero logical time) copy, then [array get] and [array set] are probably a good option, but even though this will not stop the DSP, it may well cause an audio dropout, typically in the case of large copies on a system with small blocksize and small buffer size and non

[PD] A web frontend for Pd

2023-03-16 Thread Giulio Moro via Pd-list
Here's something the Chair and Bela teams have been working on for a few months: a proof-of-concept web interface to Pd. https://github.com/BelaPlatform/pure-data-web-GUI This leverages the refactored communication protocol effort by Iohannes in order to obtain a "toolkit-agnostic Core<->GUI

Re: [PD] phase locked loop

2023-03-14 Thread Giulio Moro via Pd-list
i noticed that the CPU toll on BELA is quite high with puredata and fexpr~ If you are not going full-polyphonic, you could try to disable unused [fexpr~] objects based on the envelope's amplitude, either via [switch~] or using [start( and [stop( messages to [fexpr~]. maybe (if i take this fu

Re: [PD] [PD-announce] pd 0.53-0test1 released

2022-10-21 Thread Giulio Moro via Pd-list
I am sorry if this conversation has taken place before and I missed it, but is it expected that the default parameters (size etc) for most (all?) iemguis has changed with 0.53 compared to 0.52 (and possibly all previous versions)? E.g.: hsl width: 128->162 height: 15->19 label font size: 10->

Re: [PD] mobmubplat and env~

2022-08-27 Thread Giulio Moro via Pd-list
Not that I have any experience with mobmuplat, but to validate whether it is the env~ object that stops working with the GUI, try to use its output to control audio output (e.g.: attached patch). This will tell you whether it's a GUI or env~ issue. If this works, maybe try throttling the messag

Re: [PD] JACK and blocksize

2022-01-16 Thread Giulio Moro via Pd-list
On Bela we've been running with blocksize of 8 for a few years since 2016 and then we moved to 16 samples per block around 2018 I think (in both cases redefining the problematic constants). I think only in a couple of occasions this caused an incompatibility with a couple of externals relying o

Re: [PD] Multiple audio outputs on a single-board computer ?

2021-03-17 Thread Giulio Moro via Pd-list
disclaimer: I work for this company We sell the CTAG-FACE (4in/8out) and CTAG-BEAST (8in/16out). These work with BeagleBone Black via ALSA or Bela's ultra-low-latency environment. No fiddly USB ports, relatively compact, super reliable, works out of the box. https://shop.bela.io/collections/ct

Re: [PD] comport and/or MIDI on Tiny Core Linux

2020-10-27 Thread Giulio Moro via Pd-list
Each Makefile has a different way of looking for the path where m_pd.h, and where it is located on your system depends on how you installed Pd ... normally `find /usr/include /usr/local/include -name m_pd.h` will tell you where the file is. Once you know where it is, you can inspect the `Makefil

Re: [PD] comport and/or MIDI on Tiny Core Linux

2020-10-27 Thread Giulio Moro via Pd-list
That's a Linux build, but is it an ARM build compatible with the architecture in use? Try `file /path/to/comport.ld_linux` and make sure you get the same result as you'd get for any externals that actually work. You can run `Pd` with the verbose flag and that should print some extra info about

Re: [PD] ISO works combining PD and sculpture

2020-10-27 Thread Giulio Moro via Pd-list
There are a number of Pd-based sculptures done with Bela, see for instance: Fedde Ten Berge https://blog.bela.io/2017/12/12/fedde-ten-berge-instruments-bela/ Yann Seznec https://blog.bela.io/2020/06/24/trampoline-synth/ John Ferguson, Erik Griswold, Paul Bardini, and Daniel Della-Bosca https://

Re: [PD] Startup times to run Pd patch on Raspberry Pi

2020-10-05 Thread Giulio Moro via Pd-list
Never used one, but you can try tweaking the "After" or "Requires" parameter in the systemd script. On Bela, this commit cut down the power-to-sound time from 18 to 10 seconds (and there's room for improvement): https://github.com/BelaPlatform/bela-image-builder/commit/a85b82b526f3529523b9b67a70

Re: [PD] rendering pd patches outside pd

2020-03-07 Thread Giulio Moro via Pd-list
FWIW, there is something similar already (and yes it has the same limitations on in/out ports) https://github.com/sebpiq/pd-fileutils/ we are using it on Bela to preview Pd patches, so we made a couple of changes to fix some issues with it ( https://github.com/BelaPlatform/Bela/commits/master/

Re: [PD] Sample loop - start and end point (WAV files)

2020-02-12 Thread Giulio Moro via Pd-list
libsndfile also can extract loop points from a variety of formats. The relevant code for wav is here https://github.com/erikd/libsndfile/blob/master/src/wav.c#L1140-L1163 Kjetil Matheussen wrote: On Wed, Feb 12, 2020 at 10:56 AM Kjetil Matheussen wrote: On Wed, Feb 12, 2020 at 10:14 AM Ingo

Re: [PD] Raspberry Pi: Loading Samples RAM problem

2019-11-01 Thread Giulio Moro via Pd-list
You cannot really "extend" the RAM of a board. You need a more clever way of loading samples. One common approach is to load only the beginning of all the samples in a table, and then whenever the sample is triggered, start by playing back the pre-loaded table, while you start reading the remai

Re: [PD] mrpeach external for armv7

2019-06-24 Thread Giulio Moro via Pd-list
build it from source? as far as I remember, it is very straightforward. On Monday, 24 June 2019, 15:28:26 BST, Csaba Láng wrote: Dear list, is there a way to install the mrpeach pack for armv7 with ubuntu 16.04? Thanks, Popesz ___ Pd-list@lists.iem

Re: [PD] MIDI device showing up as an audio device in a singleboard linux device

2019-02-04 Thread Giulio Moro via Pd-list
I don't know why it shows up in audio, really. /dev/midi1 is OSS (or an emulation of it). OSS is an audio/midi driver older than ALSA. I don't know anything about OSS, but maybe it lists the MIDI devices under audio as well? Maybe this version of Pd has been built without support for ALSA? I thi

Re: [PD] MIDI device showing up as an audio device in a singleboard linux device

2019-02-04 Thread Giulio Moro via Pd-list
So, assuming you have one MIDI device plugged in and also some sort of audio codec, then it seems that ALSA  is recognizing these devices correctly. What audio backend is selected in Pd? What (if any) MIDI devices show up? On Tuesday, 5 February 2019, 02:42:17 GMT, Alexandre Torres Porres wr

Re: [PD] MIDI device showing up as an audio device in a singleboard linux device

2019-02-04 Thread Giulio Moro via Pd-list
can you run    amidi -l   aplay -l in the terminal and post the results? On Tuesday, 5 February 2019, 02:26:18 GMT, Alexandre Torres Porres wrote: Hi, so, I'm still trying to use this old and now just garbage C.H.I.P. computer (the 1st under 10$ single board computer). It's running Pd 0.49-0

Re: [PD] vanilla partitioned convolution abstraction

2019-01-03 Thread Giulio Moro via Pd-list
interesting thanks. I am on Pd 0.49.1 on Mac (10.11.6) and when I open the conv~-help.pd file I often (but not always!) get the following error in the Pd console: ``` while executing   ("uplevel" body line 1354)   invoked from within "uplevel#0 $docmds" ``` and sometimes some more, possibly havin

Re: [PD] save patch as an image

2018-12-30 Thread Giulio Moro via Pd-list
Possibly not what you are looking for, but on Bela we use a modified version of  https://github.com/sebpiq/pd-fileutils to generate a preview SVG from a .pd file. This has the big advantage of not needing Pd, so you could run it in the user's browser or on a server, and consequently it has at lea

Re: [PD] Status of PD double precision

2018-12-16 Thread Giulio Moro via Pd-list
It's been done this past summer for Purr-data/Pd-l2ork. Here is the report:  http://disis.music.vt.edu/pipermail/l2ork-dev/2018-August/002019.html Best, Giulio On Sunday, 16 December 2018, 11:29:25 GMT, Dario Sanfilippo wrote: Hello, list. I'm just curious to know if anybody is actively work

Re: [PD] Puredata and DMX using OLA

2018-06-22 Thread Giulio Moro via Pd-list
libola itself may have a number of deps: on my Debian system I get $ pkg-config --libs libola -L/usr/local/lib -lola -lolacommon -lprotobuf so maybe IOhannes's second line could be amended to: $ make -f /usr/share/pd-flext/dev/Makefile.flext ldlibs="$(pkg-config --libs pd-flext) $(pkg-config --

Re: [PD] Pure Data and Bela - newb

2018-06-13 Thread Giulio Moro via Pd-list
there was an error in my debouncing patch, now fixed at the URL below. Sending a float into [delay] changes the delay time, and that gets me every time (I instinctively think that it just gets casted to a bang!). Giulio On Wednesday, 13 June 2018, 21:58:34 BST, Wendy Van Wynsberghe wrote:

Re: [PD] suggestion: $0 in messages

2018-04-06 Thread Giulio Moro via Pd-list
On Friday, 6 April 2018, 13:42:26 BST, Jonathan Wilkes via Pd-list wrote: On Friday, April 6, 2018, 6:24:13 AM EDT, Giulio Moro via Pd-list wrote:  > I don't think it makes sense to have a malloc() and free() for each call to a > msg box. > Pd is already not very real-time frie

Re: [PD] suggestion: $0 in messages

2018-04-06 Thread Giulio Moro via Pd-list
I don't think it makes sense to have a malloc() and free() for each call to a msg box. Pd is already not very real-time friendly, why make it worse? There could be ... - statically allocated memory for t_gstack y in pd_pushsym - a pre-allocated memory pool meant for short-lived memory allocations

Re: [PD] mrpeach for raspberrypi ?

2017-08-08 Thread Giulio Moro via Pd-list
No idea, but your friend should be able to build them from source easily. I built them for the BeagleBone Black and that was straightforward. On Tuesday, 8 August 2017, 19:14:53 BST, oliver wrote: hi, does anybody know if the mrpeach externals (are compiled for the raspberry pi architecture ?

Re: [PD] failing to run some externals in libpd for android

2017-07-04 Thread Giulio Moro via Pd-list
As to "compiling but not working", I had issues in the past where some alloca() in [fiddle~] were failing on the BeagleBone Black (that is, Linux, but embedded), so it was failing at runtime with no meaningful error other than "segmentation fault".  On Tuesday, 4 July 2017, 15:03:28 BST, Alexan

Re: [PD] using bob~ with libpd for android

2017-06-22 Thread Giulio Moro via Pd-list
What EXTRA=true does when building with the Makefile is that it adds in the .o files generated by the .c files in Pure-data/extras to the prerequisites for the library and links them in. In practice, if you can add the .c files in extras/ so that they get compiled and linked in by your project y

Re: [PD] using bob~ with libpd for android

2017-06-22 Thread Giulio Moro via Pd-list
I have no idea how you build libpd for Android (I also assume that you are building it yourself). When I build it for Linux I do something like: `make EXTRA=true <>` that flag `EXTRA=true` makes sure that the extras are compiled and linked into the `libpd.so` file.I hope the above can be somehow

Re: [PD] using bob~ with libpd for android

2017-06-22 Thread Giulio Moro via Pd-list
I think you need to make libpd with EXTRA=true or something like that in order to include the extras in the libpd library file without need for extra files. Or at least that's how it works on linux/mac, no idea about android. Just double check in the build log that bob~.o actually gets compiled a

Re: [PD] [OT] pd-announce vs pd-list (was Re: Cyclone 0.3 beta 2 released)

2017-06-19 Thread Giulio Moro via Pd-list
If they were to post to both lists at the same time, mailman should be clever enough to prevent sending duplicated messages to who subscribers that are in both lists? Or at least if mailman is not that clever, many mail clients would be able to detect the duplicate and show a single message. But

Re: [PD] metro slow down + audio drop-outs

2017-06-16 Thread Giulio Moro via Pd-list
Pd messages get processed in the audio thread in a sample-accurate fashion. This means that if you are sending many messages within the time of the audio callback, then your callback will take longer to execute. If the time it takes to execute exceeds the time available for it to complete, then

Re: [PD] messages FROM pd ? ...

2017-05-16 Thread Giulio Moro via Pd-list
I think the documentation clearly says somewhere something along the lines of "to find out more of these, look at the source code for Pd". Giulio From: oliver To: pd-l...@mail.iem.at Sent: Tuesday, 16 May 2017, 17:47 Subject: [PD] messages FROM pd ? ... hi, dear list ! i know abou

Re: [PD] Is PD using CPU optimisation?

2017-03-08 Thread Giulio Moro via Pd-list
In many Pd does this already. https://sourceforge.net/p/pure-data/pure-data/ci/0.47-1/tree/src/d_arithmetic.c?format=raw see "scalarover_perform" for instance: it computes a single division and then runs multiplications in the loop. But I think the compiler would figure out this on its own (per

[PD] libpd - Multiple instances of Pd

2017-03-02 Thread Giulio Moro via Pd-list
Hi, I was wondering if this is still a wanted feature and if anyone did some further work on this beyond what is here https://github.com/libpd/libpd/blob/master/samples/c/pdtest_multi/pdtest_multi.c I peeked through the Pd Vanilla (0.46) source code last night, and I am under the impression th

Re: [PD] netsend/netreceive questions ...

2017-02-22 Thread Giulio Moro via Pd-list
> (so the order of data arrival is guaranteed).  Well this is a design feature of UDP: there is no guarantee of whether packets are going to be received or in what order. If you use UDP, you MUST write your program in such a way that it is resilient to data loss and data order. If you don't, th

Re: [PD] Visualising HTML page in Purr-data

2017-02-16 Thread Giulio Moro via Pd-list
Nice, that works for . Any idea why I see nothing in objects? Thanks, Giulio From: Jonathan Wilkes To: Giulio Moro ; "pd-list@lists.iem.at" Sent: Thursday, 16 February 2017, 22:49 Subject: Re: Visualising HTML page in Purr-data > Hi, > great that purr-data

[PD] Visualising HTML page in Purr-data

2017-02-16 Thread Giulio Moro via Pd-list
Hi, great that purr-data is finally out. I went back to this thread https://www.mail-archive.com/pd-list@lists.iem.at/msg10518.html which briefly touched on the topic of visualizing HTML pages inside purr data, but did not find the solution to my problem. Using seems to load local files just

Re: [PD] test audio signals: Are there <~ and >~ objects?

2017-02-06 Thread Giulio Moro via Pd-list
> I don't know why [expr~] is usually not considered vanilla Maybe because it lives in extra/ instead of src/ ? What is extra/ there for, by the way? I remember it being mentioned in msp's paper that introduced [pd~], but not sure why it is still there. Giulio

Re: [PD] test audio signals: Are there <~ and >~ objects?

2017-02-06 Thread Giulio Moro via Pd-list
A solution is available in Enzien's heavylib  https://github.com/enzienaudio/heavylib , it involves some [min] and [clip -1e-37 0] . No [expr~], so it is also fully heavy-compatible (as you would expect).Giulio From: cyrille henry To: pd-list@lists.iem.at Sent: Monday, 6 February 2017,

Re: [PD] include libpd? (Re: plans for Pd 0.48)

2017-01-05 Thread Giulio Moro via Pd-list
Speaking of Bela, we have also been using libpd for the past nine months or so. Some modifications were necessary to allow Xenomai to perform at its best.   https://github.com/BelaPlatform/libpd/ The most important was to take the `sys_microsleep()` out of PROCESS(_x, _y) in z_libpd.c : this was

Re: [PD] [PD-announce] PURE DATA BENJOLIN

2016-11-28 Thread Giulio Moro via Pd-list
It surely is.I cannot find any details on the "open hardware" design of the instrument, though. Are they on the website somewhere? From: Eran Sachs To: "pd-l...@iem.at" ; "de...@umatic.nl" Sent: Monday, 28 November 2016, 19:44 Subject: Re: [PD] [PD-announce] PURE DATA BENJOLIN #

Re: [PD] Block staggering

2016-11-07 Thread Giulio Moro via Pd-list
you may want to have a look at these recent discussions on this list:https://lists.puredata.info/pipermail/pd-list/2016-10/116830.html https://lists.puredata.info/pipermail/pd-list/2016-09/116315.html Giulio From: Matt Barber To: PD-List Sent: Monday, 7 November 2016, 16:52 Subject

[PD] Does libpd know how many adc~ / dac~ channels are in use?

2016-10-31 Thread Giulio Moro via Pd-list
On our system we need to "prepare" (de-interleave/resample) the input/output channels that are passed to libpd.The user may not be using all the I/Os available in their patch.Is there a way to get from libpd the number of adc~/dac~ channels actually in use by the current Pd patch? This way we co

Re: [PD] Weird issue: need to increase Pd latency in FFT patches, otherwise Pd sound output glitches and clocks are slowing down!!!

2016-10-31 Thread Giulio Moro via Pd-list
It sounds like a design feature. The computation of re-blocked subpatches is not spread evenly over time, but it is carried out as fast as possible whenever the "clock ticks". The CPU usage is low on average, but there are spikes (on those sample blocks when all the ffts are computed) that preve

Re: [PD] Threading in Pd/libpd

2016-10-03 Thread Giulio Moro via Pd-list
Just the opposite, the idea is actually to avoid revising all existing objects, that's why I'd rather want to create variations on [block~] / [switch~] that support threading for all of the objects in the subpatch. Giulio From: Jonathan Wilkes To: Giulio Moro ; Pd-List Sent: Monday, 3 O

Re: [PD] Threading in Pd/libpd

2016-10-01 Thread Giulio Moro via Pd-list
Subpatches with the same or smaller block size as the parent patch should not be threaded.Subpatches with larger blocksize should be threaded, but it's left up to the user to enable that. From: Jonathan Wilkes To: Giulio Moro ; Pd-List Sent: Saturday, 1 October 2016, 6:08 Subject:

Re: [PD] Threading in Pd/libpd

2016-09-30 Thread Giulio Moro via Pd-list
The entire subpatch, which in principle can be used to wrap [fft~].My plan is to have a common way of wrapping these objects with threads so that I do not have to re-write all of them. Giulio From: Jonathan Wilkes To: Giulio Moro ; Pd-List Sent: Saturday, 1 October 2016, 1:43 Subje

Re: [PD] purr data beta1

2016-09-29 Thread Giulio Moro via Pd-list
interesting, can you please elaborate on this: > Its design principle is centered around nimble distributed development which > may (and already does) include improvements in core behavior. thanks Giulio > > From: Ivica Bukvic >To: Dan Wilcox >Cc: Pd-list >

Re: [PD] purr data beta1

2016-09-29 Thread Giulio Moro via Pd-list
Jonathan,I struggle a bit to understand what is the end goal of Purr Data:as far as I can tell, right now it is a re-implementation of the existing GUI in HTML5, which is great.Once this process is done (and I see we are very close now), how do you see the project will evolve? Will it just be ab

Re: [PD] Threading in Pd/libpd

2016-09-29 Thread Giulio Moro via Pd-list
>> With a >> threaded implementation, you could add a delay for that specific subpatch >> instead of the whole of Pd. > I'm having trouble seeing how that would work in practice. > Would the user specify the delay in ms/blocks as an argument? Yes, that's the plan, by default I'd set it to the nu

Re: [PD] Threading in Pd/libpd

2016-09-28 Thread Giulio Moro via Pd-list
So having a look at the source code I'd say what would happen is that the second block prints the samples of the sound file. I guess the point you are trying to make here is that a threaded version of [fft~], the perform routing should block if the samples are not ready in time. That sounds perf

Re: [PD] Threading in Pd/libpd

2016-09-28 Thread Giulio Moro via Pd-list
Thanks Jonathan. Also [readsf~] supports threading and so do [udpsend] and [udpreceive], for obvious reasons involving system calls. > Can you guarantee that the revisions you've implemented generate the same > output as Pd Vanilla, for all cases? I'd rather say it does not, in all cases. At

Re: [PD] Threading in Pd/libpd

2016-09-26 Thread Giulio Moro via Pd-list
It looks like I am not very lucky in getting attention, so let me try to re-up this. Can we implement a threaded [block~] ? see details below From: Giulio Moro To: Pd-List Sent: Sunday, 18 September 2016, 2:23 Subject: Threading in Pd/libpd Hi all,if I understand correctly, usi

[PD] Threading in Pd/libpd

2016-09-17 Thread Giulio Moro via Pd-list
Hi all,if I understand correctly, using the [block~] and [switch~] objects to increase the blocksize for a given subpatch, means that the DSP computation for that subpatch is delayed until the moment when enough input samples have been collected, at which point the entire DSP stack for the subpa

Re: [PD] bendin bug (?)

2016-09-12 Thread Giulio Moro via Pd-list
ha! good point!there goes my argument. From: Alexandre Torres Porres To: Giulio Moro Cc: Miller Puckette ; "pd-list@lists.iem.at" Sent: Monday, 12 September 2016, 21:10 Subject: Re: [PD] bendin bug (?) > didn't want to cause disturbance. please, this is no disturbance and I do

Re: [PD] bendin bug (?)

2016-09-12 Thread Giulio Moro via Pd-list
> it is a "weird" inconsistent standardI actually mean it is inconsistent with >how the data is represented according to the MIDI standard. > now i don't know if you're just pushing to make this point, when 3 people >already manifested that this sounds reasonable and intuitive as well. Signed int

Re: [PD] bendin bug (?)

2016-09-12 Thread Giulio Moro via Pd-list
As far as intuitiveness is concerned, -1 to 0.999878 is the most intuitive range for me.Just to make a point that intuitiveness is arbitrary. I would encourage to adopt the MIDI specifications and use those numbers [0-16383] OR a normalized value -1 to 0.999878. -8192 to 8191 sits somewhere in

Re: [PD] disable cores on linux to use as dedicated dsp

2016-09-07 Thread Giulio Moro via Pd-list
In Bela we use it, but the BeagleBone Black is single-core, so we do not run it 100% CPU because that would prevent Linux from running altogether. My upper limit currently is "how much CPU can I use for my audio while I can still be ssh'd into the board and nicely SIGINT the process", and that i

Re: [PD] disable cores on linux to use as dedicated dsp

2016-09-07 Thread Giulio Moro via Pd-list
I believe the solution to these things lies in using Xenomai or other RT extensions for Linux. With Xenomai you take control of the scheduler and you can have one process taking up an entire CPU, while the Linux kernel waits ( or uses other CPUs). Giulio From: Jonathan Wilkes via Pd-list

Re: [PD] Once again, -guiport -nogui

2016-09-04 Thread Giulio Moro via Pd-list
" or "save as" the dialog will be run from the GUI machine so you'll see all the wrong files on offer unless you've carefully mirrored the filesystem someho. cheers Miller On Sun, Sep 04, 2016 at 01:01:38PM +, Giulio Moro via Pd-list wrote: > I am re-upping this as I di

Re: [PD] bendin bug (?)

2016-09-04 Thread Giulio Moro via Pd-list
The specs don't say much about how to interpret the value actually https://www.midi.org/specifications/item/table-1-summary-of-midi-message "Pitch Bend Change. status: 1110 data: 0lll 0mmm This message is sent to indicate a change in the pitch bender (wheel or lever, typically). T

Re: [PD] bendin bug (?)

2016-09-04 Thread Giulio Moro via Pd-list
Is this a [bendin] or a [bendout]  bug? [bendin]'s current implementation is closer to the actual MIDI messages being transmitted. From: Alexandre Torres Porres To: "pd-list@lists.iem.at" Sent: Sunday, 4 September 2016, 17:26 Subject: [PD] bendin bug (?) so, bendout takes from

Re: [PD] Once again, -guiport -nogui

2016-09-04 Thread Giulio Moro via Pd-list
I am re-upping this as I did not get any response. From: Giulio Moro To: Pd list Sent: Monday, 22 August 2016, 12:33 Subject: Once again, -guiport -nogui Hi,I dug as much as I could into past posts on this topic, like these  https://lists.puredata.info/pipermail/pd-list/2007-08/05

[PD] Once again, -guiport -nogui

2016-08-22 Thread Giulio Moro via Pd-list
Hi,I dug as much as I could into past posts on this topic, like these  https://lists.puredata.info/pipermail/pd-list/2007-08/052611.html and this https://lists.puredata.info/pipermail/pd-list/2008-05/061978.html but I yet have to find the answer to: How do Ia) start the GUI with no DSP ?b) start th