On Tue, Jun 30, 2020 at 8:40 PM Thilo Borgmann <thilo.borgm...@mail.de> wrote:
> Am 30.06.20 um 16:09 schrieb Ashutosh Pradhan: > > On Mon, Jun 29, 2020 at 6:53 PM Moritz Barsnick <barsn...@gmx.net> > wrote: > > > >> On Thu, Jun 25, 2020 at 21:15:06 +0530, Ashutosh Pradhan wrote: > >>> Generate algorithmic riff music. Changed to activate api. > >> > >> This commit doesn't change to activate API, as it introduces this > >> filter. So that sentence doesn't belong here. > >> > >>> - Real War KVAG muxer > >>> - > >>> +- atone filter > >> > >> Don't remove the empty line. > >> > >>> --enable-libflite enable flite (voice synthesis) support via > >> libflite [no] > >>> + --enable-libfluidsynth enable libfluidsynth support for fluidsynth > >> [no] > >> > >> "for fluidsynth"?. Perhaps "for atone source". > >> > > Will change to above. > > > >> > >>> atempo_filter_select="rdft" > >>> +atone_filter_deps="libfluidsynth" > >> > >>> +@item sfont > >>> +Specify the location of soundfont file. Default value is > >>> +"/usr/share/sounds/sf2/FluidR3_GM.sf2"(for linux). > >> > >> For Linux - and elsewhere? > >> It will be the same path on all Unixes, but meaningless under Windows, > >> I guess. > >> > > Yes. > > Windows doesn't have the recommended Fluid_R3 General Midi SoundFont > file. > > So one has to enter the path every time. > > > >> > >>> +++ b/libavfilter/Makefile > >>> @@ -152,6 +152,7 @@ OBJS-$(CONFIG_FLITE_FILTER) += > >> asrc_flite.o > >>> OBJS-$(CONFIG_HILBERT_FILTER) += asrc_hilbert.o > >>> OBJS-$(CONFIG_SINC_FILTER) += asrc_sinc.o > >>> OBJS-$(CONFIG_SINE_FILTER) += asrc_sine.o > >>> +OBJS-$(CONFIG_ATONE_FILTER) += asrc_atone.o > >> > >> I believe the audio sources are meant to be sorted alphabetically (by > >> CONFIG_*). > >> > >>> --- a/libavfilter/allfilters.c > >>> +++ b/libavfilter/allfilters.c > >>> @@ -146,6 +146,7 @@ extern AVFilter ff_asrc_flite; > >>> extern AVFilter ff_asrc_hilbert; > >>> extern AVFilter ff_asrc_sinc; > >>> extern AVFilter ff_asrc_sine; > >>> +extern AVFilter ff_asrc_atone; > >> > >> Same here. > >> > >>> +#include <float.h> > >> > >>> + s->beat_dur = 60000/s->beats_pm; > >>> + /*get change interval in frames/sec*/ > >>> + s->changerate = (4*s->beat_dur)*s->sample_rate/s->nb_samples; > >>> + if (s->changerate<1.0) > >>> + s->changerate = 1.0; > >> > >> Please leave single spaces around the operators such as '/', '*', '<'. > >> > >>> + s->numriffs = sizeof(riff)/(NPR* sizeof(int)); > >> > >> Same here. > >> > >>> + for (int i = 0; i < s->numriffs*NPR ; i++) > >> > >> And here. > >> > >>> + if (s->framecount == INT_MAX) > >>> + s->framecount = 0; > >> > >> Indentation. > >> > >>> + for (int i = 0; i < > >> sizeof(GM_instrument_list)/sizeof(GM_instrument_list[0]); i++) > >> > >> Use macro FF_ARRAY_ELEMS > >> > >>> + if (strcmp(GM_instrument_list[i], instrument) == 0) > >>> + return i; > >>> + > >>> + return 0; > >>> +} > >> > >> If this doesn't match any string, it returns 0. It also returns 0 if it > >> matches "Acoustic-Grand". Is that correct? (In find_percussion_track(), > >> you return i instead.) > >> > > I didn't want to output an error incase the instrument did not match. I > > forgot to update 0 with the number of the default instrument. I will > update > > that. > > For that case, you might want to output a warning that the instrument > could not be matched and the default instrument will be used instead. > I will change the code to implement this. > > >> > >>> +static void schedule_noteon(int chan, short key, unsigned int ticks, > >> int velocity, AtoneContext *s) > >>> +{ > >>> + fluid_event_t *ev = new_fluid_event(); > >> > >> Indentation. > >> > >>> + unsigned rand = av_lfg_get(&s->r)/2; > >> [...] > >>> + riff = rand%s->numriffs; > >> > >> Spaces around operators, please. > >> > >>> + if (3*i < numbars) > >>> + return (100 - (90*i)/numbars); > >>> + else if (3*i > 2*numbars) > >>> + return (40 + (90*i)/numbars); > >> > >> Same here. > >> > >>> +/*Determine the pattern, tempo (to paly as 8th, 16th or 32nd notes) > and > >> add the riffs to sequencer > >> > >> "play" > >> > >>> +Refernce: http://peterlangston.com/Papers/amc.pdf */ > >> > >> "Reference" > >> > >>> + AVFrame *frame; > >>> + int nb_samples; > >> ^^ two spaces, drop one. > >> > >>> + ret = ff_set_common_formats (ctx, formats); > >> ^ drop the space > >> > >>> +typedef struct > >>> +{ > >> > >> Bracket on the same line. > >> > >>> +Refernce: http://peterlangston.com/Papers/amc.pdf */ > >> > >> "Reference". > >> > > -Thilo > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".