Fév 25

SQL-Server-2012Une chose assez ennuyeuse dans SQL Server Management Studio (SSMS), c’est que la fonction de génération de scripts SQL n’inclut pas par défaut les index. Il y a probablement (enfin j’espère) une bonne raison derrière ce choix, mais il s’avère que dans la pratique, j’ai systématiquement besoin que ces index soient présents et je me suis fait avoir plusieurs fois, à me retrouver avec des soucis de performances suite à une livraison.

Ainsi, avec les options par défaut, les index (autres que les clés primaires, étrangères et index uniques) ne sont pas générés lorsqu’on demande la génération du script SQL pour la création d’une table.

Pour changer cela, il suffit d’aller dans les options de SSMS, qui permettent de choisir toutes les valeurs par défaut pour la génération de script :
Donc, dans SSMS, aller dans Tools –> Options –> SQL Server Object Explorer –> Scripting et positionner Script indexes à True.

options-scripting-sql-server

Source : Forum MSDN

Fév 18

Logo Visual StudioDans un précédent article, nous avons abordé la question de la transformation du fichier App.Config, en fonction de l’environnement cible.
Or généralement, la cible par défaut, Debug est uniquement utilisée pour le développement et utilise donc une configuration particulière qui ne doit pas forcément être publiée.

Ainsi, sur tous mes projets, je créé les cibles Recette, Qualif, Production (et autres, en fonction du besoin), tout en conservant les cibles existantes Debug et Release. La première étant la configuration utilisée pour le développement, la seconde étant rarement utilisée.
Le problème est donc qu’il arrive occasionnellement de lancer une publication sans avoir changé l’environnement cible, ce qui provoque la copie de paramètres de configuration de débogage sur un environnement ne correspondant pas à cette configuration.

Afin d’éviter de publier accidentellement en configuration Debug, il suffit d’ajouter les lignes suivantes à la fin du fichier *.csproj de votre projet principal (à ouvrir avec un éditeur texte), juste avant la balise de clôture </project> :

<Target Name="BeforePublish">
	<Error Condition="'$(Configuration)'=='Debug'" Text="Ce projet ne doit pas être publié en DEBUG. Choisissez l'environnement cible approprié." />
	<Error Condition="'$(Configuration)'=='Release'" Text="Ce projet ne doit pas être publié en RELEASE. Choisissez l'environnement cible approprié." />
</Target>

Cette modification va interrompre la publication si la configuration actuellement sélectionnée est Debug ou Release (car je ne l’utilise pas) en affichant le message spécifié.

Fév 10

Cet article est le dernier d’une courte série sur la communication entre Reaper et le POD HD500 :

Le but de cet article est de présenter comment contrôler les paramètres du POD HD500 de Line 6 via Reaper, notamment pour changer le preset courant.

 1. Collecte d’infos et configuration de Reaper

Nous allons commencer par configurer Reaper pour pouvoir envoyer des messages au POD :

  •  Tout d’abord, regarder quel canal est utilisé par le POD pour envoyer les messages MIDI : dans la configuration du POD (directement dans les menus de l’appareil car apparemment cette information n’est pas disponible dans HD500 Edit), il s’agit de l’écran 6 sur 10, MIDI Channel, sur mon appareil il est défini à 16.
  • Activer le POD HD500 comme pouvant recevoir des messages MIDI : Options -> Preferences -> Audio -> MIDI Devices -> Clic droit dans la partie MIDI output et sélectionner Enable output.

    Configuration du contrôleur MIDI

    Configuration du contrôleur MIDI

