Skip to content

Instantly share code, notes, and snippets.

@yutannihilation
Created July 15, 2019 00:26
Show Gist options
  • Save yutannihilation/8793339c0c240adc83534e70e3b11811 to your computer and use it in GitHub Desktop.
Save yutannihilation/8793339c0c240adc83534e70e3b11811 to your computer and use it in GitHub Desktop.
library(httr)
library(rvest)
#> Loading required package: xml2

res <- read_html("https://mutable-instruments.net/modules/")

available_modules <- res %>%
  html_node("div.Grid-container[data-category='all']") %>%
  html_nodes("a.Grid-cell")

# discontinued
discontinued_modules <- res %>%
  html_node("div.Grid-container.Grid-container--discontinued[data-category='all']") %>%
  html_nodes("a.Grid-cell")

extract_one_cell <- function(x) {
  link <- paste0("https://mutable-instruments.net", html_attr(x, "href"), "open_source/")
  name <- x %>% html_node("div.Grid-moduleName") %>% html_text()
  title <- x %>% html_node("div.Grid-moduleTitle") %>% html_text()
  
  list(name = name, title = title, link = link)
}

df1 <- purrr::map_dfr(available_modules, extract_one_cell)
df1$discontinued <- "no"

df2 <- purrr::map_dfr(discontinued_modules, extract_one_cell)
df2$discontinued <- "yes"

df <- dplyr::bind_rows(df1, df2)
knitr::kable(df)
name title link discontinued
Blinds Quad VC-Polarizer https://mutable-instruments.net/modules/blinds/open_source/ no
Branches Dual Bernoulli Gate https://mutable-instruments.net/modules/branches/open_source/ no
Ears Contact microphone https://mutable-instruments.net/modules/ears/open_source/ no
Elements Modal synthesizer https://mutable-instruments.net/modules/elements/open_source/ no
Frames Mixer/keyframer https://mutable-instruments.net/modules/frames/open_source/ no
Grids Topographic drum sequencer https://mutable-instruments.net/modules/grids/open_source/ no
Kinks Mingling and mangling https://mutable-instruments.net/modules/kinks/open_source/ no
Links Multiples and mixing https://mutable-instruments.net/modules/links/open_source/ no
Marbles Random sampler https://mutable-instruments.net/modules/marbles/open_source/ no
Plaits Macro-oscillator https://mutable-instruments.net/modules/plaits/open_source/ no
Rings Resonator https://mutable-instruments.net/modules/rings/open_source/ no
Ripples Liquid filter https://mutable-instruments.net/modules/ripples/open_source/ no
Shades Attenuator/offset/mixer https://mutable-instruments.net/modules/shades/open_source/ no
Shelves EQ filter https://mutable-instruments.net/modules/shelves/open_source/ no
Stages Segment generator https://mutable-instruments.net/modules/stages/open_source/ no
Streams Dual dynamics gate https://mutable-instruments.net/modules/streams/open_source/ no
Tides Tidal modulator https://mutable-instruments.net/modules/tides/open_source/ no
Veils Quad VCA https://mutable-instruments.net/modules/veils/open_source/ no
Warps Meta-modulator https://mutable-instruments.net/modules/warps/open_source/ no
Yarns 4-channel MIDI interface https://mutable-instruments.net/modules/yarns/open_source/ no
Braids Macro-oscillator https://mutable-instruments.net/modules/braids/open_source/ yes
Clouds Texture synthesizer https://mutable-instruments.net/modules/clouds/open_source/ yes
Edges Quad chiptune audio generator https://mutable-instruments.net/modules/edges/open_source/ yes
Peaks Envelope/LFO/tap LFO/Drum generator https://mutable-instruments.net/modules/peaks/open_source/ yes
Tides Tidal modulator https://mutable-instruments.net/modules/tides1/open_source/ yes

Created on 2019-07-15 by the reprex package (v0.3.0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment