public IList <Elemento> generarCompas(Compas compas, string tonalidad, int grado) { IList <Elemento> result = new List <Elemento>(); // generar el ritmo double longitudCompas = compas.getLongitud(); IList <BloqueRitmico> bloques = new List <BloqueRitmico>(); double longitud = 0; longitud = generarBloquesRitmicos(bloques, longitud, longitudCompas); if (longitud < longitudCompas) { throw new Exception("Con los bloques rítmicos disponibles no se puede rellenar el compás. With the rythm blocks available it is not possible to fill the measure"); } // generar la melodía IList <Nota> notasCandidatas = MusicUtils.obtenerNotas(tonalidad, grado, notasDisponibles); foreach (BloqueRitmico bloque in bloques) { string[] duraciones = bloque.getDuraciones(); foreach (string duracion in duraciones) { Nota notaCandidata = notasCandidatas[MusicUtils.rnd.Next(notasCandidatas.Count)]; Nota nota = new Nota(notaCandidata.getNombre(), notaCandidata.getOctava(), duracion); result.Add(nota); } } return(result); }
public void TestNotePlacement(int octave, int note) { var position = MusicUtils.GetNotePosition((NoteName)note, octave); var expectedPosition = (note - 1) + (octave - MusicUtils.ZERO_POINT_OCTAVE) * 7; Assert.That(position, Is.EqualTo(expectedPosition)); }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (!(holder is QueueItemHolder itemHolder)) { return; } var local = _songs[position]; itemHolder.Title.Text = local.Title; itemHolder.Artist.Text = local.ArtistName; if (MusicPlayer.GetCurrentAudioId() == local.Id) { itemHolder.Title.SetTextColor(new Color(MusicUtils.GetAccentColor(_context))); if (MusicPlayer.IsPlaying()) { itemHolder.Visualizer.SetColor(MusicUtils.GetAccentColor(_context)); itemHolder.Visualizer.Visibility = ViewStates.Visible; } } else { itemHolder.Title.SetTextColor(new Color(MusicUtils.GetTextColorPrimary(_context))); itemHolder.Visualizer.Visibility = ViewStates.Gone; } var builder = new DisplayImageOptions.Builder() .CacheInMemory(true) .ShowImageOnFail(Resource.Drawable.ic_empty_music2) .ResetViewBeforeLoading(true) .Build(); ImageLoader.Instance.DisplayImage(MusicUtils.GetAlbumArtUri(local.AlbumId).ToString(), itemHolder.AlbumArt, builder); itemHolder.PopupMenu.Click += (s, e) => OnPopupMenuClick(s, e, position); }
private void actualizarLongitud() { longitud = 0; foreach (string duracion in duraciones) { longitud += MusicUtils.calcularLongitud(duracion); } }
public Pentagrama(string tonalidad, string clave) { this.clave = clave; Configuracion cfg = Configuracion.obtenerConfiguracion(); // Leer el rango de notas string rango = "G".Equals(clave) ? cfg.pentagrama_rango_g : cfg.pentagrama_rango_f; string[] notas = rango.Split(','); if (notas.Length != 2) { throw new Exception("El rango de notas debe estar formado por dos notas. The range of notes must contain two notes"); } string notaIni = notas[0].Substring(0, 1); int octavaIni = int.Parse(notas[0].Substring(notas[0].Length - 1, 1)); string notaFin = notas[1].Substring(0, 1); int octavaFin = int.Parse(notas[1].Substring(notas[1].Length - 1, 1)); // calcular el número de notas int numNotas = MusicUtils.NOTAS.Count * (octavaFin - octavaIni + 1) - MusicUtils.NOTAS.IndexOf(notaIni) - (MusicUtils.NOTAS.Count - 1 - MusicUtils.NOTAS.IndexOf(notaFin)); notasDisponibles = new Nota[numNotas]; int idxNota = 0; for (int octava = octavaIni; octava <= octavaFin; octava++) { int idxNotaInicio = 0; int idxNotaFin = MusicUtils.NOTAS.Count - 1; if (octava == octavaIni) { idxNotaInicio = MusicUtils.NOTAS.IndexOf(notaIni); } if (octava == octavaFin) { idxNotaFin = MusicUtils.NOTAS.IndexOf(notaFin); } for (int i = idxNotaInicio; i <= idxNotaFin; i++) { notasDisponibles[idxNota] = new Nota(MusicUtils.NOTAS[i], octava, null); idxNota++; } } MusicUtils.aplicarAlteraciones(tonalidad, notasDisponibles); // Bloques rítmicos a utilizar string sRitmos = "G".Equals(clave) ? cfg.bloques_ritmicos_g : cfg.bloques_ritmicos_f; string[] sListaRimtos = sRitmos.Split(','); bloquesRitmicosDisponibles = new BloqueRitmico[sListaRimtos.Length]; for (int i = 0; i < sListaRimtos.Length; i++) { string[] duraciones = sListaRimtos[i].Split('+'); bloquesRitmicosDisponibles[i] = new BloqueRitmico(duraciones); } }
private void SeekTo(int seek) { try { int totalDuration = Constant.MediaPlayer.Duration; int currentPosition = MusicUtils.ProgressToTimer(seek, totalDuration); // forward or backward to certain seconds Constant.MediaPlayer.SeekTo(currentPosition); } catch (Exception e) { Console.WriteLine(e); } }
public MainWindow() { InitializeComponent(); if ((int)Process.GetProcessesByName("CortanaViewer").Length >= 2) { System.Windows.Application.Current.Shutdown(); return; } performanceUtils = new PerformanceUtils(); //networkUtils = new NetworkUtils("Intel[R] Dual Band Wireless-AC 3165"); networkUtils = new NetworkUtils(); musicUtils = new MusicUtils(); init(); }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (!(holder is AlbumItemHolder itemHolder)) { return; } var localAlbum = _albums[position]; _itemHolder = itemHolder; itemHolder.Title.Text = localAlbum.Title; itemHolder.Artist.Text = localAlbum.ArtistName; ImageLoader.Instance.DisplayImage(MusicUtils.GetAlbumArtUri(localAlbum.Id).ToString(), itemHolder.AlbumArt, new DisplayImageOptions.Builder().CacheInMemory(true) .ShowImageOnFail(Resource.Drawable.ic_empty_music2) .ResetViewBeforeLoading(true) .Displayer(new FadeInBitmapDisplayer(400)) .Build(), new ImageLoadingListener() { LoadingComplete = (loadedImage) => { if (_isGrid) { new Palette.Builder(loadedImage).Generate(this); } }, LoadingFailed = () => { if (_isGrid) { itemHolder.Footer.SetBackgroundColor(Color.White); if (_context != null) { var textColor = new Color(MusicUtils.GetTextColorPrimary(_context)); itemHolder.Title.SetTextColor(textColor); itemHolder.Artist.SetTextColor(textColor); } } } } ); }
public void OnGenerated(Palette palette) { var swatch = palette.VibrantSwatch; Color textColor = Color.White; Color backgoundColor = Color.Black; if (swatch != null) { backgoundColor = new Color(swatch.Rgb); } else { swatch = palette.MutedSwatch; backgoundColor = new Color(swatch.Rgb); } _itemHolder.Footer.SetBackgroundColor(backgoundColor); textColor = MusicUtils.GetSuitableTextColor(backgoundColor); _itemHolder.Title.SetTextColor(textColor); _itemHolder.Artist.SetTextColor(textColor); }
private void OnPopupMenuClick(object sender, EventArgs e, int pos) { var menu = new Android.Widget.PopupMenu(_context, (View)sender); menu.MenuItemClick += (s, args) => { switch (args.Item.ItemId) { case Resource.Id.popup_song_play: { MusicPlayer.PlayAll(_context, GetSongIds(), pos, -1, MusicUtils.SourceTypeId.NA, false); break; } case Resource.Id.popup_song_goto_album: { NavigationUtils.GoToAlbum(_context, _songs[pos].AlbumId); break; } case Resource.Id.popup_song_goto_artist: { NavigationUtils.GoToArtist(_context, _songs[pos].ArtistId); break; } case Resource.Id.popup_song_addto_playlist: { // TODO: Create add to dialog AddPlaylistDialog.GetInstance(_songs[pos]).Show(((AppCompatActivity)_context).SupportFragmentManager, "Add to playlist"); // not finish break; } case Resource.Id.popup_song_delete: { MusicUtils.ShowDeleteSongDialog(_context, new long[] { _songs[pos].Id }); break; } } }; }
private void SeekTo(long seek) { try { var totalDuration = Constant.Player.Duration; var currentPosition = MusicUtils.ProgressToTimer(seek, totalDuration); // forward or backward to certain seconds Constant.Player.SeekTo(currentPosition); GlobalContext?.SoundController?.SeekUpdate(); if (Constant.IsPlayed && !Constant.Player.PlayWhenReady) { Constant.Player.PlayWhenReady = true; } } catch (Exception e) { Console.WriteLine(e); } }
private IEnumerator CompletePairFound() { Debug.Log("Complete pair found..."); CardsLeft -= 2; Debug.Log(CardsLeft); if (CardsLeft <= 0) { Debug.Log("Start new"); game.GameCompleted(); GameObject gObject = GameObject.Find("BackgroundMusic"); yield return(StartCoroutine(MusicUtils.ToggleBackgroundMusic(gObject, true))); var sound = GetComponent <AudioSource>(); if (sound != null) { sound.Play(); } var popups = GameObject.Find("Popups"); if (popups != null) { var animator = popups.GetComponent <Animator>(); animator.SetBool("ShowGameOver", true); } yield return(new WaitForSeconds(4.25f)); yield return(StartCoroutine(MusicUtils.ToggleBackgroundMusic(gObject, false))); } game.IsBusy = false; }
public TimingPoint(float bpm, float offset) { Bpm = bpm; Offset = offset; BpmOffset = MusicUtils.ToMsOffset(bpm); }
private void actualizarLongitud() { if (duracion == null) longitud = 0; else longitud += MusicUtils.calcularLongitud(duracion); }
// Onclick Pop Up menu public void OnClick(View v, int pos) { var menu = new PopupMenu(_context, v); menu.MenuItemClick += (s, arg) => { switch (arg.Item.ItemId) { case Resource.Id.popup_song_remove_playlist: { MusicUtils.RemoveFromPlaylist(_context, _songs[pos].Id, _playlistId); _songs.RemoveAt(pos); NotifyItemRemoved(pos); break; } case Resource.Id.popup_song_play: { MusicPlayer.PlayAll(_context, _songIds, pos, -1, MusicUtils.SourceTypeId.NA, false); break; } case Resource.Id.popup_song_play_next: { MusicPlayer.PlayNext(_context, new long[] { _songs[pos].Id }, -1, MusicUtils.SourceTypeId.NA); break; } case Resource.Id.popup_song_goto_album: { NavigationUtils.GoToAlbum(_context, _songs[pos].AlbumId); break; } case Resource.Id.popup_song_goto_artist: { NavigationUtils.GoToArtist(_context, _songs[pos].ArtistId); break; } case Resource.Id.popup_song_addto_queue: { MusicPlayer.AddToQueue(_context, new long[] { _songs[pos].Id }, -1, MusicUtils.SourceTypeId.NA); break; } case Resource.Id.popup_song_addto_playlist: { // TODO: Create add to dialog AddPlaylistDialog.GetInstance(_songs[pos]).Show(_context.SupportFragmentManager, "Add to playlist"); // not finish break; } case Resource.Id.popup_song_share: { MusicUtils.ShareSong(_context, _songs[pos].Id); break; } case Resource.Id.popup_song_delete: { MusicUtils.ShowDeleteSongDialog(_context, new long[] { _songs[pos].Id }); break; } default: break; } }; menu.Inflate(Resource.Menu.popup_song); menu.Show(); if (_isPlaylist) { menu.Menu.FindItem(Resource.Id.popup_song_remove_playlist).SetVisible(true); } }