2. Envoyer des messages

  • Dans le projet audio de Reaper, insérer une nouvelle piste, nommée par exemple MIDI

    Nouvelle piste MIDI

    Nouvelle piste MIDI

  • Pour configurer le « routing », cliquer sur le bouton à coté du nom de la piste, libellé Sends, Receives, and Hardware Output Options
  • Dans la partie droite de la fenêtre Routing, MIDI hardware output, sélectionner l’interface MIDI (chez moi, elle s’appelle USB MIDI Interface) et sélectionner soit tous les canaux (Send to original channels), soit le canal du POD déterminé plus haut.

    Configuration du Routing

    Configuration du Routing

  • Sélectionner toute la piste (ou en tout cas, la partie qui veut utiliser les messages MIDI) et faire Insert -> New MIDI item. Il est également possible de créer un item MIDI pour chaque message que l’on veut envoyer. Cela dépend surtout du besoin.
  • Double-cliquer sur l’item MIDI que l’on souhaite modifier.
  • Il est possible de réduire la partie « piano » qui ne nous intéresse pas ici. La partie du bas de l’écran permet de configurer les messages MIDI à envoyer.

    L'écran d'édition MIDI

    L’écran d’édition MIDI

  • Dans la liste déroulante en haut à droite, sélectionner le canal MIDI du POD. Les champs à coté indiquent la valeur « MIDI » et la position « temporale » du curseur.
  • La liste déroulante en bas à gauche permet d’indiquer le type de message que l’on souhaite envoyer. Certains messages ont des libellés, il s’agit des actions « standard » (pour la plupart des appareils MIDI) associées à ces messages.
  • La documentation du POD (Appendix B) indique les messages à envoyer en fonction de l’action que l’on souhaite effectuer.
  • Ce qui nous intéresse ici, ce sont notamment les messages 51 correspondant au bouton FS1, 52 pour le bouton FS2, et ainsi de suite.
  • Dans mon cas, je veux juste changer de preset, donc je dois envoyer un message Program change avec une valeur correspondant au preset qui m’intéresse (de 0-63 pour les presets 01A à 16D) mais il y a essentiellement 2 cas possibles :
    • Cas 1 : utilisation des boutons FS1-FS4 pour activer / désactiver des effets, sans changement de preset donc :
      • Sélectionner le message 51 (pour FS1) et double-cliquer sur la mesure pour laquelle l’effet s’active.
      • Apparemment le POD ne réagit que si la valeur envoyée est 127, donc il faut sélectionner le signal que l’on vient d’ajouter et faire glisser la souris jusqu’en haut. Le champ texte à coté du numéro de canal doit indiquer 127.
      • Si l’effet doit être désactivé, double-cliquer à nouveau et positionner la valeur à 0.
    • Cas 2 (le mien) : changer de preset :
      Changements de banque configurés

      Changements de banque configurés

      • Sélectionner le message Bank / Program selection et double-cliquer à l’endroit où le message doit être envoyé.
      • Dans la fenêtre qui s’affiche :
        • Sélectionner le canal du POD déterminé précédemment (16 dans mon cas)
        • Dans le champ MSB, indiquer le numéro de la setlist (numérotées de 0 – pour setlist 1, à 7 – pour setlist 6, 6 dans mon cas)
        • Le champ LSB peut rester à 0
        • Indiquer le numéro du programme (il s’agit dans mon cas des presets 2A et 2B donc des programmes 4 et 5)

          Ecran de changement de programme

          Ecran de changement de programme

        • Il possible de tester que la configuration du message est correcte en cliquant sur le bouton Send Now

Quelques remarques :

  • Il est tout à fait possible d’envoyer plusieurs messages en parallèle. Pour cela, il suffit de cliquer sur le petit + à coté de la liste déroulante en bas à gauche. Cela permet d’ajouter un nouveau type de message dans le même item MIDI.
  • Il est également possible de contrôler la pédale. Le message 01 est utilisé pour cela. En cliquant et en gardant la souris enfoncée, il est possible d’appliquer des variations de niveau.

    Messages pour la pédale de volume

    Messages pour la pédale de volume

Fév 03

Cet article est le second d’une courte série sur la communication entre Reaper et le POD HD500 :

Le but de cet article est de présenter comment contrôler Reaper via le POD HD500 de Line 6, notamment pour lancer l’enregistrement et le déplacement dans le fichier audio.

1. Configuration du POD

Exemple de configuration MIDI

Exemple de configuration MIDI

A l’aide du logiciel POD HD500 Edit de Line 6, permettant de configurer le POD avec une interface plus user-friendly que l’édition directe sur l’appareil :

  • Accéder à onglet Controllers du patch que l’on souhaite utiliser,
  • Dans la section Midi assign,
  • Choisir le bouton via le sélecteur dans Footswitch/EXP, dans l’exemple FS1,
  • Choisir le canal dans Midi channel, dans l’exemple 01
  • Indiquer le type de message à envoyer dans Message, pour nous ce sera Note On
  • Indiquer la note à envoyer dans Note, ici C0 (un « Do » à l’octave 0)
  • Et positionner Velocity à la valeur maximum, à savoir 127

Avec cette configuration, chaque pression sur le bouton FS1 du POD va envoyer un message MIDI Note On avec comme note un C0 sur le canal 01.

2. Configuration de Reaper

Il s’agit là donc de configurer Reaper pour interpréter les messages envoyés par le POD via MIDI et effectuer des actions, notamment il s’agit ici de lancer l’enregistrement lorsque FS1 est enfoncé.

  • Activer le contrôleur midi : Options -> Preferences-> Audio -> MIDI Devices -> Clic droit dans la partie MIDI input et sélectionner Enable input & Enable input for control messages

    Activer le contrôleur MIDI

    Activer le contrôleur MIDI

  • Définir les actions à effectuer via l’écran Actions -> Show action list…

    L'écran "Action list"

    L’écran « Action list »

  • Utiliser le champ de filtre pour faciliter la recherche de l’action souhaitée et la sélectionner. Dans notre cas (l’enregistrement), il s’agit de rechercher l’action Record
  • Dans la partie Shortcuts for selected action, cliquer sur le bouton Add...

    Ajout d'un raccourci

    Ajout d’un raccourci pour l’action

  • Une fois l’écran d’ajout affiché, appuyer sur le bouton du POD correspondant (FS1 donc), le champ Shortcut va s’alimenter automatiquement avec les informations MIDI du bouton.

    Message MIDI du POD réceptionné

    Message MIDI du POD réceptionné

Pour des actions plus complexes lors de la réception d’un message, il est possible d’utiliser ReaScript, ce qui permet d’affecter des scripts avancés à des actions.
Cela permettrait par exemple d’utiliser le même bouton pour lancer l’enregistrement et l’arrêter (assigner à Transport : Record comme indiqué ci-dessus devrait suffire pour ces 2 actions, par contre l’enregistrement s’arrête bien mais pas la lecture – donc le curseur continue à se déplacer). On pourrait ainsi avoir plusieurs actions sur le même bouton, l’action à exécuter étant choisie en fonction du statut actuel de l’application.

Source: Vidéo de Line6Support sur Youtube

Jan 27

Cet article est le premier d’une courte série sur la communication entre Reaper et le POD HD500 :

1. Le besoin

CC by-sa 3.0 Wikipedia

CC by-sa 3.0 Wikipedia

Afin d’augmenter la qualité et la quantité de ma production de vidéos (qui laisse sérieusement à désirer ces derniers temps), j’ai décidé de changer un peu ma méthode d’enregistrement.
Jusqu’ici, j’essayais d’enregistrer l’intégralité de chaque partie en une seule prise, sans réelle assistance. Du coup, étant un poil perfectionniste, beaucoup d’enregistrements ne sont pas satisfaisants et ne se retrouvent jamais montés.

J’ai donc pris quelques décisions :

  • Jouer un peu plus sur le montage des vidéos, afin de me permettre de faire une partie en plusieurs prises. J’ai notamment quelques morceaux dans ma liste qui ont des sections beaucoup plus complexes que le reste (comme un solo), et donc que j’aimerais bien pouvoir enregistrer à part, histoire d’éviter d’avoir à tout ré-enregistrer si je me foire.
    Pour cela, il va falloir que je me penche un peu plus sur les fonctions du logiciel de montage et que je trouve des idées de découpage sympa. Il y a des chances pour que je m’inspire fortement des vidéos de NeoGeoFanatic qui fait toujours un super boulot sur le montage et les effets. Je vais également enregistrer devant un fond vert, afin d’avoir plus de souplesse pour le montage (ma dernière vidéo utilisant un fond vert rend plutôt bien je trouve).
    Ce découpage me permettra également d’enregistrer un même morceau sur plusieurs jours : je manque parfois de temps pour enregistrer l’intégralité de la vidéo dans la journée, de plus jusqu’à aujourd’hui j’étais dépendant de la lumière du jour. Or, grâce à l’utilisation d’un éclairage puissant de qualité correcte et le découpage des pistes, je peux enregistrer plus facilement quand je veux.
  • Automatiser au maximum le POD : je n’ai pas envie d’enregistrer la guitare directe (« dry ») pour appliquer les effets ensuite, car j’aime bien entendre le rendu « en direct », donc je dois changer les paramètres du POD pendant l’enregistrement. Or c’est généralement source d’erreur, de perte de concentration. Le fait d’enregistrer génère un stress particulier donc si je peux me concentrer sur le jeu, c’est mieux. Et autant en concert, ce n’est pas très grave de ne pas être pile synchro, autant sur un enregistrement, cela se remarque tout de suite.
    Ayant découvert récemment les capacités MIDI du POD et de mon DAW, je vais beaucoup plus m’appuyer dessus.

2. Reaper

Reaper est un logiciel de traitement audio puissant que j’utilise depuis peu.  Ce n’est pas le logiciel le plus utilisé au niveau professionnel (ce sont plutôt ProTools ou Cubase) mais il dispose d’un nombre de fonctionnalités hallucinant malgré tout et est très abordable (apparemment 10x moins cher que les deux autres cités ici car propose une licence pour les particuliers).
De plus j’aime beaucoup leur politique :

Honest Business Model
We offer a good product at a fair price. We don’t spend money and effort on marketing, complicated piracy protection, or other things that do not directly improve REAPER and the user experience. We think the good will generated by playing fair and being responsive to users is more valuable to our business than short-term profits.

Du coup, une version d’essai du logiciel est disponible, avec toutes les fonctionnalités et qui n’expire jamais. En gros, si vous le voulez, vous pouvez utiliser le logiciel à volonté, sans limite, gratuitement (mais c’est pas bien !). Bien entendu, c’est en espérant que vous trouverez ce logiciel tellement merveilleux que vous l’achèterez !
Et rien que pour cela, ça donne envie de le payer.

Alors bien sûr, initialement j’effectuais mes enregistrements sur Audacity qui reste un bon logiciel de traitement audio, mais j’avais besoin d’un outil qui soit plus adapté au mixage, plus souple, non-linéaire (NLE), non-destructif : malgré les modifications effectuées dans le logiciel sur l’audio, la source n’est jamais modifiée. Aucun risque de faire une fausse manipulation, d’oublier de faire un backup… De plus, les paramètres peuvent être changés en direct pendant la lecture, tout est visuel.

Mais la fonctionnalité qui m’intéresse le plus en ce moment dans Reaper, c’est la possibilité d’échanger des messages entre applications ou entre appareils via des messages MIDI, en particulier pour communiquer entre le POD HD500 et Reaper.

3. Le POD HD500

Je n’ai pas grand chose à présenter ici, il s’agit d’un pédalier d’effets produit par Line 6, qui s’intègre parfaitement avec ma Variax et que j’utilise depuis un petit moment maintenant, pour les répétitions, comme pour mes enregistrements.
Mais les possibilités de ce pédalier étant très étendues, je n’ai découvert que très récemment ses capacités MIDI, ce qui me permet de me lancer dans ce petit chantier d’automatisation !

Ainsi, dans les prochains articles (prévus pour les jours / semaines prochaines), je vais faire une petite présentation du résultat de mes recherches sur la communication entre Reaper et le POD HD. L’ensemble de ces techniques ayant déjà été testées et mises en oeuvre dans ma dernière vidéo !