Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a new scale #3

Closed
pitag-ha opened this issue Mar 15, 2023 · 14 comments · Fixed by #7
Closed

Add a new scale #3

pitag-ha opened this issue Mar 15, 2023 · 14 comments · Fixed by #7
Assignees
Labels
good first issue Good for newcomers

Comments

@pitag-ha
Copy link
Owner

cardio-crumble turns OCaml runtime events into MIDI notes on a given scale. Currently, we support four different scales: the major scale, the blue scale, (a very short beginning of) some overtones, and our famous experimental "nice" scale.

It would be nice to add support for a fifth scale. One possibility would be the minor scale.

@pitag-ha pitag-ha added the good first issue Good for newcomers label Mar 15, 2023
@AryanGodara
Copy link
Contributor

Hello @pitag-ha , I want to work on this issue (I'm from outreachy)
I have been learning ocaml recently, and working on an issue.
Could you please guide me on how to get started with this (setting up the repository locally, and what tools I need to install and get familiar with )

@Mojoeffect
Copy link

Hello @pitag-ha , I want to work on this issue (I'm from outreachy) I have been learning ocaml recently, and working on an issue. Could you please guide me on how to get started with this (setting up the repository locally, and what tools I need to install and get familiar with )

Hiii, I'm wondering if cloning the repository would be a good start
@pitag-ha

@AryanGodara
Copy link
Contributor

AryanGodara commented Mar 15, 2023

Hello @pitag-ha , I want to work on this issue (I'm from outreachy) I have been learning ocaml recently, and working on an issue. Could you please guide me on how to get started with this (setting up the repository locally, and what tools I need to install and get familiar with )

Hiii, I'm wondering if cloning the repository would be a good start @pitag-ha

Yes forking and cloning first. Just wanted some more info, like for ocaml-mbr, we had to setup ocaml-platform, mirage, etc. before starting workign on the issues (although I believe those were common for all ocaml software)

@abbysmal
Copy link
Collaborator

Hey @Mojoeffect , @AryanGodara !

The best way to setup would be to first ensure you have a properly setup OCaml 5.0 installation.
You can refer to https://ocaml.org/docs/up-and-running for this!

Then the README of the repository should contain all informations to get you started: https://github.com/pitag-ha/cardio-crumble#readme

Cheers,

@AryanGodara
Copy link
Contributor

Hey @Mojoeffect , @AryanGodara !

The best way to setup would be to first ensure you have a properly setup OCaml 5.0 installation. You can refer to https://ocaml.org/docs/up-and-running for this!

Then the README of the repository should contain all informations to get you started: https://github.com/pitag-ha/cardio-crumble#readme

Cheers,

@Engil Since mirageOS requireds OCaml-mbr 4.0 (Everything doesn't work with 5.0)
How do we work simultaneously with 2 versions of ocaml?
(Is this where Ocaml switch comes in?)
If so, how do we switch ocaml version when working on different repos locally

@abbysmal
Copy link
Collaborator

@AryanGodara cardio-crumble does not need any of the Mirage ecosystem.

OPAM have a notion of switch that allows you to juggle with different OCaml compiler versions.
For instance, if you use opam switch 5.0.0, if you previously ran opam switch create 5.0.0, you should get this answer:

engil@atelier cardio-crumble % opam switch 5.0.0
# Run eval $(opam env) to update the current shell environment

Then you can run the command as suggested

eval $(opam env)

And you would get a 5.0.0 OCaml switch.
You can check using ocaml --version

engil@atelier cardio-crumble % ocaml --version
The OCaml toplevel, version 5.0.0

@AryanGodara
Copy link
Contributor

@AryanGodara cardio-crumble does not need any of the Mirage ecosystem.

OPAM have a notion of switch that allows you to juggle with different OCaml compiler versions. For instance, if you use opam switch 5.0.0, if you previously ran opam switch create 5.0.0, you should get this answer:

engil@atelier cardio-crumble % opam switch 5.0.0
# Run eval $(opam env) to update the current shell environment

Then you can run the command as suggested

eval $(opam env)

And you would get a 5.0.0 OCaml switch. You can check using ocaml --version

engil@atelier cardio-crumble % ocaml --version
The OCaml toplevel, version 5.0.0

Thanks @Engil , this was really helpful!!

@Mojoeffect
Copy link

Hey @Mojoeffect , @AryanGodara !

The best way to setup would be to first ensure you have a properly setup OCaml 5.0 installation. You can refer to https://ocaml.org/docs/up-and-running for this!

Then the README of the repository should contain all informations to get you started: https://github.com/pitag-ha/cardio-crumble#readme

Cheers,

Okay thanks @Engil

@pitag-ha
Copy link
Owner Author

Hi all. Thanks a lot for the nice discussion between the three of you! It's a good point that you need to set up a new OCaml switch for this project if you've already worked on one of the other two MirageOs related Outreachy projects. We'll add a note about that to the tracking issue.

To separate things and avoid duplicating work, let's separate who works on what. I've just assigned you, @AryanGodara, to this issue and you, @Mojoeffect, to #5.

Please, don't hesitate to ask if you're stuck with anything, be it setting up the switch or approaching the issue!

@AryanGodara
Copy link
Contributor

Thanks for assigning me @pitag-ha , I'm starting with this right away and will ask here when I get stuck :)

@AryanGodara
Copy link
Contributor

I just set everything up, and tried playing around (literally xD) with different scales, and this is really beautiful!!
Really excited to add another scale to the list @pitag-ha !

@AryanGodara
Copy link
Contributor

@pitag-ha , There are 2 issues I noticed (till now) while working on this PR.

  1. The licence provided in bin/main.ml needs some formatting maybe. Output while running opam install . --deps-only -t
 warning 62: License doesn't adhere to the SPDX standard, see https://spdx.org/licenses/: "LICENSE"
  1. In bin/stat_engine.ml, L114-L118, module Stdlib.Domain may soon be deprecated and may need to be updated.

I'm sorry if these are wrong, wanted to ask you, if issues need to be opened for these?

@pitag-ha
Copy link
Owner Author

The licence

Tanks for the pointer! I'll add a license to cardio-crumble right now.

In bin/stat_engine.ml, L114-L118, module Stdlib.Domain, module Stdlib.Domain may soon be deprecated and may need to be updated.

Good to know. I'll look into it. It might be just a pointer about Domain being potentially unstable, or it might be something more serious. Thanks! Have you been able to build the project despite the warning?

@abbysmal
Copy link
Collaborator

In bin/stat_engine.ml, L114-L118, module Stdlib.Domain, module Stdlib.Domain may soon be deprecated and may need to be updated.

Good to know. I'll look into it. It might be just a pointer about Domain being potentially unstable, or it might be something more serious. Thanks! Have you been able to build the project despite the warning?

This is nothing too worrisome: the Domain API is indeed considered experimental and may change in the future.
Unlikely the very few parts we use are concerned. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants