{"id":24355304,"url":"https://github.com/redfrik/f0abs","last_synced_at":"2026-03-11T19:02:59.197Z","repository":{"id":65556942,"uuid":"12030034","full_name":"redFrik/f0abs","owner":"redFrik","description":"abstractions for maxmsp","archived":false,"fork":false,"pushed_at":"2025-03-01T23:39:00.000Z","size":185,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T00:24:42.946Z","etag":null,"topics":["maxmsp"],"latest_commit_sha":null,"homepage":"https://www.fredrikolofsson.com/","language":"Max","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redFrik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-08-11T02:25:30.000Z","updated_at":"2025-03-01T23:39:04.000Z","dependencies_parsed_at":"2025-01-18T17:35:27.979Z","dependency_job_id":"951be276-7cd8-4a3b-9c73-806e65e06cc7","html_url":"https://github.com/redFrik/f0abs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redFrik%2Ff0abs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redFrik%2Ff0abs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redFrik%2Ff0abs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redFrik%2Ff0abs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redFrik","download_url":"https://codeload.github.com/redFrik/f0abs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243172128,"owners_count":20247885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["maxmsp"],"created_at":"2025-01-18T17:30:00.058Z","updated_at":"2026-03-11T19:02:59.192Z","avatar_url":"https://github.com/redFrik.png","language":"Max","funding_links":[],"categories":[],"sub_categories":[],"readme":"# abstractions for max/msp/jitter\n\nAbstractions to be used with [MaxMSPJitter](https://cycling74.com)\n\n- f0.active - Help to turn off processes if inactive in more than x ms.\n- f0.atolf - ASCII to list-of-floats conversion.\n- f0.average_tempo - Gives an average tempo of the last bangs.\n- f0.beats_to_frames - Calculates how many [video]frames will fit in x beats.\n- f0.bounds - Detect if a xy location is within the bounds of a shape.\n- f0.clock - Slow down metro / line / delay / pipe / clocker / timeline objects.\n- f0.coords_to_rect - Convert x1, y1, x2, y2 to x, y, width, height.\n- f0.data_rec - Record timestamped messages.\n- f0.data_seq - Record and playback messages.\n- f0.delay - FIFO delay line for messages.\n- f0.delayf - FIFO delay line for numbers with feedback.\n- f0.dict - Simple dictionary.\n- f0.drunk - Floating-point drunk.\n- f0.duplicates_in_coll - Remove duplicate data in coll objects.\n- f0.ease - Ease in, ease out.\n- f0.efxgate - Route via effect. Also works with Jitter matrices.\n- f0.fallout - Probabilistic gate.\n- f0.float_counter - Counter with floating-point direction/rate.\n- f0.flush - Replacement for the standard [flush] object. This one also handles MIDI channels.\n- f0.fold~ - Fold a signal.\n- f0.folder - Wrapper for the standard [folder] object. Easily connects to coll, umenu and msgbox.\n- f0.frames_to_beats - Calculates how many beats will fit in x [video]frames.\n- f0.gauss - Gaussian distribution.\n- f0.hms_to_ms - Converts hours-minutes-seconds to milliseconds.\n- f0.jit_dimchange - Outputs dim if a Jitter frame differs from previous.\n- f0.jit_dimchange2 - Outputs dim if a Jitter frame differs from previous. More efficient version.\n- f0.jit_fade - Fader built for efficiency.\n- f0.jit_fade_uyvy - Fader built for efficiency.\n- f0.jit_lfos - A bank of LFOs.\n- f0.jit_mix - Mixer built for efficiency.\n- f0.jit_mix_uyvy - Mixer built for efficiency.\n- f0.key - Wrapper for key and keyup.\n- f0.l== - Outputs 1 if two lists match.\n- f0.lchange - Filter out repeated lists.\n- f0.lftoa - List-of-floats to ASCII conversion.\n- f0.line_exp - Exponential line.\n- f0.line_log - Logarithmic line.\n- f0.line - A different line.\n- f0.list_all_zero - Outputs 1 if all numbers in a list are zero.\n- f0.list_arpeggio - Iterates over a list with a delay.\n- f0.list_collect - Builds a list of incoming messages.\n- f0.list_first_nonzero - Output index of first non-zero item in list.\n- f0.list_num_nonzero - Count number of non-zero items in a list.\n- f0.live - Record and repeat x messages y times.\n- f0.lohi - +/- range.\n- f0.makenote - Replacement for the standard [makenote] object. This one also handles MIDI channels.\n- f0.miniseq2 - MIDI note sequencer with variable playback rate.\n- f0.mouse_move - Moves the mouse by a small amount if inactive for more that x seconds.\n- f0.ms_to_hms - Converts milliseconds to hours-minutes-seconds.\n- f0.multidelay~ - Tap delay with variable number of tap outputs, independent delaytimes and levels.\n- f0.oitar - Calculate width/height proportion.\n- f0.once - loadbang that only fires once for all instances.\n- f0.one_block_gate - Blocks only one message, then opens the gate.\n- f0.one_through_gate - Lets only one message pass, then closes the gate.\n- f0.play_env~ - One shot sample player with an envelope.\n- f0.play~ - One shot sample player.\n- f0.r - Receiver that remembers and has a built-in gate.\n- f0.rand - Floating-point random.\n- f0.rand2 - Floating-point random bilinear.\n- f0.ratio - Keep width/height proportion.\n- f0.rect_to_coords - Convert x, y, width, height to x1, y1, x2, y2.\n- f0.rotary - For endless rotary encoders.\n- f0.route_index - Route lists beginning with index.\n- f0.route_pattern - Prepends indices from a pattern.\n- f0.rrand - Range random.\n- f0.s== - Outputs 1 if two symbols match.\n- f0.sah - Sample and hold messages.\n- f0.sample - Reduce a stream of messages.\n- f0.schange - Filter out repeated symbols.\n- f0.sched - Delay items or lists.\n- f0.seed - Custom seed for random objects.\n- f0.seq - Simple step sequencer for messages.\n- f0.sine_rule - Sine rule.\n- f0.vmk - Basic computer keyboard -\u003e piano mapping.\n- f0.void - \n- f0.vr - Value+receive that remembers what has been received.\n- f0.vs - Value+send that remembers what has been sent.\n\nSee also \u003chttps://fredrikolofsson.com/code/max/\u003e\n\n## download \u0026 install\n\nPut this folder somewhere on your harddrive, open Max and go to options/filepreferences and add the folder there.\n\n\n## version history\n\n-----250317\n* new release\n* cleaned up and formatting\n* deleted f0.wrap~\n* added f0.beats_to_frames, f0.frames_to_beats, f0.ratio\n\n-----241112\n* added f0.fallout, f0.gauss, f0.rrand, f0.lohi\n\n-----221121\n* added f0.data_rec\n* compressed the png logo\n\n-----130810\n* uploaded to github\n* remade all help and pat files in max5.  so now they are maxhelp and maxpat instead\n\n-----110216\n* added f0.atolf, f0.lftoa, f0.ease, f0.efxgate, f0.oitar\n\n-----091221\n* added reset inlets to f0.jit_dimchange and f0.jit_dimchange2\n\n-----090922\n* added f0.key and f0.jit_dimchange2\n\n-----090713\n* added 3rd outlet for f0.data_seq\n* f0.vmk bugfixes\n\n-----090708\n* added 2nd index outlet for f0.data_seq\n* added 2nd rest outlet for f0.sample\n* added f0.float_counter, f0.jit_fade_uyvy, f0.jit_mix_uyvy\n\n-----081109\n* fixed serious bug in f0.bounds and added better example to the helpfile\n\n-----081009\n* added f0.jit_lfos, f0.rand2, f0.rotary, f0.void (no helpfile)\n* minor: removed gui numberboxes in f0.exp_line, f0.log_line, f0.line, f0.sine_rule\n* fixed minor bug in f0.drunk\n* new midi example in f0.seq.help\n\n-----070108\n* updated f0.mouse_move with a clock message and removed unneeded bang\n* updated f0.duplicates_in_coll - bugfix and no more need for lobjects\n* added f0.active, f0.dict, f0.jit_dimchange f0.l==, f0.lchange, f0.once, f0.r, f0.schange, f0.seed, f0.seq\n\n-----070108\n* added f0.bounds, f0.delay, f0.delayf, f0.drunk, f0.fold~, f0.jit_fade, f0.jit_mix, f0.live, f0.multidelay~, f0.play_env~, f0.play~, f0.sah, f0.wrap~\n\n-----060831\n* added f0.list_all_zero, f0.list_first_nonzero, f0.list_num_nonzero, f0.rand, f0.s==\n* updated f0.mouse_move.  time in float, stepsize x/y, bonce and wrap mode\n\n-----060606\n* added f0.list_collect, f0.route_pattern, f0.sample\n* dropped os9 support.  most abstractions will still work though.\n* stop method for f0.list_arpeggio\n\n-----060508\n* added f0.coords_to_rect, f0.rect_to_coords, f0.list_arpeggio, f0.route_index, f0.sched, f0.vmk\n* removed gui numberboxes in f0.hms_to_ms and in f0.ms_to_hms\n* updated f0.average_tempo.  no more dependency on Lobjects, added 2nd init bpm argument, added bpm \u0026 ms set messages, and it no longer waits for n bangs before output\n\n-----050227\n* added f0.data_seq, f0.makenote, f0.one_block_gate, f0.vr, f0.vs\n* removed f0.bs, f0.bs_mini\n* updated f0.miniseq2 to handle midichannels (thanks to j.hudak).  changed ratio argument, changed from done to loopend outlet, fixed bugs and dropped pre max4 support.  added more examples\n* got rid of gswitch2 in f0.line_exp, f0.line_log, f0.duplicates_in_coll\n* fixed .pat file extensions and a tiff logo for wmax compability\n\n-----040301\n* converted f0.auto_scale from abstraction.  see f0.externals\n* converted and renamed f0.ratio4-3 to an external called f0.ratio.  see f0.externals\n\n-----040226\n* major overhaul - updated for xmax\n* removed f0.checkered\n* removed f0.ishock\n* removed omspatches\n* converted f0.round from abstraction.  see f0.externals\n* removed f0.fquantize and f0.quantize.  use f0.round instead\n* converted and renamed f0.inc/dec_split to an external called f0.inc_dec_split.  see f0.externals\n* converted f0.limit_counter from abstraction.  see f0.externals\n\n-----030103\n* f0.checkered, f0.clock, f0.duplicates_in_coll, f0.flush, f0.fquantize, f0.inc/dec_split, f0.ishock, f0.line, f0.line_exp, f0.line_log, f0.miniseq2, f0.mouse_move, f0.oms_patches, f0.ratio4-3 added\n\n-----011210\n* first release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredfrik%2Ff0abs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredfrik%2Ff0abs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredfrik%2Ff0abs/lists"}